电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

H.264代码详解全过程

H.264代码详解全过程_第1页
1/31
H.264代码详解全过程_第2页
2/31
H.264代码详解全过程_第3页
3/31
x264 源代码解析 x264 编码详细文字全过程 (1) x264_param_default( x264_param_t *param ) 作用: 对编码器进行参数设定 cqm: 量化表相关信息 csp: 量化表相关信息里的memset( param->cqm_4iy, 16, 16 ); memset( param->cqm_4ic, 16, 16 ); memset( param->cqm_4py, 16, 16 ); memset( param->cqm_4pc, 16, 16 ); memset( param->cqm_8iy, 16, 64 ); memset( param->cqm_8py, 16, 64 ); (2)static int Parse( int argc, char **argv, x264_param_t *param, cli_opt_t *opt ) 初始化 1. getopt_long(nargc, nargv, options, long_options, idx) 得到入口地址的向量与方式的选则 2. getopt_internal(nargc, nargv, options) 解析入口地址向量 (3) static int Encode( x264_param_t *param, cli_opt_t *opt ) h->param=param vui 信息主要包括帧率、图像尺寸等信息 x264_sps_init( h->sps, 0, &h->param );序列图像集 x264_pps_init( h->pps, 0, &h->param, h->sps);图像参数集 初始化并开辟帧空间 对前一宏块的信息保存,因为是初始化,所以作为第一个宏块的参考,后面会有x264_macroblock_cache_load( h, i_mb_x, i_mb_y );它是将要编码的宏块的周围的宏块的值读进来, 要想得到当前块的预测值,要先知道上面,左面的预测值 初始化cpu 对各种分块的参数设定 1. x264_t *x264_encoder_open ( x264_param_t *param ) 这个函数是对不正确的参数进行修改,并对各结构体参数和 cabac 编码,预测等需要的参数进行初始化 2、p_read_frame( &pic, opt->hin, i_frame + opt->i_seek, param->i_width, param->i_height ) 读取一帧,并把这帧设为 prev 3. i_file += Encode_frame( h, opt->hout, &pic );进入核心码层 核 心编码层的总流程图:(x264.c) 1. x264_encoder_encode( h, &nal, &i_nal, pic, &pic_out )对帧进行编码 2. i_size = x264_nal_encode( data, &i_data, 1, &nal[i] ) 网络打包编码 3. i_file += p_write_nalu( hout, data, i_size ) 把网络包写入到输出文件中去 4. 返回,对下一帧进行编码 下面一页是详细的流程图: 一.帧内详细流程图: (1). x264_encoder_encode( h, &nal, &i_nal, pic, &pic_out )对帧进行编码 1. x264_frame_t*fen...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

H.264代码详解全过程

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部