Changeset 1316 in SHVCSoftware for branches/SHM-dev/source/App
- Timestamp:
- 21 Jul 2015, 20:08:08 (10 years ago)
- Location:
- branches/SHM-dev/source/App/TAppEncoder
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1311 r1316 876 876 cfg_aiPadX[layer] = &m_acLayerCfg[layer].m_aiPad[0]; 877 877 cfg_aiPadY[layer] = &m_acLayerCfg[layer].m_aiPad[1]; 878 cfg_useExtendedPrecision[layer] = &m_acLayerCfg[layer].m_ useExtendedPrecision;878 cfg_useExtendedPrecision[layer] = &m_acLayerCfg[layer].m_extendedPrecisionProcessingFlag; 879 879 880 880 cfg_maxCuDQPDepth[layer] = &m_acLayerCfg[layer].m_iMaxCuDQPDepth; … … 1165 1165 ("MSBExtendedBitDepthC", m_MSBExtendedBitDepth[CHANNEL_TYPE_CHROMA], 0, "As per MSBExtendedBitDepth but for chroma component. (default:MSBExtendedBitDepth)") 1166 1166 ("InternalBitDepthC", m_internalBitDepth[CHANNEL_TYPE_CHROMA], 0, "As per InternalBitDepth but for chroma component. (default:InternalBitDepth)") 1167 ("ExtendedPrecision", m_ useExtendedPrecision,false, "Increased internal accuracies to support high bit depths (not valid in V1 profiles)")1168 ("HighPrecisionPredictionWeighting", m_ useHighPrecisionPredictionWeighting,false, "Use high precision option for weighted prediction (not valid in V1 profiles)")1167 ("ExtendedPrecision", m_extendedPrecisionProcessingFlag, false, "Increased internal accuracies to support high bit depths (not valid in V1 profiles)") 1168 ("HighPrecisionPredictionWeighting", m_highPrecisionOffsetsEnabledFlag, false, "Use high precision option for weighted prediction (not valid in V1 profiles)") 1169 1169 ("InputColourSpaceConvert", inputColourSpaceConvert, string(""), "Colour space conversion to apply to input video. Permitted values are (empty string=UNCHANGED) " + getListOfColourSpaceConverts(true)) 1170 1170 ("SNRInternalColourSpace", m_snrInternalColourSpace, false, "If true, then no colour space conversion is applied prior to SNR, otherwise inverse of input is applied.") … … 1312 1312 ("MaxCuDQPDepth,-dqd", m_iMaxCuDQPDepth, 0, "max depth for a minimum CuDQP") 1313 1313 #endif 1314 ("MaxCUChromaQpAdjustmentDepth", m_ maxCUChromaQpAdjustmentDepth,-1, "Maximum depth for CU chroma Qp adjustment - set less than 0 to disable")1314 ("MaxCUChromaQpAdjustmentDepth", m_diffCuChromaQpOffsetDepth, -1, "Maximum depth for CU chroma Qp adjustment - set less than 0 to disable") 1315 1315 1316 1316 ("CbQpOffset,-cbqpofs", m_cbQpOffset, 0, "Chroma Cb QP Offset") … … 1343 1343 // Coding tools 1344 1344 ("AMP", m_enableAMP, true, "Enable asymmetric motion partitions") 1345 ("CrossComponentPrediction", m_ useCrossComponentPrediction,false, "Enable the use of cross-component prediction (not valid in V1 profiles)")1345 ("CrossComponentPrediction", m_crossComponentPredictionEnabledFlag, false, "Enable the use of cross-component prediction (not valid in V1 profiles)") 1346 1346 ("ReconBasedCrossCPredictionEstimate", m_reconBasedCrossCPredictionEstimate, false, "When determining the alpha value for cross-component prediction, use the decoded residual rather than the pre-transform encoder-side residual") 1347 1347 ("SaoLumaOffsetBitShift", saoOffsetBitShift[CHANNEL_TYPE_LUMA], 0, "Specify the luma SAO bit-shift. If negative, automatically calculate a suitable value based upon bit depth and initial QP") … … 1349 1349 ("TransformSkip", m_useTransformSkip, false, "Intra transform skipping") 1350 1350 ("TransformSkipFast", m_useTransformSkipFast, false, "Fast intra transform skipping") 1351 ("TransformSkipLog2MaxSize", m_ transformSkipLog2MaxSize,2U, "Specify transform-skip maximum size. Minimum 2. (not valid in V1 profiles)")1352 ("ImplicitResidualDPCM", m_ useResidualDPCM[RDPCM_SIGNAL_IMPLICIT],false, "Enable implicitly signalled residual DPCM for intra (also known as sample-adaptive intra predict) (not valid in V1 profiles)")1353 ("ExplicitResidualDPCM", m_ useResidualDPCM[RDPCM_SIGNAL_EXPLICIT],false, "Enable explicitly signalled residual DPCM for inter (not valid in V1 profiles)")1354 ("ResidualRotation", m_ useResidualRotation,false, "Enable rotation of transform-skipped and transquant-bypassed TUs through 180 degrees prior to entropy coding (not valid in V1 profiles)")1355 ("SingleSignificanceMapContext", m_ useSingleSignificanceMapContext, false, "Enable, for transform-skipped and transquant-bypassed TUs, the selection of a single significance map context variable for all coefficients (not valid in V1 profiles)")1356 ("GolombRiceParameterAdaptation", m_ useGolombRiceParameterAdaptation,false, "Enable the adaptation of the Golomb-Rice parameter over the course of each slice")1357 ("AlignCABACBeforeBypass", m_ alignCABACBeforeBypass,false, "Align the CABAC engine to a defined fraction of a bit prior to coding bypass data. Must be 1 in high bit rate profile, 0 otherwise" )1351 ("TransformSkipLog2MaxSize", m_log2MaxTransformSkipBlockSize, 2U, "Specify transform-skip maximum size. Minimum 2. (not valid in V1 profiles)") 1352 ("ImplicitResidualDPCM", m_rdpcmEnabledFlag[RDPCM_SIGNAL_IMPLICIT], false, "Enable implicitly signalled residual DPCM for intra (also known as sample-adaptive intra predict) (not valid in V1 profiles)") 1353 ("ExplicitResidualDPCM", m_rdpcmEnabledFlag[RDPCM_SIGNAL_EXPLICIT], false, "Enable explicitly signalled residual DPCM for inter (not valid in V1 profiles)") 1354 ("ResidualRotation", m_transformSkipRotationEnabledFlag, false, "Enable rotation of transform-skipped and transquant-bypassed TUs through 180 degrees prior to entropy coding (not valid in V1 profiles)") 1355 ("SingleSignificanceMapContext", m_transformSkipContextEnabledFlag, false, "Enable, for transform-skipped and transquant-bypassed TUs, the selection of a single significance map context variable for all coefficients (not valid in V1 profiles)") 1356 ("GolombRiceParameterAdaptation", m_persistentRiceAdaptationEnabledFlag, false, "Enable the adaptation of the Golomb-Rice parameter over the course of each slice") 1357 ("AlignCABACBeforeBypass", m_cabacBypassAlignmentEnabledFlag, false, "Align the CABAC engine to a defined fraction of a bit prior to coding bypass data. Must be 1 in high bit rate profile, 0 otherwise" ) 1358 1358 ("SAO", m_bUseSAO, true, "Enable Sample Adaptive Offset") 1359 1359 ("MaxNumOffsetsPerPic", m_maxNumOffsetsPerPic, 2048, "Max number of SAO offset per picture (Default: 2048)") … … 1858 1858 m_acLayerCfg[layer].m_chromaFormatIDC = ((tmpChromaFormat == 0) ? (m_acLayerCfg[layer].m_InputChromaFormatIDC) : (numberToChromaFormat(tmpChromaFormat))); 1859 1859 1860 m_acLayerCfg[layer].m_ useHighPrecisionPredictionWeighting = false;1861 m_acLayerCfg[layer].m_ useExtendedPrecision= false;1860 m_acLayerCfg[layer].m_highPrecisionOffsetsEnabledFlag = false; 1861 m_acLayerCfg[layer].m_extendedPrecisionProcessingFlag = false; 1862 1862 1863 1863 if( m_acLayerCfg[layer].m_layerSwitchOffBegin < m_acLayerCfg[layer].m_layerSwitchOffEnd ) … … 1881 1881 for (UInt channelType = 0; channelType < MAX_NUM_CHANNEL_TYPE; channelType++) 1882 1882 { 1883 m_acLayerCfg[layer].m_ saoOffsetBitShift[channelType] = 0;1883 m_acLayerCfg[layer].m_log2SaoOffsetScale[channelType] = 0; 1884 1884 } 1885 1885 … … 1925 1925 { 1926 1926 // produce a valid combination, if possible. 1927 const Bool bUsingGeneralRExtTools = m_ useResidualRotation||1928 m_ useSingleSignificanceMapContext||1929 m_ useResidualDPCM[RDPCM_SIGNAL_IMPLICIT] ||1930 m_ useResidualDPCM[RDPCM_SIGNAL_EXPLICIT] ||1931 !m_enableIntraReferenceSmoothing ||1932 m_ useGolombRiceParameterAdaptation||1933 m_ transformSkipLog2MaxSize!=2;1934 const Bool bUsingChromaQPAdjustment= m_ maxCUChromaQpAdjustmentDepth >= 0;1935 const Bool bUsingExtendedPrecision = m_acLayerCfg[layer].m_ useExtendedPrecision;1927 const Bool bUsingGeneralRExtTools = m_transformSkipRotationEnabledFlag || 1928 m_transformSkipContextEnabledFlag || 1929 m_rdpcmEnabledFlag[RDPCM_SIGNAL_IMPLICIT] || 1930 m_rdpcmEnabledFlag[RDPCM_SIGNAL_EXPLICIT] || 1931 !m_enableIntraReferenceSmoothing || 1932 m_persistentRiceAdaptationEnabledFlag || 1933 m_log2MaxTransformSkipBlockSize!=2; 1934 const Bool bUsingChromaQPAdjustment= m_diffCuChromaQpOffsetDepth >= 0; 1935 const Bool bUsingExtendedPrecision = m_acLayerCfg[layer].m_extendedPrecisionProcessingFlag; 1936 1936 m_acLayerCfg[layer].m_chromaFormatConstraint = NUM_CHROMA_FORMAT; 1937 1937 automaticallySelectRExtProfile(bUsingGeneralRExtTools, … … 2030 2030 { 2031 2031 // produce a valid combination, if possible. 2032 const Bool bUsingGeneralRExtTools = m_ useResidualRotation||2033 m_ useSingleSignificanceMapContext||2034 m_ useResidualDPCM[RDPCM_SIGNAL_IMPLICIT] ||2035 m_ useResidualDPCM[RDPCM_SIGNAL_EXPLICIT] ||2036 !m_enableIntraReferenceSmoothing ||2037 m_ useGolombRiceParameterAdaptation||2038 m_ transformSkipLog2MaxSize!=2;2039 const Bool bUsingChromaQPAdjustment= m_ maxCUChromaQpAdjustmentDepth >= 0;2040 const Bool bUsingExtendedPrecision = m_ useExtendedPrecision;2032 const Bool bUsingGeneralRExtTools = m_transformSkipRotationEnabledFlag || 2033 m_transformSkipContextEnabledFlag || 2034 m_rdpcmEnabledFlag[RDPCM_SIGNAL_IMPLICIT] || 2035 m_rdpcmEnabledFlag[RDPCM_SIGNAL_EXPLICIT] || 2036 !m_enableIntraReferenceSmoothing || 2037 m_persistentRiceAdaptationEnabledFlag || 2038 m_log2MaxTransformSkipBlockSize!=2; 2039 const Bool bUsingChromaQPAdjustment= m_diffCuChromaQpOffsetDepth >= 0; 2040 const Bool bUsingExtendedPrecision = m_extendedPrecisionProcessingFlag; 2041 2041 m_chromaFormatConstraint = NUM_CHROMA_FORMAT; 2042 2042 automaticallySelectRExtProfile(bUsingGeneralRExtTools, … … 2617 2617 if (m_internalBitDepth[ch]>10) 2618 2618 { 2619 m_ saoOffsetBitShift[ch]=UInt(Clip3<Int>(0, m_internalBitDepth[ch]-10, Int(m_internalBitDepth[ch]-10 + 0.165*m_iQP - 3.22 + 0.5) ) );2619 m_log2SaoOffsetScale[ch]=UInt(Clip3<Int>(0, m_internalBitDepth[ch]-10, Int(m_internalBitDepth[ch]-10 + 0.165*m_iQP - 3.22 + 0.5) ) ); 2620 2620 } 2621 2621 else 2622 2622 { 2623 m_ saoOffsetBitShift[ch]=0;2623 m_log2SaoOffsetScale[ch]=0; 2624 2624 } 2625 2625 } 2626 2626 else 2627 2627 { 2628 m_ saoOffsetBitShift[ch]=UInt(saoOffsetBitShift[ch]);2628 m_log2SaoOffsetScale[ch]=UInt(saoOffsetBitShift[ch]); 2629 2629 } 2630 2630 } … … 2908 2908 Void TAppEncCfg::xCheckParameter(UInt layerIdx) 2909 2909 { 2910 Bool m_ useExtendedPrecision = m_acLayerCfg[layerIdx].m_useExtendedPrecision;2911 Bool m_ useHighPrecisionPredictionWeighting = m_acLayerCfg[layerIdx].m_useHighPrecisionPredictionWeighting;2910 Bool m_extendedPrecisionProcessingFlag = m_acLayerCfg[layerIdx].m_extendedPrecisionProcessingFlag; 2911 Bool m_highPrecisionOffsetsEnabledFlag = m_acLayerCfg[layerIdx].m_highPrecisionOffsetsEnabledFlag; 2912 2912 ChromaFormat m_chromaFormatIDC = m_acLayerCfg[layerIdx].m_chromaFormatIDC; 2913 2913 ChromaFormat m_chromaFormatConstraint = m_acLayerCfg[layerIdx].m_chromaFormatConstraint; … … 2918 2918 Int m_MSBExtendedBitDepth[] = {m_acLayerCfg[layerIdx].m_MSBExtendedBitDepth[CHANNEL_TYPE_LUMA], m_acLayerCfg[layerIdx].m_MSBExtendedBitDepth[CHANNEL_TYPE_CHROMA]}; 2919 2919 2920 m_ saoOffsetBitShift[CHANNEL_TYPE_LUMA] = m_acLayerCfg[layerIdx].m_saoOffsetBitShift[CHANNEL_TYPE_LUMA];2921 m_ saoOffsetBitShift[CHANNEL_TYPE_CHROMA] = m_acLayerCfg[layerIdx].m_saoOffsetBitShift[CHANNEL_TYPE_CHROMA];2920 m_log2SaoOffsetScale[CHANNEL_TYPE_LUMA] = m_acLayerCfg[layerIdx].m_log2SaoOffsetScale[CHANNEL_TYPE_LUMA]; 2921 m_log2SaoOffsetScale[CHANNEL_TYPE_CHROMA] = m_acLayerCfg[layerIdx].m_log2SaoOffsetScale[CHANNEL_TYPE_CHROMA]; 2922 2922 2923 2923 Int layerPTLIdx = m_acLayerCfg[layerIdx].m_layerPTLIdx; … … 2993 2993 { 2994 2994 xConfirmPara(m_lowerBitRateConstraintFlag==false && m_intraConstraintFlag==false, "The lowerBitRateConstraint flag cannot be false when intraConstraintFlag is false"); 2995 xConfirmPara(m_ alignCABACBeforeBypass&& m_profile!=Profile::HIGHTHROUGHPUTREXT, "AlignCABACBeforeBypass must not be enabled unless the high throughput profile is being used.");2995 xConfirmPara(m_cabacBypassAlignmentEnabledFlag && m_profile!=Profile::HIGHTHROUGHPUTREXT, "AlignCABACBeforeBypass must not be enabled unless the high throughput profile is being used."); 2996 2996 if (m_profile == Profile::MAINREXT) 2997 2997 { … … 3001 3001 const Bool bValidProfile = (bitDepthIdx > 3 || chromaFormatIdx>3) ? false : (validRExtProfileNames[intraIdx][bitDepthIdx][chromaFormatIdx] != NONE); 3002 3002 xConfirmPara(!bValidProfile, "Invalid intra constraint flag, bit depth constraint flag and chroma format constraint flag combination for a RExt profile"); 3003 const Bool bUsingGeneralRExtTools = m_ useResidualRotation||3004 m_ useSingleSignificanceMapContext||3005 m_ useResidualDPCM[RDPCM_SIGNAL_IMPLICIT] ||3006 m_ useResidualDPCM[RDPCM_SIGNAL_EXPLICIT] ||3007 !m_enableIntraReferenceSmoothing ||3008 m_ useGolombRiceParameterAdaptation||3009 m_ transformSkipLog2MaxSize!=2;3010 const Bool bUsingChromaQPTool = m_ maxCUChromaQpAdjustmentDepth >= 0;3011 const Bool bUsingExtendedPrecision = m_ useExtendedPrecision;3003 const Bool bUsingGeneralRExtTools = m_transformSkipRotationEnabledFlag || 3004 m_transformSkipContextEnabledFlag || 3005 m_rdpcmEnabledFlag[RDPCM_SIGNAL_IMPLICIT] || 3006 m_rdpcmEnabledFlag[RDPCM_SIGNAL_EXPLICIT] || 3007 !m_enableIntraReferenceSmoothing || 3008 m_persistentRiceAdaptationEnabledFlag || 3009 m_log2MaxTransformSkipBlockSize!=2; 3010 const Bool bUsingChromaQPTool = m_diffCuChromaQpOffsetDepth >= 0; 3011 const Bool bUsingExtendedPrecision = m_extendedPrecisionProcessingFlag; 3012 3012 3013 3013 xConfirmPara((m_chromaFormatConstraint==CHROMA_420 || m_chromaFormatConstraint==CHROMA_400) && bUsingChromaQPTool, "CU Chroma QP adjustment cannot be used for 4:0:0 or 4:2:0 RExt profiles"); … … 3042 3042 xConfirmPara(m_lowerBitRateConstraintFlag==false, "LowerBitrateConstraintFlag must be true for non main-RExt profiles."); 3043 3043 3044 xConfirmPara(m_ useCrossComponentPrediction==true, "CrossComponentPrediction must not be used for non main-RExt profiles.");3045 xConfirmPara(m_ transformSkipLog2MaxSize!=2, "Transform Skip Log2 Max Size must be 2 for V1 profiles.");3046 xConfirmPara(m_ useResidualRotation==true, "UseResidualRotation must not be enabled for non main-RExt profiles.");3047 xConfirmPara(m_ useSingleSignificanceMapContext==true, "UseSingleSignificanceMapContext must not be enabled for non main-RExt profiles.");3048 xConfirmPara(m_ useResidualDPCM[RDPCM_SIGNAL_IMPLICIT]==true, "ImplicitResidualDPCM must not be enabled for non main-RExt profiles.");3049 xConfirmPara(m_ useResidualDPCM[RDPCM_SIGNAL_EXPLICIT]==true, "ExplicitResidualDPCM must not be enabled for non main-RExt profiles.");3050 xConfirmPara(m_ useGolombRiceParameterAdaptation==true, "GolombRiceParameterAdaption must not be enabled for non main-RExt profiles.");3051 xConfirmPara(m_ useExtendedPrecision==true, "UseExtendedPrecision must not be enabled for non main-RExt profiles.");3052 xConfirmPara(m_ useHighPrecisionPredictionWeighting==true, "UseHighPrecisionPredictionWeighting must not be enabled for non main-RExt profiles.");3044 xConfirmPara(m_crossComponentPredictionEnabledFlag==true, "CrossComponentPrediction must not be used for non main-RExt profiles."); 3045 xConfirmPara(m_log2MaxTransformSkipBlockSize!=2, "Transform Skip Log2 Max Size must be 2 for V1 profiles."); 3046 xConfirmPara(m_transformSkipRotationEnabledFlag==true, "UseResidualRotation must not be enabled for non main-RExt profiles."); 3047 xConfirmPara(m_transformSkipContextEnabledFlag==true, "UseSingleSignificanceMapContext must not be enabled for non main-RExt profiles."); 3048 xConfirmPara(m_rdpcmEnabledFlag[RDPCM_SIGNAL_IMPLICIT]==true, "ImplicitResidualDPCM must not be enabled for non main-RExt profiles."); 3049 xConfirmPara(m_rdpcmEnabledFlag[RDPCM_SIGNAL_EXPLICIT]==true, "ExplicitResidualDPCM must not be enabled for non main-RExt profiles."); 3050 xConfirmPara(m_persistentRiceAdaptationEnabledFlag==true, "GolombRiceParameterAdaption must not be enabled for non main-RExt profiles."); 3051 xConfirmPara(m_extendedPrecisionProcessingFlag==true, "UseExtendedPrecision must not be enabled for non main-RExt profiles."); 3052 xConfirmPara(m_highPrecisionOffsetsEnabledFlag==true, "UseHighPrecisionPredictionWeighting must not be enabled for non main-RExt profiles."); 3053 3053 xConfirmPara(m_enableIntraReferenceSmoothing==false, "EnableIntraReferenceSmoothing must be enabled for non main-RExt profiles."); 3054 xConfirmPara(m_ alignCABACBeforeBypass, "AlignCABACBeforeBypass cannot be enabled for non main-RExt profiles.");3054 xConfirmPara(m_cabacBypassAlignmentEnabledFlag, "AlignCABACBeforeBypass cannot be enabled for non main-RExt profiles."); 3055 3055 } 3056 3056 … … 3060 3060 3061 3061 #if !RExt__HIGH_BIT_DEPTH_SUPPORT 3062 if (m_ useExtendedPrecision)3062 if (m_extendedPrecisionProcessingFlag) 3063 3063 { 3064 3064 for (UInt channelType = 0; channelType < MAX_NUM_CHANNEL_TYPE; channelType++) … … 3079 3079 xConfirmPara( (m_MSBExtendedBitDepth[CHANNEL_TYPE_CHROMA] < m_inputBitDepth[CHANNEL_TYPE_CHROMA]), "MSB-extended bit depth for chroma channel (--MSBExtendedBitDepthC) must be greater than or equal to input bit depth for chroma channel (--InputBitDepthC)" ); 3080 3080 3081 xConfirmPara( m_ saoOffsetBitShift[CHANNEL_TYPE_LUMA] > (m_internalBitDepth[CHANNEL_TYPE_LUMA ]<10?0:(m_internalBitDepth[CHANNEL_TYPE_LUMA ]-10)), "SaoLumaOffsetBitShift must be in the range of 0 to InternalBitDepth-10, inclusive");3082 xConfirmPara( m_ saoOffsetBitShift[CHANNEL_TYPE_CHROMA] > (m_internalBitDepth[CHANNEL_TYPE_CHROMA]<10?0:(m_internalBitDepth[CHANNEL_TYPE_CHROMA]-10)), "SaoChromaOffsetBitShift must be in the range of 0 to InternalBitDepthC-10, inclusive");3081 xConfirmPara( m_log2SaoOffsetScale[CHANNEL_TYPE_LUMA] > (m_internalBitDepth[CHANNEL_TYPE_LUMA ]<10?0:(m_internalBitDepth[CHANNEL_TYPE_LUMA ]-10)), "SaoLumaOffsetBitShift must be in the range of 0 to InternalBitDepth-10, inclusive"); 3082 xConfirmPara( m_log2SaoOffsetScale[CHANNEL_TYPE_CHROMA] > (m_internalBitDepth[CHANNEL_TYPE_CHROMA]<10?0:(m_internalBitDepth[CHANNEL_TYPE_CHROMA]-10)), "SaoChromaOffsetBitShift must be in the range of 0 to InternalBitDepthC-10, inclusive"); 3083 3083 3084 3084 xConfirmPara( m_chromaFormatIDC >= NUM_CHROMA_FORMAT, "ChromaFormatIDC must be either 400, 420, 422 or 444" ); … … 3132 3132 } 3133 3133 3134 if(m_ useCrossComponentPrediction&& (m_chromaFormatIDC != CHROMA_444))3134 if(m_crossComponentPredictionEnabledFlag && (m_chromaFormatIDC != CHROMA_444)) 3135 3135 { 3136 3136 fprintf(stderr, "****************************************************************************\n"); … … 3138 3138 fprintf(stderr, "****************************************************************************\n"); 3139 3139 3140 m_ useCrossComponentPrediction= false;3140 m_crossComponentPredictionEnabledFlag = false; 3141 3141 } 3142 3142 … … 3151 3151 } 3152 3152 3153 xConfirmPara (m_ transformSkipLog2MaxSize < 2, "Transform Skip Log2 Max Size must be at least 2 (4x4)");3154 3155 if (m_ transformSkipLog2MaxSize!=2 && m_useTransformSkipFast)3153 xConfirmPara (m_log2MaxTransformSkipBlockSize < 2, "Transform Skip Log2 Max Size must be at least 2 (4x4)"); 3154 3155 if (m_log2MaxTransformSkipBlockSize!=2 && m_useTransformSkipFast) 3156 3156 { 3157 3157 fprintf(stderr, "***************************************************************************\n"); … … 4314 4314 printf("Bitstream File : %s\n", m_pBitstreamFile ); 4315 4315 #else //SVC_EXTENSION 4316 printf("Input File : %s\n", m_pchInputFile ); 4317 printf("Bitstream File : %s\n", m_pchBitstreamFile ); 4318 printf("Reconstruction File : %s\n", m_pchReconFile ); 4319 printf("Real Format : %dx%d %dHz\n", m_iSourceWidth - m_confWinLeft - m_confWinRight, m_iSourceHeight - m_confWinTop - m_confWinBottom, m_iFrameRate ); 4320 printf("Internal Format : %dx%d %dHz\n", m_iSourceWidth, m_iSourceHeight, m_iFrameRate ); 4316 printf("\n"); 4317 printf("Input File : %s\n", m_pchInputFile ); 4318 printf("Bitstream File : %s\n", m_pchBitstreamFile ); 4319 printf("Reconstruction File : %s\n", m_pchReconFile ); 4320 printf("Real Format : %dx%d %dHz\n", m_iSourceWidth - m_confWinLeft - m_confWinRight, m_iSourceHeight - m_confWinTop - m_confWinBottom, m_iFrameRate ); 4321 printf("Internal Format : %dx%d %dHz\n", m_iSourceWidth, m_iSourceHeight, m_iFrameRate ); 4321 4322 #endif //SVC_EXTENSION 4322 4323 4323 printf("Sequence PSNR output : %s\n", (m_printMSEBasedSequencePSNR ? "Linear average, MSE-based" : "Linear average only") );4324 printf("Sequence MSE output : %s\n", (m_printSequenceMSE ? "Enabled" : "Disabled") );4325 printf("Frame MSE output : %s\n", (m_printFrameMSE ? "Enabled" : "Disabled") );4326 printf("Cabac-zero-word-padding : %s\n", (m_cabacZeroWordPaddingEnabled? "Enabled" : "Disabled") );4324 printf("Sequence PSNR output : %s\n", (m_printMSEBasedSequencePSNR ? "Linear average, MSE-based" : "Linear average only") ); 4325 printf("Sequence MSE output : %s\n", (m_printSequenceMSE ? "Enabled" : "Disabled") ); 4326 printf("Frame MSE output : %s\n", (m_printFrameMSE ? "Enabled" : "Disabled") ); 4327 printf("Cabac-zero-word-padding : %s\n", (m_cabacZeroWordPaddingEnabled? "Enabled" : "Disabled") ); 4327 4328 if (m_isField) 4328 4329 { 4329 printf("Frame/Field : Field based coding\n");4330 printf("Field index : %u - %d (%d fields)\n", m_FrameSkip, m_FrameSkip+m_framesToBeEncoded-1, m_framesToBeEncoded );4331 printf("Field Order : %s field first\n", m_isTopFieldFirst?"Top":"Bottom");4330 printf("Frame/Field : Field based coding\n"); 4331 printf("Field index : %u - %d (%d fields)\n", m_FrameSkip, m_FrameSkip+m_framesToBeEncoded-1, m_framesToBeEncoded ); 4332 printf("Field Order : %s field first\n", m_isTopFieldFirst?"Top":"Bottom"); 4332 4333 4333 4334 } 4334 4335 else 4335 4336 { 4336 printf("Frame/Field : Frame based coding\n");4337 printf("Frame index : %u - %d (%d frames)\n", m_FrameSkip, m_FrameSkip+m_framesToBeEncoded-1, m_framesToBeEncoded );4337 printf("Frame/Field : Frame based coding\n"); 4338 printf("Frame index : %u - %d (%d frames)\n", m_FrameSkip, m_FrameSkip+m_framesToBeEncoded-1, m_framesToBeEncoded ); 4338 4339 } 4339 4340 #if !SVC_EXTENSION … … 4353 4354 rextSubProfile="main_444_16 [NON STANDARD]"; 4354 4355 } 4355 printf("Profile : %s (%s)\n", profileToString(m_profile), (rextSubProfile.empty())?"INVALID REXT PROFILE":rextSubProfile.c_str() );4356 printf("Profile : %s (%s)\n", profileToString(m_profile), (rextSubProfile.empty())?"INVALID REXT PROFILE":rextSubProfile.c_str() ); 4356 4357 } 4357 4358 else 4358 4359 { 4359 printf("Profile : %s\n", profileToString(m_profile) );4360 } 4361 printf("CU size / depth / total-depth : %d / %d / %d\n", m_uiMaxCUWidth, m_uiMaxCUDepth, m_uiMaxTotalCUDepth );4362 printf("RQT trans. size (min / max) : %d / %d\n", 1 << m_uiQuadtreeTULog2MinSize, 1 << m_uiQuadtreeTULog2MaxSize );4363 printf("Max RQT depth inter : %d\n", m_uiQuadtreeTUMaxDepthInter);4364 printf("Max RQT depth intra : %d\n", m_uiQuadtreeTUMaxDepthIntra);4365 #endif 4366 printf("Min PCM size : %d\n", 1 << m_uiPCMLog2MinSize);4367 printf("Motion search range : %d\n", m_iSearchRange );4360 printf("Profile : %s\n", profileToString(m_profile) ); 4361 } 4362 printf("CU size / depth / total-depth : %d / %d / %d\n", m_uiMaxCUWidth, m_uiMaxCUDepth, m_uiMaxTotalCUDepth ); 4363 printf("RQT trans. size (min / max) : %d / %d\n", 1 << m_uiQuadtreeTULog2MinSize, 1 << m_uiQuadtreeTULog2MaxSize ); 4364 printf("Max RQT depth inter : %d\n", m_uiQuadtreeTUMaxDepthInter); 4365 printf("Max RQT depth intra : %d\n", m_uiQuadtreeTUMaxDepthIntra); 4366 #endif 4367 printf("Min PCM size : %d\n", 1 << m_uiPCMLog2MinSize); 4368 printf("Motion search range : %d\n", m_iSearchRange ); 4368 4369 #if !SVC_EXTENSION 4369 printf("Intra period : %d\n", m_iIntraPeriod );4370 #endif 4371 printf("Decoding refresh type : %d\n", m_iDecodingRefreshType );4370 printf("Intra period : %d\n", m_iIntraPeriod ); 4371 #endif 4372 printf("Decoding refresh type : %d\n", m_iDecodingRefreshType ); 4372 4373 #if !SVC_EXTENSION 4373 printf("QP : %5.2f\n", m_fQP ); 4374 printf("Max dQP signaling depth : %d\n", m_iMaxCuDQPDepth); 4375 #endif 4376 4377 printf("Cb QP Offset : %d\n", m_cbQpOffset ); 4378 printf("Cr QP Offset : %d\n", m_crQpOffset); 4379 printf("Max CU chroma QP adjustment depth : %d\n", m_maxCUChromaQpAdjustmentDepth); 4380 printf("QP adaptation : %d (range=%d)\n", m_bUseAdaptiveQP, (m_bUseAdaptiveQP ? m_iQPAdaptationRange : 0) ); 4381 printf("GOP size : %d\n", m_iGOPSize ); 4374 printf("QP : %5.2f\n", m_fQP ); 4375 printf("Max dQP signaling depth : %d\n", m_iMaxCuDQPDepth); 4376 #endif 4377 4378 printf("Cb QP Offset : %d\n", m_cbQpOffset ); 4379 printf("Cr QP Offset : %d\n", m_crQpOffset); 4380 printf("QP adaptation : %d (range=%d)\n", m_bUseAdaptiveQP, (m_bUseAdaptiveQP ? m_iQPAdaptationRange : 0) ); 4381 printf("GOP size : %d\n", m_iGOPSize ); 4382 4382 #if !SVC_EXTENSION 4383 printf("Input bit depth : (Y:%d, C:%d)\n", m_inputBitDepth[CHANNEL_TYPE_LUMA], m_inputBitDepth[CHANNEL_TYPE_CHROMA] ); 4384 printf("MSB-extended bit depth : (Y:%d, C:%d)\n", m_MSBExtendedBitDepth[CHANNEL_TYPE_LUMA], m_MSBExtendedBitDepth[CHANNEL_TYPE_CHROMA] ); 4385 printf("Internal bit depth : (Y:%d, C:%d)\n", m_internalBitDepth[CHANNEL_TYPE_LUMA], m_internalBitDepth[CHANNEL_TYPE_CHROMA] ); 4386 printf("PCM sample bit depth : (Y:%d, C:%d)\n", m_bPCMInputBitDepthFlag ? m_MSBExtendedBitDepth[CHANNEL_TYPE_LUMA] : m_internalBitDepth[CHANNEL_TYPE_LUMA], 4387 m_bPCMInputBitDepthFlag ? m_MSBExtendedBitDepth[CHANNEL_TYPE_CHROMA] : m_internalBitDepth[CHANNEL_TYPE_CHROMA] ); 4388 printf("Extended precision processing : %s\n", (m_useExtendedPrecision ? "Enabled" : "Disabled") ); 4389 #endif 4390 printf("Intra reference smoothing : %s\n", (m_enableIntraReferenceSmoothing ? "Enabled" : "Disabled") ); 4391 printf("Implicit residual DPCM : %s\n", (m_useResidualDPCM[RDPCM_SIGNAL_IMPLICIT] ? "Enabled" : "Disabled") ); 4392 printf("Explicit residual DPCM : %s\n", (m_useResidualDPCM[RDPCM_SIGNAL_EXPLICIT] ? "Enabled" : "Disabled") ); 4393 printf("Residual rotation : %s\n", (m_useResidualRotation ? "Enabled" : "Disabled") ); 4394 printf("Single significance map context : %s\n", (m_useSingleSignificanceMapContext ? "Enabled" : "Disabled") ); 4395 printf("Cross-component prediction : %s\n", (m_useCrossComponentPrediction ? (m_reconBasedCrossCPredictionEstimate ? "Enabled (reconstructed-residual-based estimate)" : "Enabled (encoder-side-residual-based estimate)") : "Disabled") ); 4383 printf("Input bit depth : (Y:%d, C:%d)\n", m_inputBitDepth[CHANNEL_TYPE_LUMA], m_inputBitDepth[CHANNEL_TYPE_CHROMA] ); 4384 printf("MSB-extended bit depth : (Y:%d, C:%d)\n", m_MSBExtendedBitDepth[CHANNEL_TYPE_LUMA], m_MSBExtendedBitDepth[CHANNEL_TYPE_CHROMA] ); 4385 printf("Internal bit depth : (Y:%d, C:%d)\n", m_internalBitDepth[CHANNEL_TYPE_LUMA], m_internalBitDepth[CHANNEL_TYPE_CHROMA] ); 4386 printf("PCM sample bit depth : (Y:%d, C:%d)\n", m_bPCMInputBitDepthFlag ? m_MSBExtendedBitDepth[CHANNEL_TYPE_LUMA] : m_internalBitDepth[CHANNEL_TYPE_LUMA], 4387 m_bPCMInputBitDepthFlag ? m_MSBExtendedBitDepth[CHANNEL_TYPE_CHROMA] : m_internalBitDepth[CHANNEL_TYPE_CHROMA] ); 4388 #endif 4389 printf("Intra reference smoothing : %s\n", (m_enableIntraReferenceSmoothing ? "Enabled" : "Disabled") ); 4390 printf("diff_cu_chroma_qp_offset_depth : %d\n", m_diffCuChromaQpOffsetDepth); 4396 4391 #if !SVC_EXTENSION 4397 printf("High-precision prediction weight : %s\n", (m_useHighPrecisionPredictionWeighting ? "Enabled" : "Disabled") ); 4398 #endif 4399 printf("Golomb-Rice parameter adaptation : %s\n", (m_useGolombRiceParameterAdaptation ? "Enabled" : "Disabled") ); 4400 printf("CABAC bypass bit alignment : %s\n", (m_alignCABACBeforeBypass ? "Enabled" : "Disabled") ); 4392 printf("extended_precision_processing_flag : %s\n", (m_extendedPrecisionProcessingFlag ? "Enabled" : "Disabled") ); 4393 #endif 4394 printf("implicit_rdpcm_enabled_flag : %s\n", (m_rdpcmEnabledFlag[RDPCM_SIGNAL_IMPLICIT] ? "Enabled" : "Disabled") ); 4395 printf("explicit_rdpcm_enabled_flag : %s\n", (m_rdpcmEnabledFlag[RDPCM_SIGNAL_EXPLICIT] ? "Enabled" : "Disabled") ); 4396 printf("transform_skip_rotation_enabled_flag : %s\n", (m_transformSkipRotationEnabledFlag ? "Enabled" : "Disabled") ); 4397 printf("transform_skip_context_enabled_flag : %s\n", (m_transformSkipContextEnabledFlag ? "Enabled" : "Disabled") ); 4398 printf("cross_component_prediction_enabled_flag: %s\n", (m_crossComponentPredictionEnabledFlag ? (m_reconBasedCrossCPredictionEstimate ? "Enabled (reconstructed-residual-based estimate)" : "Enabled (encoder-side-residual-based estimate)") : "Disabled") ); 4399 #if !SVC_EXTENSION 4400 printf("high_precision_offsets_enabled_flag : %s\n", (m_highPrecisionOffsetsEnabledFlag ? "Enabled" : "Disabled") ); 4401 #endif 4402 printf("persistent_rice_adaptation_enabled_flag: %s\n", (m_persistentRiceAdaptationEnabledFlag ? "Enabled" : "Disabled") ); 4403 printf("cabac_bypass_alignment_enabled_flag : %s\n", (m_cabacBypassAlignmentEnabledFlag ? "Enabled" : "Disabled") ); 4401 4404 if (m_bUseSAO) 4402 4405 { 4403 printf(" Sao Luma Offset bit shifts : %d\n", m_saoOffsetBitShift[CHANNEL_TYPE_LUMA]);4404 printf(" Sao Chroma Offset bit shifts : %d\n", m_saoOffsetBitShift[CHANNEL_TYPE_CHROMA]);4406 printf("log2_sao_offset_scale_luma : %d\n", m_log2SaoOffsetScale[CHANNEL_TYPE_LUMA]); 4407 printf("log2_sao_offset_scale_chroma : %d\n", m_log2SaoOffsetScale[CHANNEL_TYPE_CHROMA]); 4405 4408 } 4406 4409 4407 4410 switch (m_costMode) 4408 4411 { 4409 case COST_STANDARD_LOSSY: printf("Cost function: : Lossy coding (default)\n"); break;4410 case COST_SEQUENCE_LEVEL_LOSSLESS: printf("Cost function: : Sequence_level_lossless coding\n"); break;4411 case COST_LOSSLESS_CODING: printf("Cost function: : Lossless coding with fixed QP of %d\n", LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP); break;4412 case COST_MIXED_LOSSLESS_LOSSY_CODING: printf("Cost function: : Mixed_lossless_lossy coding with QP'=%d for lossless evaluation\n", LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP_PRIME); break;4413 default: printf("Cost function: : Unknown\n"); break;4412 case COST_STANDARD_LOSSY: printf("Cost function: : Lossy coding (default)\n"); break; 4413 case COST_SEQUENCE_LEVEL_LOSSLESS: printf("Cost function: : Sequence_level_lossless coding\n"); break; 4414 case COST_LOSSLESS_CODING: printf("Cost function: : Lossless coding with fixed QP of %d\n", LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP); break; 4415 case COST_MIXED_LOSSLESS_LOSSY_CODING: printf("Cost function: : Mixed_lossless_lossy coding with QP'=%d for lossless evaluation\n", LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP_PRIME); break; 4416 default: printf("Cost function: : Unknown\n"); break; 4414 4417 } 4415 4418 4416 4419 #if !RC_SHVC_HARMONIZATION 4417 printf("RateControl : %d\n", m_RCEnableRateControl );4420 printf("RateControl : %d\n", m_RCEnableRateControl ); 4418 4421 4419 4422 if(m_RCEnableRateControl) 4420 4423 { 4421 printf("TargetBitrate : %d\n", m_RCTargetBitrate );4422 printf("KeepHierarchicalBit : %d\n", m_RCKeepHierarchicalBit );4423 printf("LCULevelRC : %d\n", m_RCLCULevelRC );4424 printf("UseLCUSeparateModel : %d\n", m_RCUseLCUSeparateModel );4425 printf("InitialQP : %d\n", m_RCInitialQP );4426 printf("ForceIntraQP : %d\n", m_RCForceIntraQP );4427 } 4428 #endif 4429 4430 printf("Max Num Merge Candidates : %d\n", m_maxNumMergeCand);4424 printf("TargetBitrate : %d\n", m_RCTargetBitrate ); 4425 printf("KeepHierarchicalBit : %d\n", m_RCKeepHierarchicalBit ); 4426 printf("LCULevelRC : %d\n", m_RCLCULevelRC ); 4427 printf("UseLCUSeparateModel : %d\n", m_RCUseLCUSeparateModel ); 4428 printf("InitialQP : %d\n", m_RCInitialQP ); 4429 printf("ForceIntraQP : %d\n", m_RCForceIntraQP ); 4430 } 4431 #endif 4432 4433 printf("Max Num Merge Candidates : %d\n", m_maxNumMergeCand); 4431 4434 printf("\n"); 4432 4435 … … 4452 4455 printf("TransformSkip:%d ", m_useTransformSkip ); 4453 4456 printf("TransformSkipFast:%d ", m_useTransformSkipFast ); 4454 printf("TransformSkipLog2MaxSize:%d ", m_ transformSkipLog2MaxSize);4457 printf("TransformSkipLog2MaxSize:%d ", m_log2MaxTransformSkipBlockSize); 4455 4458 printf("Slice: M=%d ", m_sliceMode); 4456 4459 if (m_sliceMode!=NO_SLICES) -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h
r1311 r1316 168 168 169 169 GOPEntry m_GOPList[MAX_GOP]; ///< the coding structure entries from the config file 170 171 170 Int m_numReorderPics[MAX_TLAYER]; ///< total number of reorder pictures 172 171 Int m_maxDecPicBuffering[MAX_TLAYER]; ///< total number of pictures in the decoded picture buffer 173 Bool m_ useCrossComponentPrediction;///< flag enabling the use of cross-component prediction172 Bool m_crossComponentPredictionEnabledFlag; ///< flag enabling the use of cross-component prediction 174 173 Bool m_reconBasedCrossCPredictionEstimate; ///< causes the alpha calculation in encoder search to be based on the decoded residual rather than the pre-transform encoder-side residual 175 UInt m_ saoOffsetBitShift[MAX_NUM_CHANNEL_TYPE];///< number of bits for the upward bit shift operation on the decoded SAO offsets174 UInt m_log2SaoOffsetScale[MAX_NUM_CHANNEL_TYPE]; ///< number of bits for the upward bit shift operation on the decoded SAO offsets 176 175 Bool m_useTransformSkip; ///< flag for enabling intra transform skipping 177 176 Bool m_useTransformSkipFast; ///< flag for enabling fast intra transform skipping 178 UInt m_ transformSkipLog2MaxSize;///< transform-skip maximum size (minimum of 2)179 Bool m_ useResidualRotation;///< control flag for transform-skip/transquant-bypass residual rotation180 Bool m_ useSingleSignificanceMapContext; ///< control flag for transform-skip/transquant-bypass single significance map context181 Bool m_ useResidualDPCM[NUMBER_OF_RDPCM_SIGNALLING_MODES];///< control flags for residual DPCM177 UInt m_log2MaxTransformSkipBlockSize; ///< transform-skip maximum size (minimum of 2) 178 Bool m_transformSkipRotationEnabledFlag; ///< control flag for transform-skip/transquant-bypass residual rotation 179 Bool m_transformSkipContextEnabledFlag; ///< control flag for transform-skip/transquant-bypass single significance map context 180 Bool m_rdpcmEnabledFlag[NUMBER_OF_RDPCM_SIGNALLING_MODES];///< control flags for residual DPCM 182 181 Bool m_enableAMP; 183 Bool m_ useGolombRiceParameterAdaptation;///< control flag for Golomb-Rice parameter adaptation over each slice184 Bool m_ alignCABACBeforeBypass;182 Bool m_persistentRiceAdaptationEnabledFlag; ///< control flag for Golomb-Rice parameter adaptation over each slice 183 Bool m_cabacBypassAlignmentEnabledFlag; 185 184 186 185 // coding quality … … 196 195 Int m_iMaxCuDQPDepth; ///< Max. depth for a minimum CuDQPSize (0:default) 197 196 #endif 198 Int m_ maxCUChromaQpAdjustmentDepth;197 Int m_diffCuChromaQpOffsetDepth; ///< If negative, then do not apply chroma qp offsets. 199 198 200 199 Int m_cbQpOffset; ///< Chroma Cb QP Offset (0:default) … … 234 233 Int m_MSBExtendedBitDepth[MAX_NUM_CHANNEL_TYPE]; ///< bit-depth of input samples after MSB extension 235 234 Int m_internalBitDepth[MAX_NUM_CHANNEL_TYPE]; ///< bit-depth codec operates at (input/output files will be converted) 236 Bool m_ useExtendedPrecision;237 Bool m_ useHighPrecisionPredictionWeighting;235 Bool m_extendedPrecisionProcessingFlag; 236 Bool m_highPrecisionOffsetsEnabledFlag; 238 237 239 238 //coding tools (chroma format) … … 298 297 #if !SVC_EXTENSION 299 298 Int m_iWaveFrontSynchro; //< 0: no WPP. >= 1: WPP is enabled, the "Top right" from which inheritance occurs is this LCU offset in the line above the current. 299 Int m_iWaveFrontFlush; //< enable(1)/disable(0) the CABAC flush at the end of each line of LCUs. 300 300 #endif 301 301 -
branches/SHM-dev/source/App/TAppEncoder/TAppEncLayerCfg.h
r1290 r1316 88 88 Int m_maxTidIlRefPicsPlus1; 89 89 Int m_waveFrontSynchro; ///< 0: no WPP. >= 1: WPP is enabled, the "Top right" from which inheritance occurs is this LCU offset in the line above the current. 90 Int m_waveFrontFlush; ///< enable(1)/disable(0) the CABAC flush at the end of each line of LCUs. 90 91 91 92 Int m_iQP; ///< QP value of key-picture (integer) … … 115 116 Int m_MSBExtendedBitDepth[MAX_NUM_CHANNEL_TYPE]; ///< bit-depth of input samples after MSB extension 116 117 Int m_internalBitDepth[MAX_NUM_CHANNEL_TYPE]; ///< bit-depth codec operates at (input/output files will be converted) 117 UInt m_ saoOffsetBitShift[MAX_NUM_CHANNEL_TYPE];118 Bool m_ useExtendedPrecision;119 Bool m_ useHighPrecisionPredictionWeighting;118 UInt m_log2SaoOffsetScale[MAX_NUM_CHANNEL_TYPE]; 119 Bool m_extendedPrecisionProcessingFlag; 120 Bool m_highPrecisionOffsetsEnabledFlag; 120 121 121 122 Int m_repFormatIdx; -
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r1311 r1316 414 414 m_acTEncTop[layer].setMaxDeltaQP ( m_iMaxDeltaQP ); 415 415 m_acTEncTop[layer].setMaxCuDQPDepth ( m_acLayerCfg[layer].m_iMaxCuDQPDepth ); 416 m_acTEncTop[layer].set MaxCUChromaQpAdjustmentDepth ( m_maxCUChromaQpAdjustmentDepth );416 m_acTEncTop[layer].setDiffCuChromaQpOffsetDepth ( m_diffCuChromaQpOffsetDepth ); 417 417 m_acTEncTop[layer].setChromaCbQpOffset ( m_cbQpOffset ); 418 418 m_acTEncTop[layer].setChromaCrQpOffset ( m_crQpOffset ); … … 426 426 m_acTEncTop[layer].setUseAdaptiveQP ( m_bUseAdaptiveQP ); 427 427 m_acTEncTop[layer].setQPAdaptationRange ( m_iQPAdaptationRange ); 428 m_acTEncTop[layer].set UseExtendedPrecision ( m_acLayerCfg[layer].m_useExtendedPrecision);429 m_acTEncTop[layer].set UseHighPrecisionPredictionWeighting ( m_acLayerCfg[layer].m_useHighPrecisionPredictionWeighting );428 m_acTEncTop[layer].setExtendedPrecisionProcessingFlag ( m_acLayerCfg[layer].m_extendedPrecisionProcessingFlag ); 429 m_acTEncTop[layer].setHighPrecisionOffsetsEnabledFlag ( m_acLayerCfg[layer].m_highPrecisionOffsetsEnabledFlag ); 430 430 431 431 //====== Tool list ======== … … 455 455 m_acTEncTop[layer].setUseCbfFastMode ( m_bUseCbfFastMode ); 456 456 m_acTEncTop[layer].setUseEarlySkipDetection ( m_useEarlySkipDetection ); 457 m_acTEncTop[layer].set UseCrossComponentPrediction ( m_useCrossComponentPrediction);457 m_acTEncTop[layer].setCrossComponentPredictionEnabledFlag ( m_crossComponentPredictionEnabledFlag ); 458 458 m_acTEncTop[layer].setUseReconBasedCrossCPredictionEstimate ( m_reconBasedCrossCPredictionEstimate ); 459 m_acTEncTop[layer].set SaoOffsetBitShift ( CHANNEL_TYPE_LUMA , m_saoOffsetBitShift[CHANNEL_TYPE_LUMA] );460 m_acTEncTop[layer].set SaoOffsetBitShift ( CHANNEL_TYPE_CHROMA, m_saoOffsetBitShift[CHANNEL_TYPE_CHROMA] );459 m_acTEncTop[layer].setLog2SaoOffsetScale ( CHANNEL_TYPE_LUMA , m_log2SaoOffsetScale[CHANNEL_TYPE_LUMA] ); 460 m_acTEncTop[layer].setLog2SaoOffsetScale ( CHANNEL_TYPE_CHROMA, m_log2SaoOffsetScale[CHANNEL_TYPE_CHROMA] ); 461 461 m_acTEncTop[layer].setUseTransformSkip ( m_useTransformSkip ); 462 462 m_acTEncTop[layer].setUseTransformSkipFast ( m_useTransformSkipFast ); 463 m_acTEncTop[layer].set UseResidualRotation ( m_useResidualRotation);464 m_acTEncTop[layer].set UseSingleSignificanceMapContext ( m_useSingleSignificanceMapContext);465 m_acTEncTop[layer].set UseGolombRiceParameterAdaptation ( m_useGolombRiceParameterAdaptation);466 m_acTEncTop[layer].set AlignCABACBeforeBypass ( m_alignCABACBeforeBypass);467 m_acTEncTop[layer].set TransformSkipLog2MaxSize ( m_transformSkipLog2MaxSize );463 m_acTEncTop[layer].setTransformSkipRotationEnabledFlag ( m_transformSkipRotationEnabledFlag ); 464 m_acTEncTop[layer].setTransformSkipContextEnabledFlag ( m_transformSkipContextEnabledFlag ); 465 m_acTEncTop[layer].setPersistentRiceAdaptationEnabledFlag ( m_persistentRiceAdaptationEnabledFlag ); 466 m_acTEncTop[layer].setCabacBypassAlignmentEnabledFlag ( m_cabacBypassAlignmentEnabledFlag ); 467 m_acTEncTop[layer].setLog2MaxTransformSkipBlockSize ( m_log2MaxTransformSkipBlockSize ); 468 468 for (UInt signallingModeIndex = 0; signallingModeIndex < NUMBER_OF_RDPCM_SIGNALLING_MODES; signallingModeIndex++) 469 469 { 470 m_acTEncTop[layer].set UseResidualDPCM ( RDPCMSignallingMode(signallingModeIndex), m_useResidualDPCM[signallingModeIndex]);470 m_acTEncTop[layer].setRdpcmEnabledFlag ( RDPCMSignallingMode(signallingModeIndex), m_rdpcmEnabledFlag[signallingModeIndex]); 471 471 } 472 472 m_acTEncTop[layer].setUseConstrainedIntraPred ( m_bUseConstrainedIntraPred ); … … 521 521 m_acTEncTop[layer].setPCMFilterDisableFlag ( m_bPCMFilterDisableFlag); 522 522 523 m_acTEncTop[layer].set DisableIntraReferenceSmoothing(!m_enableIntraReferenceSmoothing );523 m_acTEncTop[layer].setIntraSmoothingDisabledFlag (!m_enableIntraReferenceSmoothing ); 524 524 m_acTEncTop[layer].setDecodedPictureHashSEIEnabled ( m_decodedPictureHashSEIEnabled ); 525 525 m_acTEncTop[layer].setRecoveryPointSEIEnabled ( m_recoveryPointSEIEnabled ); … … 851 851 m_cTEncTop.setMaxDeltaQP ( m_iMaxDeltaQP ); 852 852 m_cTEncTop.setMaxCuDQPDepth ( m_iMaxCuDQPDepth ); 853 m_cTEncTop.set MaxCUChromaQpAdjustmentDepth ( m_maxCUChromaQpAdjustmentDepth );853 m_cTEncTop.setDiffCuChromaQpOffsetDepth ( m_diffCuChromaQpOffsetDepth ); 854 854 m_cTEncTop.setChromaCbQpOffset ( m_cbQpOffset ); 855 855 m_cTEncTop.setChromaCrQpOffset ( m_crQpOffset ); … … 863 863 m_cTEncTop.setUseAdaptiveQP ( m_bUseAdaptiveQP ); 864 864 m_cTEncTop.setQPAdaptationRange ( m_iQPAdaptationRange ); 865 m_cTEncTop.set UseExtendedPrecision ( m_useExtendedPrecision);866 m_cTEncTop.set UseHighPrecisionPredictionWeighting ( m_useHighPrecisionPredictionWeighting );865 m_cTEncTop.setExtendedPrecisionProcessingFlag ( m_extendedPrecisionProcessingFlag ); 866 m_cTEncTop.setHighPrecisionOffsetsEnabledFlag ( m_highPrecisionOffsetsEnabledFlag ); 867 867 //====== Tool list ======== 868 868 m_cTEncTop.setDeltaQpRD ( m_uiDeltaQpRD ); … … 892 892 m_cTEncTop.setUseFastIntraScalable ( m_useFastIntraScalable ); 893 893 #endif 894 m_cTEncTop.set UseCrossComponentPrediction ( m_useCrossComponentPrediction);894 m_cTEncTop.setCrossComponentPredictionEnabledFlag ( m_crossComponentPredictionEnabledFlag ); 895 895 m_cTEncTop.setUseReconBasedCrossCPredictionEstimate ( m_reconBasedCrossCPredictionEstimate ); 896 m_cTEncTop.set SaoOffsetBitShift ( CHANNEL_TYPE_LUMA , m_saoOffsetBitShift[CHANNEL_TYPE_LUMA] );897 m_cTEncTop.set SaoOffsetBitShift ( CHANNEL_TYPE_CHROMA, m_saoOffsetBitShift[CHANNEL_TYPE_CHROMA] );896 m_cTEncTop.setLog2SaoOffsetScale ( CHANNEL_TYPE_LUMA , m_log2SaoOffsetScale[CHANNEL_TYPE_LUMA] ); 897 m_cTEncTop.setLog2SaoOffsetScale ( CHANNEL_TYPE_CHROMA, m_log2SaoOffsetScale[CHANNEL_TYPE_CHROMA] ); 898 898 m_cTEncTop.setUseTransformSkip ( m_useTransformSkip ); 899 899 m_cTEncTop.setUseTransformSkipFast ( m_useTransformSkipFast ); 900 m_cTEncTop.set UseResidualRotation ( m_useResidualRotation);901 m_cTEncTop.set UseSingleSignificanceMapContext ( m_useSingleSignificanceMapContext);902 m_cTEncTop.set UseGolombRiceParameterAdaptation ( m_useGolombRiceParameterAdaptation);903 m_cTEncTop.set AlignCABACBeforeBypass ( m_alignCABACBeforeBypass);904 m_cTEncTop.set TransformSkipLog2MaxSize ( m_transformSkipLog2MaxSize );900 m_cTEncTop.setTransformSkipRotationEnabledFlag ( m_transformSkipRotationEnabledFlag ); 901 m_cTEncTop.setTransformSkipContextEnabledFlag ( m_transformSkipContextEnabledFlag ); 902 m_cTEncTop.setPersistentRiceAdaptationEnabledFlag ( m_persistentRiceAdaptationEnabledFlag ); 903 m_cTEncTop.setCabacBypassAlignmentEnabledFlag ( m_cabacBypassAlignmentEnabledFlag ); 904 m_cTEncTop.setLog2MaxTransformSkipBlockSize ( m_log2MaxTransformSkipBlockSize ); 905 905 for (UInt signallingModeIndex = 0; signallingModeIndex < NUMBER_OF_RDPCM_SIGNALLING_MODES; signallingModeIndex++) 906 906 { 907 m_cTEncTop.set UseResidualDPCM ( RDPCMSignallingMode(signallingModeIndex), m_useResidualDPCM[signallingModeIndex]);907 m_cTEncTop.setRdpcmEnabledFlag ( RDPCMSignallingMode(signallingModeIndex), m_rdpcmEnabledFlag[signallingModeIndex]); 908 908 } 909 909 m_cTEncTop.setUseConstrainedIntraPred ( m_bUseConstrainedIntraPred ); … … 948 948 m_cTEncTop.setPCMFilterDisableFlag ( m_bPCMFilterDisableFlag); 949 949 950 m_cTEncTop.set DisableIntraReferenceSmoothing(!m_enableIntraReferenceSmoothing );950 m_cTEncTop.setIntraSmoothingDisabledFlag (!m_enableIntraReferenceSmoothing ); 951 951 m_cTEncTop.setDecodedPictureHashSEIEnabled ( m_decodedPictureHashSEIEnabled ); 952 952 m_cTEncTop.setRecoveryPointSEIEnabled ( m_recoveryPointSEIEnabled );
Note: See TracChangeset for help on using the changeset viewer.