本文共 1231 字,大约阅读时间需要 4 分钟。
ref_pic_list_reordering( ) {
if( slice_type != I && slice_type != SI ) { // ref_pic_list_reordering_flag_l0 指明是否进行重排序操作,这个句法元素等于1 时表明紧跟着会有一系列句法元素用于参考帧队列的重排序。 ref_pic_list_reordering_flag_l0 if( ref_pic_list_reordering_flag_l0 ) do { // reordering_of_pic_nums_idc 指明执行哪种重排序操作 reordering_of_pic_nums_idc 操作 0 短期参考帧重排序,abs_diff_pic_num_minus1会出现在码流中, 从当前图像的PicNum减去 (abs_diff_pic_num_minus1 + 1) 后 指明需要重 排序的图像。 1 短期参考帧重排序,abs_diff_pic_num_minus1会出现在码流中, 从当 前图像的PicNum加上(abs_diff_pic_num_minus1 + 1) 后 指明需要重排序的图像。 2 长期参考帧重排序,long_term_pic_num会出现在码流中,指明需要重排序的图像。 3 结束循环,退出重排序操作。 reordering_of_pic_nums_idc if( reordering_of_pic_nums_idc == 0 | | reordering_of_pic_nums_idc == 1 ) // abs_diff_pic_num_minus1 在对短期参考帧重排序时指明重排序图像与当前的差 abs_diff_pic_num_minus1 else if( reordering_of_pic_nums_idc = = 2 ) // long_term_pic_num 在对长期参考帧重排序时指明重排序图像 long_term_pic_num } while( reordering_of_pic_nums_idc != 3 ) } if( slice_type == B ) { ref_pic_list_reordering_flag_l1 if( ref_pic_list_reordering_flag_l1 ) do { reordering_of_pic_nums_idc if( reordering_of_pic_nums_idc = = 0 | | reordering_of_pic_nums_idc = = 1 ) abs_diff_pic_num_minus1 else if( reordering_of_pic_nums_idc = = 2 ) long_term_pic_num } while( reordering_of_pic_nums_idc != 3 ) } }转载地址:http://bbzoi.baihongyu.com/