博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
H.264句法和语法总结(六)参考帧队列重排序(reordering)句法
阅读量:4183 次
发布时间:2019-05-26

本文共 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/

你可能感兴趣的文章
《Linux内核编程》第十三章:Linux对进程内存的二级页式管理
查看>>
ARM协处理器
查看>>
《miniOS分析》前言
查看>>
《Linux内核编程》第十四章:Linux驱动基础
查看>>
Linux平台下ARM-Linux交叉编译工具链
查看>>
Window平台下ADS自带ARMCC编译工具链
查看>>
micro2440/tiny6410使用JLINK直接烧录nand flash
查看>>
C编译器、连接器与可执行机器码文件
查看>>
android linker 浅析
查看>>
802.11 traffic id
查看>>
Android系统wifi分析-手动连接过程
查看>>
设置IP别名Shell脚本
查看>>
Source Insight 宏-单行注释
查看>>
levelDB源码分析-Arena
查看>>
levelDB源码分析-SSTable
查看>>
平滑升级Nginx的Shell脚本
查看>>
SSH远程会话管理工具
查看>>
canvas标签设长宽是在css中还是在标签中
查看>>
如何创建一个vue项目
查看>>
webpack和webpack-simple中如何引入css文件
查看>>