每一个流程前边列出了该流程出处,我只针对自己认为比.ppt

每一个流程前边列出了该流程出处,我只针对自己认为比.ppt

ID:59182943

大小:102.00 KB

页数:19页

时间:2020-09-22

每一个流程前边列出了该流程出处,我只针对自己认为比.ppt_第1页
每一个流程前边列出了该流程出处,我只针对自己认为比.ppt_第2页
每一个流程前边列出了该流程出处,我只针对自己认为比.ppt_第3页
每一个流程前边列出了该流程出处,我只针对自己认为比.ppt_第4页
每一个流程前边列出了该流程出处,我只针对自己认为比.ppt_第5页
资源描述:

《每一个流程前边列出了该流程出处,我只针对自己认为比.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、谢谢你:我只对编码部分整体的看了一边,理解很浅显,希望你看完之后能够帮我指正一下。每一个流程前边列出了该流程的出处,我只针对自己认为比较复杂的函数画出了流程图。问题:我感觉虽然做的是框架的工作,但是对x264的整体把握的并不好,不知道问题出在哪里?有什么可以加深理解的办法呢?我得目标是针对具体的某一块的算法进行优化,我想先要把整个程序的所有细节实现都看的比较明白了以后在开始进行优化,不知道是否可行。还有你建议从哪里切入开始看细节部分呢?我是不是对标准的理解还不够深入,在看程序的时候返回去查看标准的时候应

2、该看哪一个文档比较好呢?是H.264_Prepublish_0503.doc么?谢谢目前就这些问题了,你有时间的话帮我看看吧!x264_param_default设置默认参数读取命令行并分析Parse编码EncodeX264.c:mainX264.c:Encode得到总帧数p_get_frame_total初始化编码器x264_encoder_open为新图分配空间x264_picture_alloc对帧编码Encodeframe延迟的B帧更新,清理图片区,关闭解码器,关闭输入输出文件设置输出文件参数p

3、_set_outfile_paramX264:Encode_Frames不强制任何参数调用x264_encoder_encode进行编码编码NAL层x264_nal_encodep_write_nalu写入图片结束Encoder.c:x264_encoder_encode将图片copy到一帧中去并且移动到一个缓冲器选择帧类型移动一些B帧和一个非B帧到编码队列中去获得要被编码的帧编码Doencode更新编码器状态计算和打印统计值判断是否存放重建的帧设置输出图片属性Encoder.c:doencode设置帧

4、上下文(初始化帧类型)初始化(参考列表,bit率控制)创建切片头部写入bit流:初始化bit流上下文->写入序列参数信号和图片参数信号->写入切片数据(x264_slice_write)->bit流结束,设置输出。Encoder.c:x264_slice_write初始化状态参数NAL单元开始写切片头部如果是cabac编码初始化上下文以及编码器编码开始装载缓冲区分析宏块参数x264_macroblock_analyse宏块编码x264_macroblock_encode是否为跳过宏块是进行相关处理否是否

5、为cabac编码是否写入cavlc编码x264_macroblock_write_cavlc写入结束保存缓冲区数据编码结束(cabac或者cavlc)NAL单元编码结束End写入cabac编码x264_macroblock_write_cabac设置QP并且避免QP变化太快对分析进行初始化判断切片类型B分析开始进行帧内模式分析比较16*16和4*4子块模式IPP切片分析B切片分析从分析中更新宏块宏块分析结束Analysis.c:x264_macroblock_analyseP检查是否为跳过P宏块是否相关

6、处理分析加载花费分析帧间16*16模式是否为16*16子块模式是否分析帧间P模式8*8子块选择最好的帧间模式检测到16*16子块信号并且帧内8*8花费小于16*16运动估计花费P切片分析分析帧间8*8子块是否分析帧间16*8/8*16子块进行1/4象素加工最佳帧内宏块模式分析,并对色度和亮度成分分别附值P切片分析结束B切片分析判断是否为直接模式是否进行相关处理判断是否为skip模式否是分析加载花费,直接模式和帧间16*16模式是否收到16*16子块信号分析帧内8*8,8*16,16*8子块否加工1/4象

7、素精度最佳帧内宏块模式分析B切片分析结束Macroblock.c:x264_macroblock_encode判断是否为跳过P宏块是x264_macroblock_encode_pskip(h)否判断是否为跳过B宏块是x264_macroblock_encode_skip(h)否量化缩放判断宏块类型I16*16x264_mb_encode_i16x16x264_mb_encode_i4x4InterMBI4*4运动补偿x264_mb_mc16×16DCT变换分别对每一个4×4块量化和z扫描以及对每一个8

8、×8的块进行化简色度编码开始量化放缩判断是否为skip模式,并进行相关处理x264_mb_encode_8x8计算亮度色度句型,以及非零计数存储cbp:coded_block_pattern检查P/B跳过情况,进行相应处理色度编码结束宏块编码结束Encoder.c:x264_mb_encode_i16x16读取h->mb.pic.p_fenc[0]中的数据,对其进行16*16dct变换,系数存放在一个三维数组(17*4*4)里边,的dct[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。