谢谢你我只对编码部分整体的看了一边,理解很浅显,希望.pptVIP

谢谢你我只对编码部分整体的看了一边,理解很浅显,希望.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
谢谢你我只对编码部分整体的看了一边,理解很浅显,希望

* 谢谢你: 我只对编码部分整体的看了一边,理解很浅显,希望你看完之后能够帮我指正一下。 每一个流程前边列出了该流程的出处,我只针对自己认为比较复杂的函数画出了流程图。 问题: 我感觉虽然做的是框架的工作,但是对x264的整体把握的并不好,不知道问题出在哪里? 有什么可以加深理解的办法呢? 我得目标是针对具体的某一块的算法进行优化,我想先要把整个程序的所有细节实现都看的比较明白了 以后在开始进行优化,不知道是否可行。还有你建议从哪里切入开始看细节部分呢?我是不是对标准的理解 还不够深入,在看程序的时候返回去查看标准的时候应该看哪一个文档比较好呢?是H.264_Prepublish_0503.doc么? 谢谢目前就这些问题了,你有时间的话帮我看看 吧! x264_param_default 设置默认参数 读取命令行并分析 Parse 编码Encode X264.c: main X264.c:Encode 得到总帧数 p_get_frame_total 初始化编码器 x264_encoder_open 为新图分配空间 x264_picture_alloc 对帧编码 Encode frame 延迟的B帧 更新,清理图片区, 关闭解码器,关闭输入输出文件 设置输出文件参数 p_set_outfile_param X264:Encode_Frames 不强制任何参数 调用 x264_encoder_encode 进行编码 编码NAL层 x264_nal_encode p_write_nalu 写入 图片结束 Encoder.c: x264_encoder_encode 将图片copy到一帧 中去并且移动到一个 缓冲器 选择帧类型 移动一些B 帧 和一个非B帧到编 码队列中去 获得要被编码 的帧 编码 Do encode 更新编码器状态 计算和打印 统计值 判断是否存放 重建的帧 设置输出 图片属性 Encoder.c: do encode 设置帧上下文 (初始化帧类型) 初始化 (参考列表,bit率控制) 创建切片头部 写入bit流:初始化bit流上下文 -写入序列参数信号和图片 参数信号-写入切片数据 (x264_slice_write)-bit流 结束,设置输出。 Encoder.c: x264_slice_write 初始化状态参数 NAL单元开始 写切片头部 如果是cabac编码 初始化上下文以及编码器 编码开始 装载缓冲区 分析宏块参数 x264_macroblock_analyse 宏块编码 x264_macroblock_encode 是否为 跳过宏块 是 进行相关处理 否 是否为 cabac编码 是 否 写入cavlc编码 x264_macroblock_write_cavlc 写入结束 保存缓冲区数据 编码结束(cabac或者cavlc) NAL单元编码结束 End 写入cabac编码 x264_macroblock _write_cabac 设置QP 并且避免QP变化太快 对分析进行初始化 判断切片类型 B 分析开始 进行帧内模式分析 比较16*16和4*4 子块模式 I P P切片分析 B切片分析 从分析中更新 宏块 宏块分析结束 Analysis.c : x264_macroblock_analyse P 检查是否为 跳过P宏块 是 否 相关处理 分析加载花费 分析帧间 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象素精度 最佳帧内宏块 模式分析 B切片 分析结束 Macroblock.c: x264_macroblock_encode 判断是否为 跳过P宏块 是 x264_macroblock_ encode_pskip( h ) 否 判断是否为 跳过B宏块 是 x264_macroblock_ encode_skip( h ) 否 量化缩放 判断宏块类型 I 16*16 x264_mb_encode _i16x16 x264_mb_encode _i4x4

您可能关注的文档

文档评论(0)

zhaoxiaoj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档