Changeset 189 in SHVCSoftware for trunk/source/App/TAppEncoder/TAppEncCfg.cpp


Ignore:
Timestamp:
13 May 2013, 16:58:44 (12 years ago)
Author:
seregin
Message:

merge with SHM-2.0-dev branch

Location:
trunk/source
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source

  • trunk/source/App/TAppEncoder/TAppEncCfg.cpp

    r125 r189  
    6666TAppEncCfg::TAppEncCfg()
    6767: m_pBitstreamFile()
     68#if AVC_BASE
     69, m_avcBaseLayerFlag(0)
     70#endif
    6871, m_pColumnWidth()
    6972, m_pRowHeight()
     
    8992{
    9093  m_aidQP = NULL;
     94#if J0149_TONE_MAPPING_SEI
     95  m_startOfCodedInterval = NULL;
     96  m_codedPivotValue = NULL;
     97  m_targetPivotValue = NULL;
     98#endif
    9199}
    92100#endif
     
    102110    delete[] m_aidQP;
    103111  }
     112#if J0149_TONE_MAPPING_SEI
     113  if ( m_startOfCodedInterval )
     114  {
     115    delete[] m_startOfCodedInterval;
     116    m_startOfCodedInterval = NULL;
     117  }
     118   if ( m_codedPivotValue )
     119  {
     120    delete[] m_codedPivotValue;
     121    m_codedPivotValue = NULL;
     122  }
     123  if ( m_targetPivotValue )
     124  {
     125    delete[] m_targetPivotValue;
     126    m_targetPivotValue = NULL;
     127  }
     128#endif
    104129  free(m_pchInputFile);
    105130#endif
     
    119144Void TAppEncCfg::destroy()
    120145{
     146#if VPS_EXTN_DIRECT_REF_LAYERS
     147  for(Int layer = 0; layer < MAX_LAYERS; layer++)
     148  {
     149    if( m_acLayerCfg[layer].m_numDirectRefLayers > 0 )
     150    {
     151      delete [] m_acLayerCfg[layer].m_refLayerIds;
     152    }
     153  }
     154#endif
    121155}
    122156
     
    297331  string* cfg_refLayerIdsPtr   [MAX_LAYERS];
    298332#endif
     333#if SCALED_REF_LAYER_OFFSETS
     334  Int*    cfg_scaledRefLayerLeftOffset [MAX_LAYERS];
     335  Int*    cfg_scaledRefLayerTopOffset [MAX_LAYERS];
     336  Int*    cfg_scaledRefLayerRightOffset [MAX_LAYERS];
     337  Int*    cfg_scaledRefLayerBottomOffset [MAX_LAYERS];
     338#endif
    299339  for(UInt layer = 0; layer < MAX_LAYERS; layer++)
    300340  {
     
    311351    cfg_refLayerIdsPtr      [layer]  = &cfg_refLayerIds[layer];
    312352#endif
    313   }
     353#if SCALED_REF_LAYER_OFFSETS
     354    cfg_scaledRefLayerLeftOffset  [layer] = &m_acLayerCfg[layer].m_scaledRefLayerLeftOffset;
     355    cfg_scaledRefLayerTopOffset   [layer] = &m_acLayerCfg[layer].m_scaledRefLayerTopOffset;
     356    cfg_scaledRefLayerRightOffset [layer] = &m_acLayerCfg[layer].m_scaledRefLayerRightOffset;
     357    cfg_scaledRefLayerBottomOffset[layer] = &m_acLayerCfg[layer].m_scaledRefLayerBottomOffset;
     358#endif
     359  }
     360#if AVC_BASE
     361  string  cfg_BLInputFile;
     362#endif
    314363#if AVC_SYNTAX
    315364  string  cfg_BLSyntaxFile;
     
    324373  string cfg_RowHeight;
    325374  string cfg_ScalingListFile;
     375#if J0149_TONE_MAPPING_SEI
     376  string cfg_startOfCodedInterval;
     377  string cfg_codedPivotValue;
     378  string cfg_targetPivotValue;
     379#endif
    326380#if SIGNAL_BITRATE_PICRATE_IN_VPS
    327381  string cfg_bitRateInfoPresentFlag;
     
    361415  ("OutputBitDepthC",       m_outputBitDepthC,   0, "As per OutputBitDepth but for chroma component. (default:InternalBitDepthC)")
    362416  ("InternalBitDepthC",     m_internalBitDepthC, 0, "As per InternalBitDepth but for chroma component. (default:IntrenalBitDepth)")
    363 
     417#if SCALED_REF_LAYER_OFFSETS
     418  ("ScaledRefLayerLeftOffset%d",   cfg_scaledRefLayerLeftOffset,  0, MAX_LAYERS, "Horizontal offset of top-left luma sample of scaled base layer picture with respect to"
     419                                                                 " top-left luma sample of the EL picture, in units of two luma samples")
     420  ("ScaledRefLayerTopOffset%d",    cfg_scaledRefLayerTopOffset,   0, MAX_LAYERS,   "Vertical offset of top-left luma sample of scaled base layer picture with respect to"
     421                                                                 " top-left luma sample of the EL picture, in units of two luma samples")
     422  ("ScaledRefLayerRightOffset%d",  cfg_scaledRefLayerRightOffset, 0, MAX_LAYERS, "Horizontal offset of bottom-right luma sample of scaled base layer picture with respect to"
     423                                                                 " bottom-right luma sample of the EL picture, in units of two luma samples")
     424  ("ScaledRefLayerBottomOffset%d", cfg_scaledRefLayerBottomOffset,0, MAX_LAYERS, "Vertical offset of bottom-right luma sample of scaled base layer picture with respect to"
     425                                                                 " bottom-right luma sample of the EL picture, in units of two luma samples")
     426#endif
    364427#if AVC_BASE
    365   ("InputBLFile,-ibl",        *cfg_InputFile[0],     string(""), "Base layer rec YUV input file name")
     428  ("AvcBase,-avc",            m_avcBaseLayerFlag,     0, "avc_base_layer_flag")
     429  ("InputBLFile,-ibl",        cfg_BLInputFile,     string(""), "Base layer rec YUV input file name")
    366430#if AVC_SYNTAX
    367431  ("InputBLSyntaxFile,-ibs",  cfg_BLSyntaxFile,     string(""), "Base layer syntax input file name")
     
    369433#endif
    370434#if REF_IDX_FRAMEWORK
    371   ("EnableElRapB,-use-rap-b",  m_elRapSliceBEnabled, 0, "Set ILP over base-layer I picture to B picture (default is P picture_")
     435  ("EnableElRapB,-use-rap-b",  m_elRapSliceBEnabled, 0, "Set ILP over base-layer I picture to B picture (default is P picture)")
    372436#endif 
    373437#else 
     
    430494  ("DecodingRefreshType,-dr", m_iDecodingRefreshType,       0, "Intra refresh type (0:none 1:CRA 2:IDR)")
    431495  ("GOPSize,g",               m_iGOPSize,                   1, "GOP size of temporal structure")
     496#if !L0034_COMBINED_LIST_CLEANUP
    432497  ("ListCombination,-lc",     m_bUseLComb,               true, "Combined reference list for uni-prediction estimation in B-slices")
     498#endif
    433499  // motion options
    434500  ("FastSearch",              m_iFastSearch,                1, "0:Full search  1:Diamond  2:PMVFAST")
     
    488554  ("LoopFilterTcOffset_div2",        m_loopFilterTcOffsetDiv2,             0 )
    489555  ("DeblockingFilterControlPresent", m_DeblockingFilterControlPresent, false )
     556#if L0386_DB_METRIC
     557  ("DeblockingFilterMetric",         m_DeblockingFilterMetric,         false )
     558#endif
    490559
    491560  // Coding tools
     
    602671  ("SEIBufferingPeriod",             m_bufferingPeriodSEIEnabled,              0, "Control generation of buffering period SEI messages")
    603672  ("SEIPictureTiming",               m_pictureTimingSEIEnabled,                0, "Control generation of picture timing SEI messages")
     673#if J0149_TONE_MAPPING_SEI
     674  ("SEIToneMappingInfo",                       m_toneMappingInfoSEIEnabled,    false, "Control generation of Tone Mapping SEI messages")
     675  ("SEIToneMapId",                             m_toneMapId,                        0, "Specifies Id of Tone Mapping SEI message for a given session")
     676  ("SEIToneMapCancelFlag",                     m_toneMapCancelFlag,            false, "Indicates that Tone Mapping SEI message cancels the persistance or follows")
     677  ("SEIToneMapPersistenceFlag",                m_toneMapPersistenceFlag,        true, "Specifies the persistence of the Tone Mapping SEI message")
     678  ("SEIToneMapCodedDataBitDepth",              m_toneMapCodedDataBitDepth,         8, "Specifies Coded Data BitDepth of Tone Mapping SEI messages")
     679  ("SEIToneMapTargetBitDepth",                 m_toneMapTargetBitDepth,            8, "Specifies Output BitDepth of Tome mapping function")
     680  ("SEIToneMapModelId",                        m_toneMapModelId,                   0, "Specifies Model utilized for mapping coded data into target_bit_depth range\n"
     681                                                                                      "\t0:  linear mapping with clipping\n"
     682                                                                                      "\t1:  sigmoidal mapping\n"
     683                                                                                      "\t2:  user-defined table mapping\n"
     684                                                                                      "\t3:  piece-wise linear mapping\n"
     685                                                                                      "\t4:  luminance dynamic range information ")
     686  ("SEIToneMapMinValue",                              m_toneMapMinValue,                          0, "Specifies the minimum value in mode 0")
     687  ("SEIToneMapMaxValue",                              m_toneMapMaxValue,                       1023, "Specifies the maxmum value in mode 0")
     688  ("SEIToneMapSigmoidMidpoint",                       m_sigmoidMidpoint,                        512, "Specifies the centre point in mode 1")
     689  ("SEIToneMapSigmoidWidth",                          m_sigmoidWidth,                           960, "Specifies the distance between 5% and 95% values of the target_bit_depth in mode 1")
     690  ("SEIToneMapStartOfCodedInterval",                  cfg_startOfCodedInterval,          string(""), "Array of user-defined mapping table")
     691  ("SEIToneMapNumPivots",                             m_numPivots,                                0, "Specifies the number of pivot points in mode 3")
     692  ("SEIToneMapCodedPivotValue",                       cfg_codedPivotValue,               string(""), "Array of pivot point")
     693  ("SEIToneMapTargetPivotValue",                      cfg_targetPivotValue,              string(""), "Array of pivot point")
     694  ("SEIToneMapCameraIsoSpeedIdc",                     m_cameraIsoSpeedIdc,                        0, "Indicates the camera ISO speed for daylight illumination")
     695  ("SEIToneMapCameraIsoSpeedValue",                   m_cameraIsoSpeedValue,                    400, "Specifies the camera ISO speed for daylight illumination of Extended_ISO")
     696  ("SEIToneMapExposureCompensationValueSignFlag",     m_exposureCompensationValueSignFlag,        0, "Specifies the sign of ExposureCompensationValue")
     697  ("SEIToneMapExposureCompensationValueNumerator",    m_exposureCompensationValueNumerator,       0, "Specifies the numerator of ExposureCompensationValue")
     698  ("SEIToneMapExposureCompensationValueDenomIdc",     m_exposureCompensationValueDenomIdc,        2, "Specifies the denominator of ExposureCompensationValue")
     699  ("SEIToneMapRefScreenLuminanceWhite",               m_refScreenLuminanceWhite,                350, "Specifies reference screen brightness setting in units of candela per square metre")
     700  ("SEIToneMapExtendedRangeWhiteLevel",               m_extendedRangeWhiteLevel,                800, "Indicates the luminance dynamic range")
     701  ("SEIToneMapNominalBlackLevelLumaCodeValue",        m_nominalBlackLevelLumaCodeValue,          16, "Specifies luma sample value of the nominal black level assigned decoded pictures")
     702  ("SEIToneMapNominalWhiteLevelLumaCodeValue",        m_nominalWhiteLevelLumaCodeValue,         235, "Specifies luma sample value of the nominal white level assigned decoded pictures")
     703  ("SEIToneMapExtendedWhiteLevelLumaCodeValue",       m_extendedWhiteLevelLumaCodeValue,        300, "Specifies luma sample value of the extended dynamic range assigned decoded pictures")
     704#endif
    604705  ("SEIFramePacking",                m_framePackingSEIEnabled,                 0, "Control generation of frame packing SEI messages")
    605706  ("SEIFramePackingType",            m_framePackingSEIType,                    0, "Define frame packing arrangement\n"
     
    622723  ("SEIGradualDecodingRefreshInfo",  m_gradualDecodingRefreshInfoEnabled,      0, "Control generation of gradual decoding refresh information SEI message")
    623724  ("SEIDecodingUnitInfo",             m_decodingUnitInfoSEIEnabled,                       0, "Control generation of decoding unit information SEI message.")
     725#if L0208_SOP_DESCRIPTION_SEI
     726  ("SEISOPDescription",              m_SOPDescriptionSEIEnabled,              0, "Control generation of SOP description SEI messages")
     727#endif
     728#if K0180_SCALABLE_NESTING_SEI
     729  ("SEIScalableNesting",             m_scalableNestingSEIEnabled,              0, "Control generation of scalable nesting SEI messages")
     730#endif
    624731#if SIGNAL_BITRATE_PICRATE_IN_VPS
    625732  ("BitRatePicRateMaxTLayers",   m_bitRatePicRateMaxTLayers,           0, "Maximum number of sub-layers signalled; can be inferred otherwise; here for easy parsing of config. file")
     
    662769  /* convert std::string to c string for compatability */
    663770#if SVC_EXTENSION
     771#if AVC_BASE
     772  if( m_avcBaseLayerFlag )
     773  {
     774    *cfg_InputFile[0] = cfg_BLInputFile;
     775  }
     776#endif
    664777  m_pBitstreamFile = cfg_BitstreamFile.empty() ? NULL : strdup(cfg_BitstreamFile.c_str());
    665778#if AVC_SYNTAX
     
    878991  }
    879992  m_iWaveFrontSubstreams = m_iWaveFrontSynchro ? (m_iSourceHeight + m_uiMaxCUHeight - 1) / m_uiMaxCUHeight : 1;
     993#endif
     994#if J0149_TONE_MAPPING_SEI
     995  if( m_toneMappingInfoSEIEnabled && !m_toneMapCancelFlag )
     996  {
     997    Char* pcStartOfCodedInterval = cfg_startOfCodedInterval.empty() ? NULL: strdup(cfg_startOfCodedInterval.c_str());
     998    Char* pcCodedPivotValue = cfg_codedPivotValue.empty() ? NULL: strdup(cfg_codedPivotValue.c_str());
     999    Char* pcTargetPivotValue = cfg_targetPivotValue.empty() ? NULL: strdup(cfg_targetPivotValue.c_str());
     1000    if( m_toneMapModelId == 2 && pcStartOfCodedInterval )
     1001    {
     1002      char *startOfCodedInterval;
     1003      UInt num = 1u<< m_toneMapTargetBitDepth;
     1004      m_startOfCodedInterval = new Int[num];
     1005      ::memset( m_startOfCodedInterval, 0, sizeof(Int)*num );
     1006      startOfCodedInterval = strtok(pcStartOfCodedInterval, " .");
     1007      int i = 0;
     1008      while( startOfCodedInterval && ( i < num ) )
     1009      {
     1010        m_startOfCodedInterval[i] = atoi( startOfCodedInterval );
     1011        startOfCodedInterval = strtok(NULL, " .");
     1012        i++;
     1013      }
     1014    }
     1015    else
     1016    {
     1017      m_startOfCodedInterval = NULL;
     1018    }
     1019    if( ( m_toneMapModelId == 3 ) && ( m_numPivots > 0 ) )
     1020    {
     1021      if( pcCodedPivotValue && pcTargetPivotValue )
     1022      {
     1023        char *codedPivotValue;
     1024        char *targetPivotValue;
     1025        m_codedPivotValue = new Int[m_numPivots];
     1026        m_targetPivotValue = new Int[m_numPivots];
     1027        ::memset( m_codedPivotValue, 0, sizeof(Int)*( m_numPivots ) );
     1028        ::memset( m_targetPivotValue, 0, sizeof(Int)*( m_numPivots ) );
     1029        codedPivotValue = strtok(pcCodedPivotValue, " .");
     1030        int i=0;
     1031        while(codedPivotValue&&i<m_numPivots)
     1032        {
     1033          m_codedPivotValue[i] = atoi( codedPivotValue );
     1034          codedPivotValue = strtok(NULL, " .");
     1035          i++;
     1036        }
     1037        i=0;
     1038        targetPivotValue = strtok(pcTargetPivotValue, " .");
     1039        while(targetPivotValue&&i<m_numPivots)
     1040        {
     1041          m_targetPivotValue[i]= atoi( targetPivotValue );
     1042          targetPivotValue = strtok(NULL, " .");
     1043          i++;
     1044        }
     1045      }
     1046    }
     1047    else
     1048    {
     1049      m_codedPivotValue = NULL;
     1050      m_targetPivotValue = NULL;
     1051    }
     1052  }
    8801053#endif
    8811054  // check validity of input parameters
     
    11391312
    11401313#if SVC_EXTENSION
     1314  xConfirmPara( m_numLayers > MAX_LAYERS , "Number of layers in config file is greater than MAX_LAYERS" );
     1315  m_numLayers = m_numLayers > MAX_LAYERS ? MAX_LAYERS : m_numLayers;
     1316
    11411317  // verify layer configuration parameters
    11421318  for(UInt layer=0; layer<m_numLayers; layer++)
     
    13751551  {
    13761552    m_numReorderPics[i] = 0;
     1553#if L0323_DPB
     1554    m_maxDecPicBuffering[i] = 1;
     1555#else
    13771556    m_maxDecPicBuffering[i] = 0;
     1557#endif
    13781558  }
    13791559  for(Int i=0; i<m_iGOPSize; i++)
    13801560  {
     1561#if L0323_DPB
     1562    if(m_GOPList[i].m_numRefPics+1 > m_maxDecPicBuffering[m_GOPList[i].m_temporalId])
     1563#else
    13811564    if(m_GOPList[i].m_numRefPics > m_maxDecPicBuffering[m_GOPList[i].m_temporalId])
    1382     {
     1565#endif
     1566    {
     1567#if L0323_DPB
     1568      m_maxDecPicBuffering[m_GOPList[i].m_temporalId] = m_GOPList[i].m_numRefPics + 1;
     1569#else
    13831570      m_maxDecPicBuffering[m_GOPList[i].m_temporalId] = m_GOPList[i].m_numRefPics;
     1571#endif
    13841572    }
    13851573    Int highestDecodingNumberWithLowerPOC = 0;
     
    14121600      m_numReorderPics[i+1] = m_numReorderPics[i];
    14131601    }
     1602#if L0323_DPB
     1603    // the value of num_reorder_pics[ i ] shall be in the range of 0 to max_dec_pic_buffering[ i ] - 1, inclusive
     1604    if(m_numReorderPics[i] > m_maxDecPicBuffering[i] - 1)
     1605    {
     1606      m_maxDecPicBuffering[i] = m_numReorderPics[i] + 1;
     1607    }
     1608#else
    14141609    // the value of num_reorder_pics[ i ] shall be in the range of 0 to max_dec_pic_buffering[ i ], inclusive
    14151610    if(m_numReorderPics[i] > m_maxDecPicBuffering[i])
     
    14171612      m_maxDecPicBuffering[i] = m_numReorderPics[i];
    14181613    }
     1614#endif
    14191615    // a lower layer can not have higher value of m_uiMaxDecPicBuffering than a higher layer
    14201616    if(m_maxDecPicBuffering[i+1] < m_maxDecPicBuffering[i])
     
    14231619    }
    14241620  }
     1621
     1622
     1623#if L0323_DPB
     1624  // the value of num_reorder_pics[ i ] shall be in the range of 0 to max_dec_pic_buffering[ i ] -  1, inclusive
     1625  if(m_numReorderPics[MAX_TLAYER-1] > m_maxDecPicBuffering[MAX_TLAYER-1] - 1)
     1626  {
     1627    m_maxDecPicBuffering[MAX_TLAYER-1] = m_numReorderPics[MAX_TLAYER-1] + 1;
     1628  }
     1629#else
    14251630  // the value of num_reorder_pics[ i ] shall be in the range of 0 to max_dec_pic_buffering[ i ], inclusive
    14261631  if(m_numReorderPics[MAX_TLAYER-1] > m_maxDecPicBuffering[MAX_TLAYER-1])
     
    14281633    m_maxDecPicBuffering[MAX_TLAYER-1] = m_numReorderPics[MAX_TLAYER-1];
    14291634  }
     1635#endif
    14301636
    14311637#if SVC_EXTENSION // ToDo: it should be checked for the case when parameters are different for the layers
     
    15111717  }
    15121718#endif
    1513 
     1719#if !L0034_COMBINED_LIST_CLEANUP
    15141720  xConfirmPara( m_bUseLComb==false && m_numReorderPics[MAX_TLAYER-1]!=0, "ListCombination can only be 0 in low delay coding (more precisely when L0 and L1 are identical)" );  // Note however this is not the full necessary condition as ref_pic_list_combination_flag can only be 0 if L0 == L1.
     1721#endif
    15151722  xConfirmPara( m_iWaveFrontSynchro < 0, "WaveFrontSynchro cannot be negative" );
    15161723#if !SVC_EXTENSION
     
    15201727
    15211728  xConfirmPara( m_decodedPictureHashSEIEnabled<0 || m_decodedPictureHashSEIEnabled>3, "this hash type is not correct!\n");
     1729
     1730#if J0149_TONE_MAPPING_SEI
     1731  if (m_toneMappingInfoSEIEnabled)
     1732  {
     1733    xConfirmPara( m_toneMapCodedDataBitDepth < 8 || m_toneMapCodedDataBitDepth > 14 , "SEIToneMapCodedDataBitDepth must be in rage 8 to 14");
     1734    xConfirmPara( m_toneMapTargetBitDepth < 1 || (m_toneMapTargetBitDepth > 16 && m_toneMapTargetBitDepth < 255) , "SEIToneMapTargetBitDepth must be in rage 1 to 16 or equal to 255");
     1735    xConfirmPara( m_toneMapModelId < 0 || m_toneMapModelId > 4 , "SEIToneMapModelId must be in rage 0 to 4");
     1736    xConfirmPara( m_cameraIsoSpeedValue == 0, "SEIToneMapCameraIsoSpeedValue shall not be equal to 0");
     1737    xConfirmPara( m_extendedRangeWhiteLevel < 100, "SEIToneMapExtendedRangeWhiteLevel should be greater than or equal to 100");
     1738    xConfirmPara( m_nominalBlackLevelLumaCodeValue >= m_nominalWhiteLevelLumaCodeValue, "SEIToneMapNominalWhiteLevelLumaCodeValue shall be greater than SEIToneMapNominalBlackLevelLumaCodeValue");
     1739    xConfirmPara( m_extendedWhiteLevelLumaCodeValue < m_nominalWhiteLevelLumaCodeValue, "SEIToneMapExtendedWhiteLevelLumaCodeValue shall be greater than or equal to SEIToneMapNominalWhiteLevelLumaCodeValue");
     1740  }
     1741#endif
    15221742
    15231743#if RATE_CONTROL_LAMBDA_DOMAIN
     
    16091829  {
    16101830    printf("=== Layer %d settings === \n", layer);
     1831#if AVC_SYNTAX
     1832    m_acLayerCfg[layer].xPrintParameter( layer );
     1833#else
    16111834    m_acLayerCfg[layer].xPrintParameter();
     1835#endif
    16121836    printf("\n");
    16131837  }
     
    16771901  printf("SQP:%d ", m_uiDeltaQpRD         );
    16781902  printf("ASR:%d ", m_bUseASR             );
     1903#if !L0034_COMBINED_LIST_CLEANUP
    16791904  printf("LComb:%d ", m_bUseLComb         );
     1905#endif
    16801906  printf("FEN:%d ", m_bUseFastEnc         );
    16811907  printf("ECU:%d ", m_bUseEarlyCU         );
     
    17181944#if SVC_EXTENSION
    17191945  printf("RecalQP:%d ", m_recalculateQPAccordingToLambda ? 1 : 0 );
    1720   printf("AVC_BASE:%d ", AVC_BASE);
     1946#if AVC_BASE
     1947  printf("AvcBase:%d ", m_avcBaseLayerFlag ? 1 : 0);
     1948#else
     1949  printf("AvcBase:%d ", 0);
     1950#endif
    17211951#if REF_IDX_FRAMEWORK
    17221952  printf("REF_IDX_FRAMEWORK:%d ", REF_IDX_FRAMEWORK);
    17231953  printf("EL_RAP_SliceType: %d ", m_elRapSliceBEnabled);
    1724   printf("REF_IDX_ME_ZEROMV: %d", REF_IDX_ME_ZEROMV);
     1954  printf("REF_IDX_ME_ZEROMV: %d ", REF_IDX_ME_ZEROMV);
     1955  printf("ENCODER_FAST_MODE: %d ", ENCODER_FAST_MODE);
     1956  printf("REF_IDX_MFM: %d ", REF_IDX_MFM);
    17251957#elif INTRA_BL
    17261958  printf("INTRA_BL:%d ", INTRA_BL);
Note: See TracChangeset for help on using the changeset viewer.