• JM8.6中对数据分割的一点解释


    2011年4月20日15:16:43

    JM8.6中对数据分割的一点解释

    分析currslice->partarr[partmap[SE_MVD]] (关于数据分割的实现)

    Currslice指当前slice

    Partarr是一个datapartition数组

    Partmap :const int* partmap = assignse2partition[input->partition_mode];

    Int * assignse2partition[2] ;

    Static int assignse2partition_nodp[SE_MAX_ELEMENTS] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

    Static int assignse2partition_DP[SE_MAX_ELEMENTS] = { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 2, 2, 2, 2, 0, 0, 0, 0 } ;

    Typedef enum {

    SE_HEADER,

    SE_PTYPE,

    SE_MBTYPE,

    SE_REFFRAME,

    SE_INTRAPREDMODE,

    SE_MVD,

    SE_CBP_INTRA,

    SE_LUM_DC_INTRA,

    SE_CHR_DC_INTRA,

    SE_LUM_AC_INTRA,

    SE_CHR_AC_INTRA,

    SE_CBP_INTER,

    SE_LUM_DC_INTER,

    SE_CHR_DC_INTER,

    SE_LUM_AC_INTER,

    SE_CHR_AC_INTER,

    SE_DELTA_QUANT_INTER,

    SE_DELTA_QUANT_INTRA,

    SE_BFRAME, SE_EOS,

    SE_MAX_ELEMENTS //!< number of maximum syntax elements

    } SE_type; // substituting the definitions in elements.h

    从上面可以看出SE_type枚举类型里定义了20种句法元 素,若存在数据分割,则根据assignse2partition_DP数组来定义句法元素的重要性; 若不存在数据分割情况,则assignse2partition_nodp数组可知把这些句法元素归于一类

    Partmap的作用是把当前的句法元素映射到某一种数据分割类型中,其值为0,1,2,这样就可以形成一个partarr的datapartition数组

    当没有数据分割时,这些元素实际全存到了currslice->partarr[0]中

  • 相关阅读:
    python+requests+excel 接口测试
    Pycharm配置git
    ubuntu16.04+ROS安装kinectV1
    ubuntu16.04安装有道词典
    ROS kinetic语音识别
    在Ubuntu16.04中python环境下实现tab键补全
    ros kinetic安装rbx1
    ubuntu14.04安装opencv3.1
    ubuntu16.04SSH无法连接
    VC6中函数点go to definition报告the symbol XXX is undefined
  • 原文地址:https://www.cnblogs.com/xkfz007/p/2616766.html
Copyright © 2020-2023  润新知