x264学习笔记1.doc_第1页
x264学习笔记1.doc_第2页
x264学习笔记1.doc_第3页
x264学习笔记1.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

X264编码流程参数的初始化1.opt,param根据输入的参数和标准的规定,进行初始化设置。Opt的说明如下:Opt-hin用于给出读入的yuv文件的指针地址Opt-hout给出了输出的文件的指针地址Opt-i_seek给出了起始编码帧的帧数,是由编码时的seek命令参数决定的如:X264 -seek 10 -o foreman.cif test.264 352x288i_seek 设为10,表示起始编码的帧为元序列的第十帧Opt-qpfile按照说明,为qp值文件输入进行定义这种方式的接口,可以通过读入标准的文件格式,对编码时的qp值进行定义。Param的说明:typedef struct /* CPU flags */ unsigned int cpu; int i_threads; /* divide each frame into multiple slices, encode in parallel */线程数,用于多线程并行编码 /* Video Properties */ int i_width; 图像的宽度 int i_height; 图像的高度 int i_csp; /* CSP of encoded bitstream, only i420 supported */ 色彩空间的设置 int i_level_idc; level值的设置 int i_frame_total; /* number of frames to encode if known, else 0 */ 总共需要编码的帧数,由-frames设置Vui参数集 struct /* they will be reduced to be 0 x i_fps_num, &p-i_fps_den ) = 2 ) ; else if( sscanf( value, %f, &fps ) ) p-i_fps_num = (int)(fps * 1000 + .5); p-i_fps_den = 1000; else b_error = 1; Value的值就是fps。 /* Bitstream parameters */ int i_frame_reference; /* Maximum number of reference frames */ int i_keyint_max; /* Force an IDR keyframe at this interval */ int i_keyint_min; /* Scenecuts closer together than this are coded as I, not IDR. */ int i_scenecut_threshold; /* how aggressively to insert extra I frames */ int i_bframe; /* how many b-frame between 2 references pictures */ int b_bframe_adaptive; int i_bframe_bias; int b_bframe_pyramid; /* Keep some B-frames as references */去块滤波器需要的参数 int b_deblocking_filter; int i_deblocking_filter_alphac0; /* -6, 6 -6 light filter, 6 strong */ int i_deblocking_filter_beta; /* -6, 6 idem */熵编码 int b_cabac; int i_cabac_init_idc;量化 int i_cqm_preset; char *psz_cqm_file; /* JM format */ uint8_t cqm_4iy16; /* used only if i_cqm_preset = X264_CQM_CUSTOM */ uint8_t cqm_4ic16; uint8_t cqm_4py16; uint8_t cqm_4pc16; uint8_t cqm_8iy64; uint8_t cqm_8py64; /* Log */ void (*pf_log)( void *, int i_level, const char *psz, va_list ); void *p_log_private; int i_log_level; int b_visualize; /* Encoder analyser parameters */ struct unsigned int intra; /* intra partitions */ unsigned int inter; /* inter partitions */ int b_transform_8x8; int b_weighted_bipred; /* implicit weighting for B-frames */ int i_direct_mv_pred; /* spatial vs temporal mv prediction */ int i_chroma_qp_offset; int i_me_method; /* motion estimation algorithm to use (X264_ME_*) */ int i_me_range; /* integer pixel motion estimation search range (from predicted mv) */ int i_mv_range; /* maximum length of a mv (in pixels) */ int i_subpel_refine; /* subpixel motion estimation quality */ int b_bidir_me; /* jointly optimize both MVs in B-frames */ int b_chroma_me; /* chroma ME for subpel and mode decision in P-frames */ int b_bframe_rdo; /* RD based mode decision for B-frames */ int b_mixed_references; /* allow each mb partition in P-frames to have its own reference number */ int i_trellis; /* trellis RD quantization */ int b_fast_pskip; /* early SKIP detection on P-frames */ int b_dct_decimate; /* transform coefficient thresholding on P-frames */ int i_noise_reduction; /* adaptive pseudo-deadzone */ int b_psnr; /* Do we compute PSNR stats (save a few % of cpu) */ analyse; /* Rate control parameters */ struct int i_rc_method; /* X264_RC_* */ int i_qp_constant; /* 0-51 */ int i_qp_min; /* min allowed QP value */ int i_qp_max; /* max allowed QP value */ int i_qp_step; /* max QP step between frames */ int i_bitrate; 比特率 -bitrate控制 int i_rf_constant; /* 1pass VBR, nominal QP */ float f_rate_tolerance; int i_vbv_max_bitrate; int i_vbv_buffer_size; float f_vbv_buffer_init; float f_ip_factor; float f_pb_factor; /* 2pass */ int b_stat_write; /* Enable stat writing in psz_stat_out */ char *psz_stat_out; int b_stat_read; /* Read stat from psz_stat_in and use it */ char *psz_stat_in; /* 2pass params (same as ffmpeg ones) */ char *psz_rc_eq; /* 2 pass rate control equation */ float f_qcompress; /* 0.0 = cbr, 1.0 = constant qp */ float f_qblur; /* temporally blur quants */ float f_complexity_blur; /* temporally blur complexity */ x264_zone_t *zones; /* ratecontrol overrides */ int i_zones; /* sumber of zone_ts */ char *psz_zones; /* alternate method of

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论