H264 编码详解
来源:互联网 发布:淘宝皮质特征 编辑:程序博客网 时间:2024/04/28 05:06
http://blog.sina.com.cn/s/blog_6c7b28cd0100tupj.html
(1)
作用: 对编码器进行参数设定
cqm:量化表相关信息
(2)staticint
1.
2.
(3) staticint
h->param=param
vui信息主要包括帧率、图像尺寸等信息
x264_sps_init(h->sps, 0, &h->param);
x264_pps_init(h->pps, 0, &h->param,h->sps);
3. i_file += Encode_frame( h, opt->hout,&pic );进入核码层
核心编码层的总流程图:(x264.c)
1.
2.
网络打包编码
3.
把网络包写入到输出文件中去
4.
一.帧内详细流程图:
1.
1.
x264_frame_copy_picture( h, fenc, pic_in );
fenc->i_frame =h->frames.i_input++;
x264_frame_put( h->frames.next, fenc );
x264_frame_init_lowres( h->param.cpu, fenc);//里面包含低象素的扩展,很多for循环,应该是抽头计算和半精度象素的扩展,要认真看
2.
3.
bframes++;
x264_frame_put(h->frames.current,x264_frame_get(&h->frames.next[bframes] ));这主要是因为B帧必须等后面的非B帧编码结束后才能编码,所以把暂时不编的一系列B帧存入队列中,一直到非B帧才取出进行编码,之后再进行前面的B帧编码
do_encode:
4.
x264_ratecontrol_start(h, i_slice_type,h->fenc->i_qpplus1 );
5.
x264_slice_init( h, i_nal_type, i_slice_type, i_global_qp );
6
1.
2.
3.
4.
5.
a.
这边好像如果是直流分量在这里就进行量化ZIGZAG扫描了,不用等到x264_macroblock_encode( h)再完成了
b.
6.
a.
b.
ZIGZAG的实现不明白(原来ZIGZAG有宏定义,在上面,现在明白了),反量化和IDCT的过程跟不进去,应该是汇编了!函数如下:(I 4×4 中 x264_mb_encode_i4x4( h, i, i_qp );)
x264_mb_dequant_4x4( dct4x4,h->dequant4_mf[CQM_4IY], i_qscale );
h->dctf.add4x4_idct( p_dst, i_stride, dct4x4);
还有,这个函数跟踪不进去,应该是重构图像的反变换吧
h->dctf.add4x4_idct( p_dst, i_stride, dct4x4);
h->mb.cache.intra4x4_pred_mode[x264_scan8[i]]=x264_mb_pred_mode4x4_fix(i_mode);这个值到底是怎么根据前面的模式改变的,可能是上面两个函数没能更进去所以模糊
c.
x264_mb_encode_8x8_chroma( h, !IS_INTRA(h->mb.i_type ), i_qp );里面对两个色度信号分别编码,与亮度信号类似
d.
e.利用CBP判断要不要SKIP.,里面还关系到向量预测,明天好好看一下。
h->mb.qp[h->mb.i_mb_xy] =h->mb.i_last_qp;这个为读下一个
关于CBP的理解还存在问题,他的8位比特各个代表的意思还不是十分明确,反正是对DC,AC的编码的选择。185页有介绍(新一代视频压缩标准毕厚杰)
7.
CABAC的原理实现没仔细看
8.
9.
- H264 编码详解
- H264 编码详解
- h264 cabac编码详解
- H264 编码详解(转)
- H264--4--H264编码
- H264--4--H264编码
- H264--H264编码--4
- H264--H264编码--4
- H264--4--H264编码
- H264--4--H264编码
- H264--H264编码--4
- H264编码
- H264编码
- H264编码原理以及I、P、B帧详解
- AVC/H264编码教程
- AVC/H264编码教程
- AVC/H264编码教程
- S3C6410 MFC H264 编码
- Web服务器性能测试介绍
- 【Hadoop】MapReduce Job Submission Files
- POJ 1019 Number Sequence
- POJ 2117 Electricity
- 【COCOS2DX-ANDROID-游戏开发之十二】Android平台第三方应用分享到微信开发
- H264 编码详解
- 《北漂,2013好好混》---这是我最近读过的最有感触的文章了,希望大伙都看看!
- java接口
- adb配置
- 自助订餐系统
- 初始化
- 没有硬编码,挺不错的二级联动单选框的源代码
- DOM4J解析xml字符串
- iBATIS自动生成主键(oracle,sqlserver,mysql)