h->fdec->i_poc =
h->fenc->i_poc = 2 * (h->fenc->i_frame - h->frames.i_last_idr);
printf("\n h->fenc->i_poc = %d \n \n ",h->fenc->i_poc);//zjh
h->fdec->i_type = h->fenc->i_type;
h->fdec->i_frame = h->fenc->i_frame;
h->fenc->b_kept_as_ref =
h->fdec->b_kept_as_ref = i_nal_ref_idc != NAL_PRIORITY_DISPOSABLE;
用命令编码一序列,命令中用到了选项keyint
x264 --crf 22 --keyint 20 -o test.264 hall_cif.yuv 352x288
|
D:\>x264 --crf 22 --keyint 20 -o test.264 hall_cif.yuv 352x288 ************************************ ** http://wmnmtm.blog.163.com ** ************************************ x264 [info]: using cpu capabilities MMX MMXEXT SSE SSE2 h->fenc->i_poc = 0 h->fenc->i_poc = 2 h->fenc->i_poc = 4 h->fenc->i_poc = 6 h->fenc->i_poc = 8 h->fenc->i_poc = 10 h->fenc->i_poc = 12 h->fenc->i_poc = 14 h->fenc->i_poc = 16 h->fenc->i_poc = 18 h->fenc->i_poc = 20 h->fenc->i_poc = 22 h->fenc->i_poc = 24 h->fenc->i_poc = 26 h->fenc->i_poc = 28 h->fenc->i_poc = 30 h->fenc->i_poc = 32 h->fenc->i_poc = 34 h->fenc->i_poc = 36 h->fenc->i_poc = 38 h->fenc->i_poc = 0 h->fenc->i_poc = 2 h->fenc->i_poc = 4 h->fenc->i_poc = 6 h->fenc->i_poc = 8 h->fenc->i_poc = 10 h->fenc->i_poc = 12 h->fenc->i_poc = 14 h->fenc->i_poc = 16 h->fenc->i_poc = 18 h->fenc->i_poc = 20 h->fenc->i_poc = 22 h->fenc->i_poc = 24 h->fenc->i_poc = 26 h->fenc->i_poc = 28 h->fenc->i_poc = 30 h->fenc->i_poc = 32 h->fenc->i_poc = 34 h->fenc->i_poc = 36 h->fenc->i_poc = 38 h->fenc->i_poc = 0 h->fenc->i_poc = 2 h->fenc->i_poc = 4 h->fenc->i_poc = 6 h->fenc->i_poc = 8 h->fenc->i_poc = 10 ... ...不断的重复 |
h->fenc->i_poc = 2 * (h->fenc->i_frame - h->frames.i_last_idr);计算的结果就是0、2、4、6、8.......
上面的帖子里也查看过i_last_idr,是0、20、40、60、80、。。。。。,取决于keyint的值