openh264编码器执行过程

openh264中主要的编码过程在函数WelsEncoderEncodeExt中,这个函数主要调用以下几个:
BuildSpatialPicList (pCtx, pSrcPic):确定空间层数,如果是多层,则进行下采样确定每层的像素值。
PrepareEncodeFrame (pCtx, pLayerBsInfo, iSpatialNum, iCurDid, iCurTid, iLayerNum, iFrameSize, pFbi->uiTimeStamp):确定帧类型,这里只有IDR帧和P帧、Skip帧类型。‘
InitFrameCoding (pCtx, eFrameType, iCurDid):确定编码帧的POC、FrameNum和frameIndex.
WelsInitCurrentLayer (pCtx, iCurWidth, iCurHeight):初始化当前层的数据。
MarkPic():对参考图像进行标记。
BuildRefList (pParamInternal->iPOC, 0):创建参考图像列表。
PrefetchReferencePicture (pCtx, eFrameType):确定参考图像,由于重排序,这里的参考图像总是取参考图像列表中的第一个。
pfRc.pfWelsRcPictureInit (pCtx, pFbi->uiTimeStamp):这是个函数指针,具体取哪个函数根据RCMode来确定,确定QP和目标比特。
WelsCodeOneSlice (pCtx, pCurSlice, eNalType):真正的编码从这里开始。
UpdateRefList():更新参考图像列表。
WelsEncoderEncodeExt函数前面的调用过程如下:
在这里插入图片描述

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenH264 是思科公司发布的一个开源的 H.264 编码和解码器。编码器特性Constrained Baseline Profile up to Level 5.2 (4096x2304)Arbitrary resolution, not constrained to multiples of 16x16Rate control with adaptive quantization, or constant quantizationSlice options: 1 slice per frame, N slices per frame, N macroblocks per slice, or N bytes per sliceMultiple threads automatically used for multiple slicesTemporal scalability up to 4 layers in a dyadic hierarchySpatial simulcast up to 4 resolutions from a single inputLong Term Reference (LTR) framesMemory Management Control Operation (MMCO)Reference picture list modificationSingle reference frame for inter predictionMultiple reference frames when using LTR and/or 3-4 temporal layersPeriodic and on-demand Instantaneous Decoder Refresh (IDR) frame insertionDynamic changes to bit rate, frame rate, and resolutionAnnex B byte stream outputYUV 4:2:0 planar input解码器特性Constrained Baseline Profile up to Level 5.2 (4096x2304)Arbitrary resolution, not constrained to multiples of 16x16Single thread for all slicesLong Term Reference (LTR) framesMemory Management Control Operation (MMCO)Reference picture list modificationMultiple reference frames when specified in Sequence Parameter Set (SPS)Annex B byte stream inputYUV 4:2:0 planar output支持的操作系统Windows 64-bit and 32-bit (initial release is only 32-bit, 64-bit will follow soon)Mac OS X 64-bit (initial release does not include this target, will follow soon)Linux 64-bit and 32-bit (initial release is only 32-bit, 64-bit will follow soon)Android 32-bit (initial release does not include this target, will follow soon)iOS 64-bit and 32-bit (not supported yet, may be added in the future)支持的处理器Intel x86 optionally with MMX/SSE (no AVX yet, help is welcome)ARMv7 optionally with NEON (initial release does not include this target, will follow later)Any architecture using C/C fallback functions 标签:OpenH264
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值