openH264解码流程

来源:互联网 发布:网络发帖 编辑:程序博客网 时间:2024/06/05 09:16

openH264解码流程

之前项目中用过openH264进行解码,本文介绍一下解码流程,算是对之前项目的一个总结。

同openH264编码一样,openH264的解码流程也主要分为3步:
1:创建解码器。

int result = WelsCreateDecoder(&decoder);

同样可以通过判断返回值来判断解码器是否创建成功。
2:初始化解码器。

memset (&pParam, 0, sizeof (SDecodingParam));pParam.uiTargetDqLayer = UCHAR_MAX;pParam.eEcActiveIdc = ERROR_CON_FRAME_COPY_CROSS_IDR;pParam.sVideoProperty.eVideoBsType = VIDEO_BITSTREAM_DEFAULT;result = decoder->Initialize(&pParam);

3:调用解码器开始解码。

int stride[2] = {videoWidth, videoWidth/2};uint8_t* dst[3];memset (dst, 0, sizeof (dst));int result = decoder->DecodeFrame((const unsigned char*)src, length, dst, stride, videoWidth, videoHeight);

解码后的数据存储在dst中,格式为YUV420P,如果需要其他格式的话,要进行格式转换。

0 0
原创粉丝点击