Changeset 1386 in 3DVCSoftware for trunk/source/Lib/TLibDecoder
- Timestamp:
- 13 Nov 2015, 16:29:39 (9 years ago)
- Location:
- trunk/source/Lib/TLibDecoder
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibDecoder/SEIread.cpp
r1356 r1386 63 63 #endif 64 64 65 Void SEIReader::sei_read_code(std::ostream *pOS, UInt uiLength, UInt& ruiCode, const Char *pSymbolName)65 Void SEIReader::sei_read_code(std::ostream *pOS, UInt uiLength, UInt& ruiCode, const TChar *pSymbolName) 66 66 { 67 67 READ_CODE(uiLength, ruiCode, pSymbolName); … … 72 72 } 73 73 74 Void SEIReader::sei_read_uvlc(std::ostream *pOS, UInt& ruiCode, const Char *pSymbolName)74 Void SEIReader::sei_read_uvlc(std::ostream *pOS, UInt& ruiCode, const TChar *pSymbolName) 75 75 { 76 76 READ_UVLC(ruiCode, pSymbolName); … … 81 81 } 82 82 83 Void SEIReader::sei_read_svlc(std::ostream *pOS, Int& ruiCode, const Char *pSymbolName)83 Void SEIReader::sei_read_svlc(std::ostream *pOS, Int& ruiCode, const TChar *pSymbolName) 84 84 { 85 85 READ_SVLC(ruiCode, pSymbolName); … … 90 90 } 91 91 92 Void SEIReader::sei_read_flag(std::ostream *pOS, UInt& ruiCode, const Char *pSymbolName)92 Void SEIReader::sei_read_flag(std::ostream *pOS, UInt& ruiCode, const TChar *pSymbolName) 93 93 { 94 94 READ_FLAG(ruiCode, pSymbolName); … … 99 99 } 100 100 101 Void SEIReader::sei_read_string(std::ostream *pOS, UInt uiBufSize, UChar* pucCode, UInt& ruiLength, const Char *pSymbolName) 101 #if NH_MV 102 Void SEIReader::sei_read_string(std::ostream *pOS, UInt uiBufSize, UChar* pucCode, UInt& ruiLength, const TChar *pSymbolName) 102 103 { 103 104 READ_STRING(uiBufSize, pucCode, ruiLength, pSymbolName); … … 107 108 } 108 109 } 109 110 #if NH_MV_SEI111 110 inline Void SEIReader::output_sei_message_header(SEI &sei, std::ostream *pDecodedMessageOutputStream, UInt payloadSize) 112 111 #else … … 118 117 std::string seiMessageHdr(SEI::getSEIMessageString(sei.payloadType())); seiMessageHdr+=" SEI message"; 119 118 (*pDecodedMessageOutputStream) << std::setfill('-') << std::setw(seiMessageHdr.size()) << "-" << std::setfill(' ') << "\n" << seiMessageHdr << " (" << payloadSize << " bytes)"<< "\n"; 120 #if NH_MV _SEI119 #if NH_MV 121 120 (*pDecodedMessageOutputStream) << std::setfill(' ') << "LayerId: " << m_layerId << std::setw(2) << " Picture: " << m_decOrder << std::setw( 5 ) << std::endl; 122 121 #endif … … 133 132 * unmarshal a single SEI message from bitstream bs 134 133 */ 135 #if NH_MV _LAYERS_NOT_PRESENT_SEI134 #if NH_MV 136 135 Void SEIReader::parseSEImessage(TComInputBitstream* bs, SEIMessages& seis, const NalUnitType nalUnitType, const TComVPS *vps, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream) 137 136 #else … … 144 143 do 145 144 { 146 #if NH_MV _LAYERS_NOT_PRESENT_SEI145 #if NH_MV 147 146 xReadSEImessage(seis, nalUnitType, vps, sps, pDecodedMessageOutputStream); 148 147 #else … … 158 157 } 159 158 160 #if NH_MV _LAYERS_NOT_PRESENT_SEI159 #if NH_MV 161 160 Void SEIReader::xReadSEImessage(SEIMessages& seis, const NalUnitType nalUnitType, const TComVPS *vps, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream) 162 161 #else … … 281 280 case SEI::SCALABLE_NESTING: 282 281 sei = new SEIScalableNesting; 283 #if NH_MV _LAYERS_NOT_PRESENT_SEI282 #if NH_MV 284 283 xParseSEIScalableNesting((SEIScalableNesting&) *sei, nalUnitType, payloadSize, vps, sps, pDecodedMessageOutputStream); 285 284 #else … … 295 294 xParseSEITimeCode((SEITimeCode&) *sei, payloadSize, pDecodedMessageOutputStream); 296 295 break; 297 case SEI::CHROMA_ SAMPLING_FILTER_HINT:298 sei = new SEIChroma SamplingFilterHint;299 xParseSEIChroma SamplingFilterHint((SEIChromaSamplingFilterHint&) *sei, payloadSize/*, sps*/, pDecodedMessageOutputStream);296 case SEI::CHROMA_RESAMPLING_FILTER_HINT: 297 sei = new SEIChromaResamplingFilterHint; 298 xParseSEIChromaResamplingFilterHint((SEIChromaResamplingFilterHint&) *sei, payloadSize, pDecodedMessageOutputStream); 300 299 //} 301 300 break; … … 304 303 xParseSEIKneeFunctionInfo((SEIKneeFunctionInfo&) *sei, payloadSize, pDecodedMessageOutputStream); 305 304 break; 305 case SEI::COLOUR_REMAPPING_INFO: 306 sei = new SEIColourRemappingInfo; 307 xParseSEIColourRemappingInfo((SEIColourRemappingInfo&) *sei, payloadSize, pDecodedMessageOutputStream); 308 break; 306 309 case SEI::MASTERING_DISPLAY_COLOUR_VOLUME: 307 310 sei = new SEIMasteringDisplayColourVolume; 308 311 xParseSEIMasteringDisplayColourVolume((SEIMasteringDisplayColourVolume&) *sei, payloadSize, pDecodedMessageOutputStream); 309 312 break; 310 #if !NH_MV_SEI 311 case SEI::SUB_BITSTREAM_PROPERTY: 312 sei = new SEISubBitstreamProperty; 313 xParseSEISubBitstreamProperty((SEISubBitstreamProperty&) *sei, payloadSize, pDecodedMessageOutputStream ); 314 break; 315 #else 316 #if NH_MV_LAYERS_NOT_PRESENT_SEI 313 #if NH_MV 317 314 case SEI::LAYERS_NOT_PRESENT: 318 315 if (!vps) … … 326 323 } 327 324 break; 328 #endif329 325 case SEI::INTER_LAYER_CONSTRAINED_TILE_SETS: 330 326 sei = new SEIInterLayerConstrainedTileSets; … … 367 363 xParseSEIThreeDimensionalReferenceDisplaysInfo((SEIThreeDimensionalReferenceDisplaysInfo&) *sei, payloadSize, pDecodedMessageOutputStream ); 368 364 break; 369 #if SEI_DRI_F0169370 365 case SEI::DEPTH_REPRESENTATION_INFO: 371 366 sei = new SEIDepthRepresentationInfo; 372 367 xParseSEIDepthRepresentationInfo((SEIDepthRepresentationInfo&) *sei, payloadSize, pDecodedMessageOutputStream ); 373 368 break; 374 #endif375 369 case SEI::MULTIVIEW_SCENE_INFO: 376 370 sei = new SEIMultiviewSceneInfo; … … 531 525 UInt val; 532 526 sei_read_code( pDecodedMessageOutputStream, 8, val, "hash_type"); 533 sei.method = static_cast< SEIDecodedPictureHash::Method>(val); bytesRead++;534 535 const Char *traceString="\0";527 sei.method = static_cast<HashType>(val); bytesRead++; 528 529 const TChar *traceString="\0"; 536 530 switch (sei.method) 537 531 { 538 case SEIDecodedPictureHash::MD5: traceString="picture_md5"; break;539 case SEIDecodedPictureHash::CRC: traceString="picture_crc"; break;540 case SEIDecodedPictureHash::CHECKSUM: traceString="picture_checksum"; break;532 case HASHTYPE_MD5: traceString="picture_md5"; break; 533 case HASHTYPE_CRC: traceString="picture_crc"; break; 534 case HASHTYPE_CHECKSUM: traceString="picture_checksum"; break; 541 535 default: assert(false); break; 542 536 } … … 916 910 } 917 911 918 #if NH_MV _LAYERS_NOT_PRESENT_SEI912 #if NH_MV 919 913 Void SEIReader::xParseSEIScalableNesting(SEIScalableNesting& sei, const NalUnitType nalUnitType, UInt payloadSize, const TComVPS *vps, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream) 920 914 #else … … 962 956 do 963 957 { 964 #if NH_MV _LAYERS_NOT_PRESENT_SEI958 #if NH_MV 965 959 xReadSEImessage(sei.m_nestedSEIs, nalUnitType, vps, sps, pDecodedMessageOutputStream); 966 960 #else … … 974 968 } 975 969 } 976 977 #if NH_MV978 #if !NH_MV_SEI979 Void SEIReader::xParseSEISubBitstreamProperty(SEISubBitstreamProperty &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream )980 {981 UInt code;982 output_sei_message_header(sei, pDecodedMessageOutputStream, payloadSize);983 sei_read_code( pDecodedMessageOutputStream, 4, code, "active_vps_id" ); sei.m_activeVpsId = code;984 sei_read_uvlc( pDecodedMessageOutputStream, code, "num_additional_sub_streams_minus1" ); sei.m_numAdditionalSubStreams = code + 1;985 986 xResizeSubBitstreamPropertySeiArrays(sei);987 for( Int i = 0; i < sei.m_numAdditionalSubStreams; i++ )988 {989 sei_read_code( pDecodedMessageOutputStream, 2, code, "sub_bitstream_mode[i]" ); sei.m_subBitstreamMode[i] = code;990 sei_read_uvlc( pDecodedMessageOutputStream, code, "output_layer_set_idx_to_vps[i]" ); sei.m_outputLayerSetIdxToVps[i] = code;991 sei_read_code( pDecodedMessageOutputStream, 3, code, "highest_sub_layer_id[i]" ); sei.m_highestSublayerId[i] = code;992 sei_read_code( pDecodedMessageOutputStream, 16, code, "avg_bit_rate[i]" ); sei.m_avgBitRate[i] = code;993 sei_read_code( pDecodedMessageOutputStream, 16, code, "max_bit_rate[i]" ); sei.m_maxBitRate[i] = code;994 }995 }996 997 Void SEIReader::xResizeSubBitstreamPropertySeiArrays(SEISubBitstreamProperty &sei)998 {999 sei.m_subBitstreamMode.resize( sei.m_numAdditionalSubStreams );1000 sei.m_outputLayerSetIdxToVps.resize( sei.m_numAdditionalSubStreams );1001 sei.m_highestSublayerId.resize( sei.m_numAdditionalSubStreams );1002 sei.m_avgBitRate.resize( sei.m_numAdditionalSubStreams );1003 sei.m_maxBitRate.resize( sei.m_numAdditionalSubStreams );1004 }1005 #endif1006 #endif1007 970 1008 971 … … 1123 1086 } 1124 1087 1125 Void SEIReader::xParseSEIChroma SamplingFilterHint(SEIChromaSamplingFilterHint& sei, UInt payloadSize/*, TComSPS* sps*/, std::ostream *pDecodedMessageOutputStream)1088 Void SEIReader::xParseSEIChromaResamplingFilterHint(SEIChromaResamplingFilterHint& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream) 1126 1089 { 1127 1090 UInt uiCode; … … 1130 1093 sei_read_code( pDecodedMessageOutputStream, 8, uiCode, "ver_chroma_filter_idc"); sei.m_verChromaFilterIdc = uiCode; 1131 1094 sei_read_code( pDecodedMessageOutputStream, 8, uiCode, "hor_chroma_filter_idc"); sei.m_horChromaFilterIdc = uiCode; 1132 sei_read_flag( pDecodedMessageOutputStream, uiCode, "ver_filtering_ process_flag"); sei.m_verFilteringProcessFlag = uiCode;1095 sei_read_flag( pDecodedMessageOutputStream, uiCode, "ver_filtering_field_processing_flag"); sei.m_verFilteringFieldProcessingFlag = uiCode; 1133 1096 if(sei.m_verChromaFilterIdc == 1 || sei.m_horChromaFilterIdc == 1) 1134 1097 { … … 1136 1099 if(sei.m_verChromaFilterIdc == 1) 1137 1100 { 1138 sei_read_uvlc( pDecodedMessageOutputStream, uiCode, "num_vertical_filters"); sei.m_numVerticalFilters = uiCode; 1139 if(sei.m_numVerticalFilters > 0) 1140 { 1141 sei.m_verTapLengthMinus1 = (Int*)malloc(sei.m_numVerticalFilters * sizeof(Int)); 1142 sei.m_verFilterCoeff = (Int**)malloc(sei.m_numVerticalFilters * sizeof(Int*)); 1143 for(Int i = 0; i < sei.m_numVerticalFilters; i ++) 1144 { 1145 sei_read_uvlc( pDecodedMessageOutputStream, uiCode, "ver_tap_length_minus_1"); sei.m_verTapLengthMinus1[i] = uiCode; 1146 sei.m_verFilterCoeff[i] = (Int*)malloc(sei.m_verTapLengthMinus1[i] * sizeof(Int)); 1147 for(Int j = 0; j < sei.m_verTapLengthMinus1[i]; j ++) 1101 UInt numVerticalFilters; 1102 sei_read_uvlc( pDecodedMessageOutputStream, numVerticalFilters, "num_vertical_filters"); sei.m_verFilterCoeff.resize(numVerticalFilters); 1103 if(numVerticalFilters > 0) 1104 { 1105 for(Int i = 0; i < numVerticalFilters; i++) 1106 { 1107 UInt verTapLengthMinus1; 1108 sei_read_uvlc( pDecodedMessageOutputStream, verTapLengthMinus1, "ver_tap_length_minus_1"); sei.m_verFilterCoeff[i].resize(verTapLengthMinus1+1); 1109 for(Int j = 0; j < (verTapLengthMinus1 + 1); j++) 1148 1110 { 1149 1111 sei_read_svlc( pDecodedMessageOutputStream, sei.m_verFilterCoeff[i][j], "ver_filter_coeff"); … … 1154 1116 if(sei.m_horChromaFilterIdc == 1) 1155 1117 { 1156 sei_read_uvlc( pDecodedMessageOutputStream, uiCode, "num_horizontal_filters"); sei.m_numHorizontalFilters = uiCode; 1157 if(sei.m_numHorizontalFilters > 0) 1158 { 1159 sei.m_horTapLengthMinus1 = (Int*)malloc(sei.m_numHorizontalFilters * sizeof(Int)); 1160 sei.m_horFilterCoeff = (Int**)malloc(sei.m_numHorizontalFilters * sizeof(Int*)); 1161 for(Int i = 0; i < sei.m_numHorizontalFilters; i ++) 1162 { 1163 sei_read_uvlc( pDecodedMessageOutputStream, uiCode, "hor_tap_length_minus_1"); sei.m_horTapLengthMinus1[i] = uiCode; 1164 sei.m_horFilterCoeff[i] = (Int*)malloc(sei.m_horTapLengthMinus1[i] * sizeof(Int)); 1165 for(Int j = 0; j < sei.m_horTapLengthMinus1[i]; j ++) 1118 UInt numHorizontalFilters; 1119 sei_read_uvlc( pDecodedMessageOutputStream, numHorizontalFilters, "num_horizontal_filters"); sei.m_horFilterCoeff.resize(numHorizontalFilters); 1120 if(numHorizontalFilters > 0) 1121 { 1122 for(Int i = 0; i < numHorizontalFilters; i++) 1123 { 1124 UInt horTapLengthMinus1; 1125 sei_read_uvlc( pDecodedMessageOutputStream, horTapLengthMinus1, "hor_tap_length_minus_1"); sei.m_horFilterCoeff[i].resize(horTapLengthMinus1+1); 1126 for(Int j = 0; j < (horTapLengthMinus1 + 1); j++) 1166 1127 { 1167 1128 sei_read_svlc( pDecodedMessageOutputStream, sei.m_horFilterCoeff[i][j], "hor_filter_coeff"); … … 1200 1161 } 1201 1162 1163 Void SEIReader::xParseSEIColourRemappingInfo(SEIColourRemappingInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream) 1164 { 1165 UInt uiVal; 1166 Int iVal; 1167 output_sei_message_header(sei, pDecodedMessageOutputStream, payloadSize); 1168 1169 sei_read_uvlc( pDecodedMessageOutputStream, uiVal, "colour_remap_id" ); sei.m_colourRemapId = uiVal; 1170 sei_read_flag( pDecodedMessageOutputStream, uiVal, "colour_remap_cancel_flag" ); sei.m_colourRemapCancelFlag = uiVal; 1171 if( !sei.m_colourRemapCancelFlag ) 1172 { 1173 sei_read_flag( pDecodedMessageOutputStream, uiVal, "colour_remap_persistence_flag" ); sei.m_colourRemapPersistenceFlag = uiVal; 1174 sei_read_flag( pDecodedMessageOutputStream, uiVal, "colour_remap_video_signal_info_present_flag" ); sei.m_colourRemapVideoSignalInfoPresentFlag = uiVal; 1175 if ( sei.m_colourRemapVideoSignalInfoPresentFlag ) 1176 { 1177 sei_read_flag( pDecodedMessageOutputStream, uiVal, "colour_remap_full_range_flag" ); sei.m_colourRemapFullRangeFlag = uiVal; 1178 sei_read_code( pDecodedMessageOutputStream, 8, uiVal, "colour_remap_primaries" ); sei.m_colourRemapPrimaries = uiVal; 1179 sei_read_code( pDecodedMessageOutputStream, 8, uiVal, "colour_remap_transfer_function" ); sei.m_colourRemapTransferFunction = uiVal; 1180 sei_read_code( pDecodedMessageOutputStream, 8, uiVal, "colour_remap_matrix_coefficients" ); sei.m_colourRemapMatrixCoefficients = uiVal; 1181 } 1182 sei_read_code( pDecodedMessageOutputStream, 8, uiVal, "colour_remap_input_bit_depth" ); sei.m_colourRemapInputBitDepth = uiVal; 1183 sei_read_code( pDecodedMessageOutputStream, 8, uiVal, "colour_remap_bit_depth" ); sei.m_colourRemapBitDepth = uiVal; 1184 1185 for( Int c=0 ; c<3 ; c++ ) 1186 { 1187 sei_read_code( pDecodedMessageOutputStream, 8, uiVal, "pre_lut_num_val_minus1[c]" ); sei.m_preLutNumValMinus1[c] = (uiVal==0) ? 1 : uiVal; 1188 sei.m_preLut[c].resize(sei.m_preLutNumValMinus1[c]+1); 1189 if( uiVal> 0 ) 1190 { 1191 for ( Int i=0 ; i<=sei.m_preLutNumValMinus1[c] ; i++ ) 1192 { 1193 sei_read_code( pDecodedMessageOutputStream, (( sei.m_colourRemapInputBitDepth + 7 ) >> 3 ) << 3, uiVal, "pre_lut_coded_value[c][i]" ); sei.m_preLut[c][i].codedValue = uiVal; 1194 sei_read_code( pDecodedMessageOutputStream, (( sei.m_colourRemapBitDepth + 7 ) >> 3 ) << 3, uiVal, "pre_lut_target_value[c][i]" ); sei.m_preLut[c][i].targetValue = uiVal; 1195 } 1196 } 1197 else // pre_lut_num_val_minus1[c] == 0 1198 { 1199 sei.m_preLut[c][0].codedValue = 0; 1200 sei.m_preLut[c][0].targetValue = 0; 1201 sei.m_preLut[c][1].codedValue = (1 << sei.m_colourRemapInputBitDepth) - 1 ; 1202 sei.m_preLut[c][1].targetValue = (1 << sei.m_colourRemapBitDepth) - 1 ; 1203 } 1204 } 1205 1206 sei_read_flag( pDecodedMessageOutputStream, uiVal, "colour_remap_matrix_present_flag" ); sei.m_colourRemapMatrixPresentFlag = uiVal; 1207 if( sei.m_colourRemapMatrixPresentFlag ) 1208 { 1209 sei_read_code( pDecodedMessageOutputStream, 4, uiVal, "log2_matrix_denom" ); sei.m_log2MatrixDenom = uiVal; 1210 for ( Int c=0 ; c<3 ; c++ ) 1211 { 1212 for ( Int i=0 ; i<3 ; i++ ) 1213 { 1214 sei_read_svlc( pDecodedMessageOutputStream, iVal, "colour_remap_coeffs[c][i]" ); sei.m_colourRemapCoeffs[c][i] = iVal; 1215 } 1216 } 1217 } 1218 else // setting default matrix (I3) 1219 { 1220 sei.m_log2MatrixDenom = 10; 1221 for ( Int c=0 ; c<3 ; c++ ) 1222 { 1223 for ( Int i=0 ; i<3 ; i++ ) 1224 { 1225 sei.m_colourRemapCoeffs[c][i] = (c==i) << sei.m_log2MatrixDenom; 1226 } 1227 } 1228 } 1229 for( Int c=0 ; c<3 ; c++ ) 1230 { 1231 sei_read_code( pDecodedMessageOutputStream, 8, uiVal, "post_lut_num_val_minus1[c]" ); sei.m_postLutNumValMinus1[c] = (uiVal==0) ? 1 : uiVal; 1232 sei.m_postLut[c].resize(sei.m_postLutNumValMinus1[c]+1); 1233 if( uiVal > 0 ) 1234 { 1235 for ( Int i=0 ; i<=sei.m_postLutNumValMinus1[c] ; i++ ) 1236 { 1237 sei_read_code( pDecodedMessageOutputStream, (( sei.m_colourRemapBitDepth + 7 ) >> 3 ) << 3, uiVal, "post_lut_coded_value[c][i]" ); sei.m_postLut[c][i].codedValue = uiVal; 1238 sei_read_code( pDecodedMessageOutputStream, (( sei.m_colourRemapBitDepth + 7 ) >> 3 ) << 3, uiVal, "post_lut_target_value[c][i]" ); sei.m_postLut[c][i].targetValue = uiVal; 1239 } 1240 } 1241 else 1242 { 1243 sei.m_postLut[c][0].codedValue = 0; 1244 sei.m_postLut[c][0].targetValue = 0; 1245 sei.m_postLut[c][1].targetValue = (1 << sei.m_colourRemapBitDepth) - 1; 1246 sei.m_postLut[c][1].codedValue = (1 << sei.m_colourRemapBitDepth) - 1; 1247 } 1248 } 1249 } 1250 } 1251 1252 1202 1253 Void SEIReader::xParseSEIMasteringDisplayColourVolume(SEIMasteringDisplayColourVolume& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream) 1203 1254 { … … 1221 1272 sei_read_code( pDecodedMessageOutputStream, 32, code, "min_display_mastering_luminance" ); sei.values.minLuminance = code; 1222 1273 } 1223 1224 #if NH_MV_LAYERS_NOT_PRESENT_SEI 1274 #if NH_MV 1225 1275 Void SEIReader::xParseSEILayersNotPresent(SEILayersNotPresent &sei, UInt payloadSize, const TComVPS *vps, std::ostream *pDecodedMessageOutputStream) 1226 1276 { … … 1239 1289 } 1240 1290 }; 1241 #endif1242 1291 1243 1292 Void SEIReader::xParseSEIInterLayerConstrainedTileSets(SEIInterLayerConstrainedTileSets& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream) … … 1506 1555 }; 1507 1556 1508 #if SEI_DRI_F01691509 1557 Void SEIReader::xParseSEIDepthRepInfoElement(double& f,std::ostream *pDecodedMessageOutputStream) 1510 1558 { … … 1609 1657 } 1610 1658 } 1611 #endif 1659 1612 1660 Void SEIReader::xParseSEIMultiviewSceneInfo(SEIMultiviewSceneInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream) 1613 1661 { … … 1820 1868 }; 1821 1869 #endif 1870 #endif 1822 1871 1823 1872 //! \} -
trunk/source/Lib/TLibDecoder/SEIread.h
r1356 r1386 56 56 SEIReader() {}; 57 57 virtual ~SEIReader() {}; 58 #if NH_MV_LAYERS_NOT_PRESENT_SEI 59 Void parseSEImessage(TComInputBitstream* bs, SEIMessages& seis, const NalUnitType nalUnitType, const TComVPS *vps, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream); 58 #if NH_MV 59 Void setLayerId( Int layerId ) { m_layerId = layerId; }; 60 Void setDecOrder( Int64 decOrder ) { m_decOrder = decOrder; }; 61 Void parseSEImessage( TComInputBitstream* bs, SEIMessages& seis, const NalUnitType nalUnitType, const TComVPS *vps, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream ); 60 62 #else 61 63 Void parseSEImessage(TComInputBitstream* bs, SEIMessages& seis, const NalUnitType nalUnitType, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream); 62 64 #endif 63 #if NH_MV_SEI64 Void setLayerId ( Int layerId ) { m_layerId = layerId; };65 Void setDecOrder ( Int64 decOrder ) { m_decOrder = decOrder; };66 #endif67 65 protected: 68 #if NH_MV _LAYERS_NOT_PRESENT_SEI66 #if NH_MV 69 67 Void xReadSEImessage (SEIMessages& seis, const NalUnitType nalUnitType, const TComVPS *vps, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream); 70 68 #else … … 86 84 Void xParseSEIToneMappingInfo (SEIToneMappingInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 87 85 Void xParseSEISOPDescription (SEISOPDescription &sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 88 #if NH_MV _LAYERS_NOT_PRESENT_SEI86 #if NH_MV 89 87 Void xParseSEIScalableNesting (SEIScalableNesting& sei, const NalUnitType nalUnitType, UInt payloadSize, const TComVPS *vps, const TComSPS *sps, std::ostream *pDecodedMessageOutputStream); 90 88 #else … … 93 91 Void xParseSEITempMotionConstraintsTileSets (SEITempMotionConstrainedTileSets& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 94 92 Void xParseSEITimeCode (SEITimeCode& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 95 Void xParseSEIChroma SamplingFilterHint (SEIChromaSamplingFilterHint& sei, UInt payloadSize/*,TComSPS* */,std::ostream *pDecodedMessageOutputStream);93 Void xParseSEIChromaResamplingFilterHint (SEIChromaResamplingFilterHint& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 96 94 Void xParseSEIKneeFunctionInfo (SEIKneeFunctionInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 97 95 Void xParseSEIMasteringDisplayColourVolume (SEIMasteringDisplayColourVolume& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 96 Void xParseSEIColourRemappingInfo (SEIColourRemappingInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 98 97 #if NH_MV 99 #if !NH_MV_SEI100 Void xParseSEISubBitstreamProperty (SEISubBitstreamProperty &sei , UInt payloadSize, std::ostream *pDecodedMessageOutputStream);101 Void xResizeSubBitstreamPropertySeiArrays (SEISubBitstreamProperty &sei);102 #endif103 #endif104 #if NH_MV_LAYERS_NOT_PRESENT_SEI105 98 Void xParseSEILayersNotPresent (SEILayersNotPresent &sei, UInt payloadSize, const TComVPS *vps ,std::ostream *pDecodedMessageOutputStream); 106 #endif107 99 Void xParseSEIInterLayerConstrainedTileSets (SEIInterLayerConstrainedTileSets& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 108 100 #if NH_MV_SEI_TBD … … 118 110 #endif 119 111 Void xParseSEIThreeDimensionalReferenceDisplaysInfo (SEIThreeDimensionalReferenceDisplaysInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 120 #if SEI_DRI_F0169121 112 Void xParseSEIDepthRepInfoElement (double &f,std::ostream *pDecodedMessageOutputStream); 122 113 Void xParseSEIDepthRepresentationInfo (SEIDepthRepresentationInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 123 #endif124 114 Void xParseSEIMultiviewSceneInfo (SEIMultiviewSceneInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 125 126 115 Void xParseSEIMultiviewAcquisitionInfo (SEIMultiviewAcquisitionInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 127 128 #if NH_MV_SEI129 116 Void xParseSEIMultiviewViewPosition (SEIMultiviewViewPosition& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 130 #endif131 117 #if NH_3D 132 118 Void xParseSEIAlternativeDepthInfo (SEIAlternativeDepthInfo& sei, UInt payloadSize, std::ostream *pDecodedMessageOutputStream); 133 119 #endif 134 135 Void sei_read_code(std::ostream *pOS, UInt uiLength, UInt& ruiCode, const Char *pSymbolName);136 Void sei_read_uvlc(std::ostream *pOS, UInt& ruiCode, const Char *pSymbolName);137 Void sei_read_svlc(std::ostream *pOS, Int& ruiCode, const Char *pSymbolName);138 Void sei_read_flag(std::ostream *pOS, UInt& ruiCode, const Char *pSymbolName);139 Void sei_read_string(std::ostream *pOS, UInt uiBufSize, UChar* pucCode, UInt& ruiLength, const Char *pSymbolName); 140 #if NH_MV_SEI 120 #endif 121 Void sei_read_code(std::ostream *pOS, UInt uiLength, UInt& ruiCode, const TChar *pSymbolName); 122 Void sei_read_uvlc(std::ostream *pOS, UInt& ruiCode, const TChar *pSymbolName); 123 Void sei_read_svlc(std::ostream *pOS, Int& ruiCode, const TChar *pSymbolName); 124 Void sei_read_flag(std::ostream *pOS, UInt& ruiCode, const TChar *pSymbolName); 125 #if NH_MV 126 Void sei_read_string(std::ostream *pOS, UInt uiBufSize, UChar* pucCode, UInt& ruiLength, const TChar *pSymbolName); 141 127 inline Void output_sei_message_header(SEI &sei, std::ostream *pDecodedMessageOutputStream, UInt payloadSize); 142 128 private: -
trunk/source/Lib/TLibDecoder/SyntaxElementParser.cpp
r1356 r1386 49 49 #if ENC_DEC_TRACE 50 50 51 Void SyntaxElementParser::xReadCodeTr (UInt length, UInt& rValue, const Char *pSymbolName)51 Void SyntaxElementParser::xReadCodeTr (UInt length, UInt& rValue, const TChar *pSymbolName) 52 52 { 53 53 #if RExt__DECODER_DEBUG_BIT_STATISTICS … … 56 56 xReadCode (length, rValue); 57 57 #endif 58 #if H_MV_ENC_DEC_TRAC58 #if NH_MV_ENC_DEC_TRAC 59 59 if ( g_disableHLSTrace || !g_HLSTraceEnable ) 60 60 { … … 80 80 } 81 81 82 Void SyntaxElementParser::xReadUvlcTr (UInt& rValue, const Char *pSymbolName)82 Void SyntaxElementParser::xReadUvlcTr (UInt& rValue, const TChar *pSymbolName) 83 83 { 84 84 #if RExt__DECODER_DEBUG_BIT_STATISTICS … … 87 87 xReadUvlc (rValue); 88 88 #endif 89 #if H_MV_ENC_DEC_TRAC89 #if NH_MV_ENC_DEC_TRAC 90 90 if ( g_disableHLSTrace || !g_HLSTraceEnable ) 91 91 { … … 104 104 } 105 105 106 Void SyntaxElementParser::xReadSvlcTr (Int& rValue, const Char *pSymbolName)106 Void SyntaxElementParser::xReadSvlcTr (Int& rValue, const TChar *pSymbolName) 107 107 { 108 108 #if RExt__DECODER_DEBUG_BIT_STATISTICS … … 111 111 xReadSvlc (rValue); 112 112 #endif 113 #if H_MV_ENC_DEC_TRAC113 #if NH_MV_ENC_DEC_TRAC 114 114 if ( g_disableHLSTrace || !g_HLSTraceEnable ) 115 115 { … … 128 128 } 129 129 130 Void SyntaxElementParser::xReadFlagTr (UInt& rValue, const Char *pSymbolName)130 Void SyntaxElementParser::xReadFlagTr (UInt& rValue, const TChar *pSymbolName) 131 131 { 132 132 #if RExt__DECODER_DEBUG_BIT_STATISTICS … … 135 135 xReadFlag (rValue); 136 136 #endif 137 #if H_MV_ENC_DEC_TRAC137 #if NH_MV_ENC_DEC_TRAC 138 138 if ( g_disableHLSTrace || !g_HLSTraceEnable ) 139 139 { … … 152 152 } 153 153 154 Void SyntaxElementParser::xReadStringTr (UInt buSize, UChar *pValue, UInt& rLength, const Char *pSymbolName) 154 #if NH_MV 155 Void SyntaxElementParser::xReadStringTr (UInt buSize, UChar *pValue, UInt& rLength, const TChar *pSymbolName) 155 156 { 156 157 #if RExt__DECODER_DEBUG_BIT_STATISTICS … … 163 164 fflush ( g_hTrace ); 164 165 } 165 166 #endif 166 167 Void xTraceAccessUnitDelimiter () 167 168 { … … 181 182 // ==================================================================================================================== 182 183 #if RExt__DECODER_DEBUG_BIT_STATISTICS 183 Void SyntaxElementParser::xReadCode (UInt uiLength, UInt& ruiCode, const Char *pSymbolName)184 Void SyntaxElementParser::xReadCode (UInt uiLength, UInt& ruiCode, const TChar *pSymbolName) 184 185 #else 185 186 Void SyntaxElementParser::xReadCode (UInt uiLength, UInt& ruiCode) … … 194 195 195 196 #if RExt__DECODER_DEBUG_BIT_STATISTICS 196 Void SyntaxElementParser::xReadUvlc( UInt& ruiVal, const Char *pSymbolName)197 Void SyntaxElementParser::xReadUvlc( UInt& ruiVal, const TChar *pSymbolName) 197 198 #else 198 199 Void SyntaxElementParser::xReadUvlc( UInt& ruiVal) … … 232 233 233 234 #if RExt__DECODER_DEBUG_BIT_STATISTICS 234 Void SyntaxElementParser::xReadSvlc( Int& riVal, const Char *pSymbolName)235 Void SyntaxElementParser::xReadSvlc( Int& riVal, const TChar *pSymbolName) 235 236 #else 236 237 Void SyntaxElementParser::xReadSvlc( Int& riVal) … … 270 271 271 272 #if RExt__DECODER_DEBUG_BIT_STATISTICS 272 Void SyntaxElementParser::xReadFlag (UInt& ruiCode, const Char *pSymbolName)273 Void SyntaxElementParser::xReadFlag (UInt& ruiCode, const TChar *pSymbolName) 273 274 #else 274 275 Void SyntaxElementParser::xReadFlag (UInt& ruiCode) … … 281 282 } 282 283 283 #if RExt__DECODER_DEBUG_BIT_STATISTICS 284 Void SyntaxElementParser::xReadString (UInt bufSize, UChar *pVal, UInt& rLength, const Char *pSymbolName) 284 #if NH_MV 285 #if RExt__DECODER_DEBUG_BIT_STATISTICS 286 Void SyntaxElementParser::xReadString (UInt bufSize, UChar *pVal, UInt& rLength, const TChar *pSymbolName) 285 287 #else 286 288 Void SyntaxElementParser::xReadString (UInt bufSize, UChar *pVal, UInt& rLength) … … 302 304 assert( pVal[rLength] == 0 ); 303 305 } 306 #endif 304 307 305 308 Void SyntaxElementParser::xReadRbspTrailingBits() -
trunk/source/Lib/TLibDecoder/SyntaxElementParser.h
r1356 r1386 49 49 #define READ_SVLC( code, name) xReadSvlcTr ( code, name ) 50 50 #define READ_FLAG( code, name) xReadFlagTr ( code, name ) 51 #if NH_MV 51 52 #define READ_STRING(bufSize, code, length, name) xReadStringTr ( bufSize, code, length, name ) 52 53 #endif 53 54 #else 54 55 … … 59 60 #define READ_SVLC( code, name) xReadSvlc ( code, name ) 60 61 #define READ_FLAG( code, name) xReadFlag ( code, name ) 62 #if NH_MV 61 63 #define READ_STRING(bufSize, code, length, name) xReadString ( bufSize, code, length, name ) 62 64 #endif 63 65 #else 64 66 … … 67 69 #define READ_SVLC( code, name) xReadSvlc ( code ) 68 70 #define READ_FLAG( code, name) xReadFlag ( code ) 71 #if NH_MV 69 72 #define READ_STRING(bufSize, code, length, name) xReadString ( bufSize, code, length ) 73 #endif 70 74 71 75 #endif … … 91 95 92 96 #if RExt__DECODER_DEBUG_BIT_STATISTICS 93 Void xReadCode ( UInt length, UInt& val, const Char *pSymbolName ); 94 Void xReadUvlc ( UInt& val, const Char *pSymbolName ); 95 Void xReadSvlc ( Int& val, const Char *pSymbolName ); 96 Void xReadFlag ( UInt& val, const Char *pSymbolName ); 97 Void xReadString ( UInt bufSize, UChar *val, UInt& length, const Char *pSymbolName); 97 Void xReadCode ( UInt length, UInt& val, const TChar *pSymbolName ); 98 Void xReadUvlc ( UInt& val, const TChar *pSymbolName ); 99 Void xReadSvlc ( Int& val, const TChar *pSymbolName ); 100 Void xReadFlag ( UInt& val, const TChar *pSymbolName ); 101 #if NH_MV 102 Void xReadString ( UInt bufSize, UChar *val, UInt& length, const TChar *pSymbolName); 103 #endif 98 104 #else 99 105 Void xReadCode ( UInt length, UInt& val ); … … 101 107 Void xReadSvlc ( Int& val ); 102 108 Void xReadFlag ( UInt& val ); 109 #if NH_MV 103 110 Void xReadString ( UInt bufSize, UChar *val, UInt& length); 104 111 #endif 112 #endif 105 113 #if ENC_DEC_TRACE 106 Void xReadCodeTr (UInt length, UInt& rValue, const Char *pSymbolName); 107 Void xReadUvlcTr ( UInt& rValue, const Char *pSymbolName); 108 Void xReadSvlcTr ( Int& rValue, const Char *pSymbolName); 109 Void xReadFlagTr ( UInt& rValue, const Char *pSymbolName); 110 Void xReadStringTr(UInt bufSize, UChar *pValue, UInt& rLength, const Char *pSymbolName); 114 Void xReadCodeTr (UInt length, UInt& rValue, const TChar *pSymbolName); 115 Void xReadUvlcTr ( UInt& rValue, const TChar *pSymbolName); 116 Void xReadSvlcTr ( Int& rValue, const TChar *pSymbolName); 117 Void xReadFlagTr ( UInt& rValue, const TChar *pSymbolName); 118 #if NH_MV 119 Void xReadStringTr(UInt bufSize, UChar *pValue, UInt& rLength, const TChar *pSymbolName); 120 #endif 111 121 #endif 112 122 public: -
trunk/source/Lib/TLibDecoder/TDecBinCoderCABAC.cpp
r1313 r1386 169 169 if (g_debugCounter >= debugCabacBinTargetLine) 170 170 { 171 Char breakPointThis;171 UChar breakPointThis; 172 172 breakPointThis = 7; 173 173 } -
trunk/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1321 r1386 51 51 52 52 #if ENC_DEC_TRACE 53 #if ! H_MV_ENC_DEC_TRAC53 #if !NH_MV_ENC_DEC_TRAC 54 54 Void xTraceVPSHeader () 55 55 { … … 234 234 { 235 235 #if ENC_DEC_TRACE 236 #if H_MV_ENC_DEC_TRAC236 #if NH_MV_ENC_DEC_TRAC 237 237 tracePSHeader( "PPS", pcPPS->getLayerId() ); 238 238 #else … … 454 454 #else 455 455 #if ENC_DEC_TRACE || RExt__DECODER_DEBUG_BIT_STATISTICS 456 static const char *syntaxStrings[]={ "pps_range_extension_flag",456 static const TChar *syntaxStrings[]={ "pps_range_extension_flag", 457 457 "pps_multilayer_extension_flag", 458 458 "pps_extension_6bits[0]", … … 871 871 { 872 872 #if ENC_DEC_TRACE 873 #if H_MV_ENC_DEC_TRAC873 #if NH_MV_ENC_DEC_TRAC 874 874 tracePSHeader( "SPS", pcSPS->getLayerId() ); 875 875 #else … … 1017 1017 pcSPS->setSpsMaxLatencyIncreasePlus1( uiCode, i ); 1018 1018 #else 1019 pcSPS->setMaxLatencyIncrease ( uiCode, i );1019 pcSPS->setMaxLatencyIncreasePlus1( uiCode, i ); 1020 1020 #endif 1021 1021 … … 1029 1029 pcSPS->setSpsMaxLatencyIncreasePlus1(pcSPS->getSpsMaxLatencyIncreasePlus1(0), i); 1030 1030 #else 1031 pcSPS->setMaxLatencyIncrease (pcSPS->getMaxLatencyIncrease(0), i);1031 pcSPS->setMaxLatencyIncreasePlus1(pcSPS->getMaxLatencyIncreasePlus1(0), i); 1032 1032 #endif 1033 1033 } … … 1165 1165 if ( pcSPS->getSpsRangeExtensionsFlag() ) 1166 1166 { 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1167 TComSPSRExt &spsRangeExtension = pcSPS->getSpsRangeExtension(); 1168 READ_FLAG( uiCode, "transform_skip_rotation_enabled_flag"); spsRangeExtension.setTransformSkipRotationEnabledFlag(uiCode != 0); 1169 READ_FLAG( uiCode, "transform_skip_context_enabled_flag"); spsRangeExtension.setTransformSkipContextEnabledFlag (uiCode != 0); 1170 READ_FLAG( uiCode, "implicit_rdpcm_enabled_flag"); spsRangeExtension.setRdpcmEnabledFlag(RDPCM_SIGNAL_IMPLICIT, (uiCode != 0)); 1171 READ_FLAG( uiCode, "explicit_rdpcm_enabled_flag"); spsRangeExtension.setRdpcmEnabledFlag(RDPCM_SIGNAL_EXPLICIT, (uiCode != 0)); 1172 READ_FLAG( uiCode, "extended_precision_processing_flag"); spsRangeExtension.setExtendedPrecisionProcessingFlag (uiCode != 0); 1173 READ_FLAG( uiCode, "intra_smoothing_disabled_flag"); spsRangeExtension.setIntraSmoothingDisabledFlag (uiCode != 0); 1174 READ_FLAG( uiCode, "high_precision_offsets_enabled_flag"); spsRangeExtension.setHighPrecisionOffsetsEnabledFlag (uiCode != 0); 1175 READ_FLAG( uiCode, "persistent_rice_adaptation_enabled_flag"); spsRangeExtension.setPersistentRiceAdaptationEnabledFlag (uiCode != 0); 1176 READ_FLAG( uiCode, "cabac_bypass_alignment_enabled_flag"); spsRangeExtension.setCabacBypassAlignmentEnabledFlag (uiCode != 0); 1177 1177 } 1178 1178 … … 1206 1206 1207 1207 #if ENC_DEC_TRACE || RExt__DECODER_DEBUG_BIT_STATISTICS 1208 static const char *syntaxStrings[]={ "sps_range_extension_flag",1208 static const TChar *syntaxStrings[]={ "sps_range_extension_flag", 1209 1209 "sps_multilayer_extension_flag", 1210 1210 "sps_extension_6bits[0]", … … 1277 1277 for( Int d = 0; d <= 1; d++ ) 1278 1278 { 1279 READ_FLAG( uiCode, "iv_ mv_pred_flag" ); sps3dExt.setIvMvPredFlag( d, uiCode == 1 );1280 READ_FLAG( uiCode, "iv_mv_scal ing_flag" ); sps3dExt.setIvMvScalingFlag( d, uiCode == 1 );1279 READ_FLAG( uiCode, "iv_di_mc_enabled_flag" ); sps3dExt.setIvDiMcEnabledFlag( d, uiCode == 1 ); 1280 READ_FLAG( uiCode, "iv_mv_scal_enabled_flag" ); sps3dExt.setIvMvScalEnabledFlag( d, uiCode == 1 ); 1281 1281 if( d == 0 ) 1282 1282 { 1283 READ_UVLC( uiCode, "log2_sub_pb_size_minus3" ); sps3dExt.setLog2SubPbSizeMinus3( d, uiCode );1284 READ_FLAG( uiCode, "iv_res_pred_ flag" ); sps3dExt.setIvResPredFlag( d, uiCode == 1 );1285 READ_FLAG( uiCode, "depth_ref inement_flag" ); sps3dExt.setDepthRefinementFlag( d, uiCode == 1 );1286 READ_FLAG( uiCode, "v iew_synthesis_pred_flag" ); sps3dExt.setViewSynthesisPredFlag( d, uiCode == 1 );1287 READ_FLAG( uiCode, "d epth_based_blk_part_flag" ); sps3dExt.setDepthBasedBlkPartFlag( d, uiCode == 1 );1283 READ_UVLC( uiCode, "log2_sub_pb_size_minus3" ); sps3dExt.setLog2IvmcSubPbSizeMinus3( d, uiCode ); 1284 READ_FLAG( uiCode, "iv_res_pred_enabled_flag" ); sps3dExt.setIvResPredEnabledFlag( d, uiCode == 1 ); 1285 READ_FLAG( uiCode, "depth_ref_enabled_flag" ); sps3dExt.setDepthRefEnabledFlag( d, uiCode == 1 ); 1286 READ_FLAG( uiCode, "vsp_mc_enabled_flag" ); sps3dExt.setVspMcEnabledFlag( d, uiCode == 1 ); 1287 READ_FLAG( uiCode, "dbbp_enabled_flag" ); sps3dExt.setDbbpEnabledFlag( d, uiCode == 1 ); 1288 1288 } 1289 1289 else 1290 1290 { 1291 READ_FLAG( uiCode, " mpi_flag" ); sps3dExt.setMpiFlag( d, uiCode == 1 );1292 READ_UVLC( uiCode, "log2_ mpi_sub_pb_size_minus3" ); sps3dExt.setLog2MpiSubPbSizeMinus3( d, uiCode );1293 READ_FLAG( uiCode, "intra_contour_ flag" ); sps3dExt.setIntraContourFlag( d, uiCode == 1 );1294 READ_FLAG( uiCode, "intra_ sdc_wedge_flag" ); sps3dExt.setIntraSdcWedgeFlag( d, uiCode == 1 );1295 READ_FLAG( uiCode, " qt_pred_flag" ); sps3dExt.setQtPredFlag( d, uiCode == 1 );1296 READ_FLAG( uiCode, "inter_ sdc_flag" ); sps3dExt.setInterSdcFlag( d, uiCode == 1 );1297 READ_FLAG( uiCode, " intra_skip_flag" ); sps3dExt.setDepthIntraSkipFlag( d, uiCode == 1 );1291 READ_FLAG( uiCode, "tex_mc_enabled_flag" ); sps3dExt.setTexMcEnabledFlag( d, uiCode == 1 ); 1292 READ_UVLC( uiCode, "log2_texmc_sub_pb_size_minus3" ); sps3dExt.setLog2TexmcSubPbSizeMinus3( d, uiCode ); 1293 READ_FLAG( uiCode, "intra_contour_enabled_flag" ); sps3dExt.setIntraContourEnabledFlag( d, uiCode == 1 ); 1294 READ_FLAG( uiCode, "intra_dc_only_wedge_enabled_flag" ); sps3dExt.setIntraDcOnlyWedgeEnabledFlag( d, uiCode == 1 ); 1295 READ_FLAG( uiCode, "cqt_cu_part_pred_enabled_flag" ); sps3dExt.setCqtCuPartPredEnabledFlag( d, uiCode == 1 ); 1296 READ_FLAG( uiCode, "inter_dc_only_enabled_flag" ); sps3dExt.setInterDcOnlyEnabledFlag( d, uiCode == 1 ); 1297 READ_FLAG( uiCode, "skip_intra_enabled_flag" ); sps3dExt.setSkipIntraEnabledFlag( d, uiCode == 1 ); 1298 1298 } 1299 1299 } … … 1358 1358 { 1359 1359 #if ENC_DEC_TRACE 1360 #if H_MV_ENC_DEC_TRAC1360 #if NH_MV_ENC_DEC_TRAC 1361 1361 tracePSHeader( "VPS", getDecTop()->getLayerId() ); 1362 1362 #else -
trunk/source/Lib/TLibDecoder/TDecCu.cpp
r1321 r1386 213 213 UInt uiTPelY = pcCU->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiAbsPartIdx] ]; 214 214 UInt uiBPelY = uiTPelY + (maxCuHeight>>uiDepth) - 1; 215 #if H_MV_ENC_DEC_TRAC215 #if NH_MV_ENC_DEC_TRAC 216 216 DTRACE_CU_S("=========== coding_quadtree ===========\n") 217 217 DTRACE_CU("x0", uiLPelX) … … 270 270 } 271 271 272 #if H_MV_ENC_DEC_TRAC272 #if NH_MV_ENC_DEC_TRAC 273 273 DTRACE_CU_S("=========== coding_unit ===========\n") 274 #if H_MV_ENC_DEC_TRAC274 #if NH_MV_ENC_DEC_TRAC 275 275 #if ENC_DEC_TRACE 276 276 stopAtPos ( pcCU->getSlice()->getPOC(), … … 359 359 } 360 360 #endif 361 #if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC361 #if ENC_DEC_TRACE && NH_MV_ENC_DEC_TRAC 362 362 if ( g_decTraceDispDer ) 363 363 { … … 396 396 if( pcCU->isSkipped(uiAbsPartIdx) ) 397 397 { 398 #if H_MV_ENC_DEC_TRAC398 #if NH_MV_ENC_DEC_TRAC 399 399 DTRACE_PU_S("=========== prediction_unit ===========\n") 400 400 DTRACE_PU("x0", uiLPelX) … … 493 493 } 494 494 #endif 495 #if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC495 #if ENC_DEC_TRACE && NH_MV_ENC_DEC_TRAC 496 496 if ( g_decTraceMvFromMerge ) 497 497 { … … 531 531 pcCU->getCUMvField( REF_PIC_LIST_1 )->setMvFieldSP(pcCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx + 1], iSPWidth, iSPHeight); 532 532 } 533 #if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC533 #if ENC_DEC_TRACE && NH_MV_ENC_DEC_TRAC 534 534 if ( g_traceSubPBMotion ) 535 535 { -
trunk/source/Lib/TLibDecoder/TDecEntropy.cpp
r1321 r1386 267 267 for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset ) 268 268 { 269 #if H_MV_ENC_DEC_TRAC269 #if NH_MV_ENC_DEC_TRAC 270 270 DTRACE_PU_S("=========== prediction_unit ===========\n") 271 271 // ToDo: … … 484 484 for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset ) 485 485 { 486 #if H_MV_ENC_DEC_TRAC486 #if NH_MV_ENC_DEC_TRAC 487 487 DTRACE_PU_S("=========== prediction_unit ===========\n") 488 488 // ToDo: … … 505 505 #endif 506 506 507 UInt uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);507 const UInt uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx); 508 508 if ( pcCU->getSlice()->getPPS()->getLog2ParallelMergeLevelMinus2() && ePartSize != SIZE_2Nx2N && pcSubCU->getWidth( 0 ) <= 8 ) 509 509 { … … 547 547 else 548 548 { 549 uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);550 549 551 550 #if NH_3D_MLC … … 742 741 { 743 742 m_pcEntropyDecoderIf->parseMVPIdx( iMVPIdx ); 744 #if H_MV_ENC_DEC_TRAC743 #if NH_MV_ENC_DEC_TRAC 745 744 #if ENC_DEC_TRACE 746 745 if ( eRefList == REF_PIC_LIST_0 ) … … 799 798 { 800 799 m_pcEntropyDecoderIf->parseMVPIdx( iMVPIdx ); 801 #if H_MV_ENC_DEC_TRAC800 #if NH_MV_ENC_DEC_TRAC 802 801 #if ENC_DEC_TRACE 803 802 if ( eRefList == REF_PIC_LIST_0 ) … … 834 833 const UInt uiTrDepth = rTu.GetTransformDepthRel(); 835 834 836 #if H_MV_ENC_DEC_TRAC835 #if NH_MV_ENC_DEC_TRAC 837 836 #if ENC_DEC_TRACE 838 837 UInt uiLPelX = pcCU->getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[uiAbsPartIdx] ]; … … 941 940 pcCU->setTrIdxSubParts( uiTrDepth, uiAbsPartIdx, uiDepth ); 942 941 943 #if ! H_MV_ENC_DEC_TRAC942 #if !NH_MV_ENC_DEC_TRAC 944 943 { 945 944 DTRACE_CABAC_VL( g_nSymbolCounter++ ); -
trunk/source/Lib/TLibDecoder/TDecGop.cpp
r1313 r1386 177 177 pcPic->compressMotion(); 178 178 #endif 179 Char c = (pcSlice->isIntra() ? 'I' : pcSlice->isInterP() ? 'P' : 'B');179 TChar c = (pcSlice->isIntra() ? 'I' : pcSlice->isInterP() ? 'P' : 'B'); 180 180 if (!pcSlice->isReferenced()) 181 181 { … … 255 255 TComPictureHash recon_digest; 256 256 Int numChar=0; 257 const Char* hashType = "\0";257 const TChar* hashType = "\0"; 258 258 259 259 if (pictureHashSEI) … … 261 261 switch (pictureHashSEI->method) 262 262 { 263 case SEIDecodedPictureHash::MD5:263 case HASHTYPE_MD5: 264 264 { 265 265 hashType = "MD5"; … … 267 267 break; 268 268 } 269 case SEIDecodedPictureHash::CRC:269 case HASHTYPE_CRC: 270 270 { 271 271 hashType = "CRC"; … … 273 273 break; 274 274 } 275 case SEIDecodedPictureHash::CHECKSUM:275 case HASHTYPE_CHECKSUM: 276 276 { 277 277 hashType = "Checksum"; … … 288 288 289 289 /* compare digest against received version */ 290 const Char* ok = "(unk)";290 const TChar* ok = "(unk)"; 291 291 Bool mismatch = false; 292 292 -
trunk/source/Lib/TLibDecoder/TDecSbac.cpp
r1313 r1386 423 423 m_pcTDecBinIf->decodeBinTrm(uiSymbol); 424 424 425 #if H_MV_ENC_DEC_TRAC425 #if NH_MV_ENC_DEC_TRAC 426 426 DTRACE_CU("pcm_flag", uiSymbol) 427 427 #endif … … 467 467 UInt uiSymbol; 468 468 m_pcTDecBinIf->decodeBin( uiSymbol, m_CUTransquantBypassFlagSCModel.get( 0, 0, 0 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__TQ_BYPASS_FLAG) ); 469 #if H_MV_ENC_DEC_TRAC469 #if NH_MV_ENC_DEC_TRAC 470 470 DTRACE_CU("cu_transquant_bypass_flag", uiSymbol); 471 471 #endif … … 490 490 UInt uiCtxSkip = pcCU->getCtxSkipFlag( uiAbsPartIdx ); 491 491 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUSkipFlagSCModel.get( 0, 0, uiCtxSkip ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__SKIP_FLAG) ); 492 #if ! H_MV_ENC_DEC_TRAC492 #if !NH_MV_ENC_DEC_TRAC 493 493 DTRACE_CABAC_VL( g_nSymbolCounter++ ); 494 494 DTRACE_CABAC_T( "\tSkipFlag" ); … … 507 507 pcCU->setMergeFlagSubParts( true , uiAbsPartIdx, 0, uiDepth ); 508 508 } 509 #if H_MV_ENC_DEC_TRAC509 #if NH_MV_ENC_DEC_TRAC 510 510 DTRACE_CU("cu_skip_flag", uiSymbol); 511 511 #endif … … 570 570 UInt uiSymbol; 571 571 m_pcTDecBinIf->decodeBin( uiSymbol, *m_cCUMergeFlagExtSCModel.get( 0 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__MERGE_FLAG) ); 572 #if H_MV_ENC_DEC_TRAC572 #if NH_MV_ENC_DEC_TRAC 573 573 DTRACE_PU("merge_flag", uiSymbol) 574 574 #endif 575 575 pcCU->setMergeFlagSubParts( uiSymbol ? true : false, uiAbsPartIdx, uiPUIdx, uiDepth ); 576 #if ! H_MV_ENC_DEC_TRAC576 #if !NH_MV_ENC_DEC_TRAC 577 577 DTRACE_CABAC_VL( g_nSymbolCounter++ ); 578 578 DTRACE_CABAC_T( "\tMergeFlag: " ); … … 608 608 } 609 609 } 610 #if H_MV_ENC_DEC_TRAC610 #if NH_MV_ENC_DEC_TRAC 611 611 DTRACE_PU("merge_idx", uiUnaryIdx) 612 612 #endif … … 614 614 ruiMergeIndex = uiUnaryIdx; 615 615 616 #if ! H_MV_ENC_DEC_TRAC616 #if !NH_MV_ENC_DEC_TRAC 617 617 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 618 618 DTRACE_CABAC_T( "\tparseMergeIndex()" ) … … 666 666 #endif 667 667 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUSplitFlagSCModel.get( 0, 0, pcCU->getCtxSplitFlag( uiAbsPartIdx, uiDepth ) ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 668 #if H_MV_ENC_DEC_TRAC668 #if NH_MV_ENC_DEC_TRAC 669 669 DTRACE_CU("split_cu_flag", uiSymbol); 670 670 #else … … 748 748 { 749 749 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, 0) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 750 #if H_MV_ENC_DEC_TRAC750 #if NH_MV_ENC_DEC_TRAC 751 751 DTRACE_CU("part_mode", uiSymbol) 752 752 #endif … … 884 884 } 885 885 #endif 886 #if H_MV_ENC_DEC_TRAC886 #if NH_MV_ENC_DEC_TRAC 887 887 DTRACE_CU("part_mode", eMode ) 888 888 #endif … … 914 914 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPredModeSCModel.get( 0, 0, 0 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__PRED_MODE) ); 915 915 iPredMode += uiSymbol; 916 #if H_MV_ENC_DEC_TRAC916 #if NH_MV_ENC_DEC_TRAC 917 917 DTRACE_CU("pred_mode_flag", uiSymbol) 918 918 #endif … … 948 948 m_pcTDecBinIf->decodeBin( symbol, m_cCUIntraPredSCModel.get( 0, 0, 0) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 949 949 mpmPred[j] = symbol; 950 #if H_MV_ENC_DEC_TRAC950 #if NH_MV_ENC_DEC_TRAC 951 951 DTRACE_CU("prev_intra_luma_pred_flag", symbol) 952 952 #endif … … 971 971 symbol++; 972 972 } 973 #if H_MV_ENC_DEC_TRAC973 #if NH_MV_ENC_DEC_TRAC 974 974 DTRACE_CU("mpm_idx", symbol) 975 975 #endif … … 980 980 m_pcTDecBinIf->decodeBinsEP( symbol, 5 RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 981 981 intraPredMode = symbol; 982 #if H_MV_ENC_DEC_TRAC982 #if NH_MV_ENC_DEC_TRAC 983 983 DTRACE_CU("rem_intra_luma_pred_mode", symbol) 984 984 #endif … … 1020 1020 if( uiSymbol == 0 ) 1021 1021 { 1022 #if H_MV_ENC_DEC_TRAC1022 #if NH_MV_ENC_DEC_TRAC 1023 1023 DTRACE_CU("intra_chroma_pred_mode", uiSymbol ) 1024 1024 #endif … … 1029 1029 UInt uiIPredMode; 1030 1030 m_pcTDecBinIf->decodeBinsEP( uiIPredMode, 2 RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 1031 #if H_MV_ENC_DEC_TRAC1031 #if NH_MV_ENC_DEC_TRAC 1032 1032 DTRACE_CU("intra_chroma_pred_mode", uiIPredMode ) 1033 1033 #endif … … 1064 1064 uiSymbol++; 1065 1065 ruiInterDir = uiSymbol; 1066 #if H_MV_ENC_DEC_TRAC1066 #if NH_MV_ENC_DEC_TRAC 1067 1067 DTRACE_PU("inter_pred_idc", ruiInterDir - 1 ) 1068 1068 #endif … … 1101 1101 } 1102 1102 riRefFrmIdx = uiSymbol; 1103 #if H_MV_ENC_DEC_TRAC1103 #if NH_MV_ENC_DEC_TRAC 1104 1104 #if ENC_DEC_TRACE 1105 1105 if ( eRefList == REF_PIC_LIST_0 ) … … 1194 1194 if (!pcCU->isIntra(uiAbsPartIdx) || (pcCU->getIntraDir( CHANNEL_TYPE_CHROMA, uiAbsPartIdx ) == DM_CHROMA_IDX)) 1195 1195 { 1196 Char alpha= 0;1196 SChar alpha = 0; 1197 1197 UInt symbol = 0; 1198 1198 … … 1239 1239 RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(TComCodingStatisticsClassType(STATS__CABAC_BITS__TRANSFORM_SUBDIV_FLAG, 5-uiLog2TransformBlockSize)) 1240 1240 ); 1241 #if ! H_MV_ENC_DEC_TRAC1241 #if !NH_MV_ENC_DEC_TRAC 1242 1242 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 1243 1243 DTRACE_CABAC_T( "\tparseTransformSubdivFlag()" ) … … 1258 1258 const UInt uiCtx = 0; 1259 1259 m_pcTDecBinIf->decodeBin( uiSymbol , m_cCUQtRootCbfSCModel.get( 0, 0, uiCtx ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__QT_ROOT_CBF) ); 1260 #if ! H_MV_ENC_DEC_TRAC1260 #if !NH_MV_ENC_DEC_TRAC 1261 1261 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 1262 1262 DTRACE_CABAC_T( "\tparseQtRootCbf()" ) … … 1386 1386 pcCU->setCbfPartRange((uiCbf << subTUDepth), compID, subTUAbsPartIdx, partIdxesPerSubTU); 1387 1387 combinedSubTUCBF |= uiCbf; 1388 #if ! H_MV_ENC_DEC_TRAC1388 #if !NH_MV_ENC_DEC_TRAC 1389 1389 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 1390 1390 DTRACE_CABAC_T( "\tparseQtCbf()" ) … … 1430 1430 1431 1431 pcCU->setCbfSubParts((uiCbf << lowestTUDepth), compID, absPartIdx, rTu.GetTransformDepthTotalAdj(compID)); 1432 #if ! H_MV_ENC_DEC_TRAC1432 #if !NH_MV_ENC_DEC_TRAC 1433 1433 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 1434 1434 DTRACE_CABAC_T( "\tparseQtCbf()" ) … … 1491 1491 ); 1492 1492 1493 #if ! H_MV_ENC_DEC_TRAC1493 #if !NH_MV_ENC_DEC_TRAC 1494 1494 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 1495 1495 DTRACE_CABAC_T("\tparseTransformSkip()"); … … 1605 1605 TCoeff* pcCoef=(pcCU->getCoeff(compID)+rTu.getCoefficientOffset(compID)); 1606 1606 const TComSPS &sps=*(pcCU->getSlice()->getSPS()); 1607 #if ! H_MV_ENC_DEC_TRAC1607 #if !NH_MV_ENC_DEC_TRAC 1608 1608 DTRACE_CABAC_VL( g_nSymbolCounter++ ) 1609 1609 DTRACE_CABAC_T( "\tparseCoeffNxN()\teType=" ) … … 2284 2284 uiW += ( 1 == uiCode ? 1 : 0 ); 2285 2285 } 2286 #if H_MV_ENC_DEC_TRAC2286 #if NH_MV_ENC_DEC_TRAC 2287 2287 DTRACE_CU("iv_res_pred_weight_idx", uiW ) 2288 2288 #endif … … 2303 2303 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUICFlagSCModel.get( 0, 0, 0 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__3D_IC) ); 2304 2304 2305 #if ! H_MV_ENC_DEC_TRAC2305 #if !NH_MV_ENC_DEC_TRAC 2306 2306 DTRACE_CABAC_VL( g_nSymbolCounter++ ); 2307 2307 DTRACE_CABAC_T( "\tICFlag" ); … … 2394 2394 } 2395 2395 } 2396 #if H_MV_ENC_DEC_TRAC2396 #if NH_MV_ENC_DEC_TRAC 2397 2397 DTRACE_CU("delta_dc", rValDeltaDC); 2398 2398 #endif … … 2495 2495 2496 2496 m_pcTDecBinIf->decodeBin( uiSymbol, m_cSDCFlagSCModel.get( 0, 0, 0 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__SDC_INTRA_FLAG) ); 2497 #if H_MV_ENC_DEC_TRAC2497 #if NH_MV_ENC_DEC_TRAC 2498 2498 DTRACE_CU("dc_only_flag", uiSymbol) 2499 2499 #endif -
trunk/source/Lib/TLibDecoder/TDecSlice.cpp
r1313 r1386 90 90 g_bJustDoIt = g_bEncDecTraceEnable; 91 91 #endif 92 #if H_MV_ENC_DEC_TRAC92 #if NH_MV_ENC_DEC_TRAC 93 93 #if ENC_DEC_TRACE 94 94 incSymbolCounter(); … … 100 100 DTRACE_CABAC_T( "\tPOC: " ); 101 101 DTRACE_CABAC_V( pcPic->getPOC() ); 102 #if H_MV_ENC_DEC_TRAC102 #if NH_MV_ENC_DEC_TRAC 103 103 DTRACE_CABAC_T( " Layer: " ); 104 104 DTRACE_CABAC_V( pcPic->getLayerId() ); -
trunk/source/Lib/TLibDecoder/TDecTop.cpp
r1356 r1386 687 687 } 688 688 } 689 #if NH_MV_SEI690 689 m_seiReader.setLayerId ( newPic->getLayerId ( ) ); 691 690 m_seiReader.setDecOrder( newPic->getDecodingOrder( ) ); 692 #endif693 691 #endif 694 692 … … 839 837 InputNALUnit &nalu=*m_prefixSEINALUs.front(); 840 838 #if NH_MV 841 #if NH_MV_LAYERS_NOT_PRESENT_SEI842 839 m_seiReader.parseSEImessage(&(nalu.getBitstream()), m_SEIs, nalu.m_nalUnitType, m_parameterSetManager.getActiveVPS(), m_parameterSetManager.getActiveSPS(getLayerId()), m_pDecodedSEIOutputStream); 843 #else844 m_seiReader.parseSEImessage( &(nalu.getBitstream()), m_SEIs, nalu.m_nalUnitType, m_parameterSetManager.getActiveSPS( getLayerId() ), m_pDecodedSEIOutputStream );845 #endif846 840 #else 847 841 m_seiReader.parseSEImessage( &(nalu.getBitstream()), m_SEIs, nalu.m_nalUnitType, m_parameterSetManager.getActiveSPS(), m_pDecodedSEIOutputStream ); … … 1315 1309 { 1316 1310 #if NH_MV 1317 #if NH_MV_LAYERS_NOT_PRESENT_SEI1318 1311 m_seiReader.parseSEImessage( &(nalu.getBitstream()), m_pcPic->getSEIs(), nalu.m_nalUnitType, m_parameterSetManager.getActiveVPS(), m_parameterSetManager.getActiveSPS(getLayerId()), m_pDecodedSEIOutputStream); 1319 #else1320 m_seiReader.parseSEImessage( &(nalu.getBitstream()), m_pcPic->getSEIs(), nalu.m_nalUnitType, m_parameterSetManager.getActiveSPS( getLayerId() ), m_pDecodedSEIOutputStream );1321 #endif1322 1312 #else 1323 1313 m_seiReader.parseSEImessage( &(nalu.getBitstream()), m_pcPic->getSEIs(), nalu.m_nalUnitType, m_parameterSetManager.getActiveSPS(), m_pDecodedSEIOutputStream ); … … 1771 1761 xG813DecProcForInterLayerRefPicSet(); 1772 1762 } 1763 else 1764 { 1765 #if NH_MV_FIX_INIT_NUM_ACTIVE_REF_LAYER_PICS 1766 TComDecodedRps* decRps = m_pcPic->getDecodedRps(); 1767 decRps->m_numActiveRefLayerPics0 = 0; 1768 decRps->m_numActiveRefLayerPics1 = 0; 1769 #endif 1770 } 1773 1771 } 1774 1772 }
Note: See TracChangeset for help on using the changeset viewer.