Changeset 976 in 3DVCSoftware for trunk/source/Lib/TLibEncoder
- Timestamp:
- 7 Jul 2014, 17:27:51 (11 years ago)
- Location:
- trunk/source/Lib/TLibEncoder
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibEncoder/TEncCavlc.cpp
r964 r976 273 273 WRITE_FLAG( pcPPS->getSliceHeaderExtensionPresentFlag() ? 1 : 0, "slice_segment_header_extension_present_flag"); 274 274 275 #if MTK_DLT_CODING_FIX_H0091275 #if H_3D 276 276 if(( !pcPPS->getSPS()->getVPS()->getDepthId( pcPPS->getSPS()->getLayerId() ) )|| 277 277 pcPPS->getLayerId() != 1 ) 278 278 { 279 #if H_MV_HLS_8_SPS_NODOC_48280 279 pcPPS->setPps3dExtensionFlag( false ); 281 #else282 pcPPS->setPpsExtensionTypeFlag( PPS_EX_T_3D, false );283 #endif284 280 } 285 281 #endif … … 290 286 WRITE_FLAG( 1, "pps_extension_present_flag" ); 291 287 292 #if H_MV_HLS_8_SPS_NODOC_48293 288 WRITE_FLAG( pcPPS->getPpsRangeExtensionsFlag( ) ? 1 : 0 , "pps_range_extensions_flag" ); 294 289 WRITE_FLAG( pcPPS->getPpsMultilayerExtensionFlag( ) ? 1 : 0 , "pps_multilayer_extension_flag" ); … … 307 302 { 308 303 WRITE_FLAG( pcPPS->getPocResetInfoPresentFlag( ) ? 1 : 0 , "poc_reset_info_present_flag" ); 309 #if H_MV_HLS_8_PPS_NODOC_NN310 304 WRITE_FLAG( 0, "pps_extension_reserved_zero_flag" ); 311 #endif312 305 } 313 306 … … 318 311 } 319 312 #endif 320 #else321 for ( Int i = 0; i < PPS_EX_T_MAX_NUM; i++ )322 {323 WRITE_FLAG( pcPPS->getPpsExtensionTypeFlag( i ) ? 1 : 0 , "pps_extension_type_flag" );324 #if H_3D325 assert( !pcPPS->getPpsExtensionTypeFlag( i ) || i == PPS_EX_T_MV || i == PPS_EX_T_3D || i == PPS_EX_T_ESC );326 #else327 assert( !pcPPS->getPpsExtensionTypeFlag( i ) || i == PPS_EX_T_MV || i == PPS_EX_T_ESC );328 #endif329 }330 331 if( pcPPS->getPpsExtensionTypeFlag( PPS_EX_T_MV ) )332 {333 WRITE_FLAG( pcPPS->getPocResetInfoPresentFlag( ) ? 1 : 0 , "poc_reset_info_present_flag" );334 }335 336 #if H_3D337 if( pcPPS->getPpsExtensionTypeFlag( PPS_EX_T_3D ) ) // This probably needs to be aligned with Rext and SHVC338 {339 codePPSExtension( pcPPS );340 }341 #endif342 #endif343 344 313 #endif 345 314 … … 861 830 if ( pcSPS->getSpsExtensionPresentFlag() ) 862 831 { 863 #if H_MV_HLS_8_SPS_NODOC_48864 832 WRITE_FLAG( pcSPS->getSpsRangeExtensionsFlag( ) ? 1 : 0 , "sps_range_extensions_flag" ); 865 833 WRITE_FLAG( pcSPS->getSpsMultilayerExtensionFlag( ) ? 1 : 0 , "sps_multilayer_extension_flag" ); 866 834 #if !H_3D 867 WRITE_CODE( pcSPS->getSpsExtension6bits( ), 6, "sps_extension_6bits" ); 835 WRITE_CODE( pcSPS->getSpsExtension6bits( ), 6, "sps_extension_6bits" ); 868 836 #else 869 837 WRITE_FLAG( pcSPS->getSps3dExtensionFlag( ) ? 1 : 0 , "sps_3d_extension_flag" ); 870 838 WRITE_CODE( pcSPS->getSpsExtension5bits( ), 5, "sps_extension_5bits" ); 871 839 #endif 872 }840 } 873 841 874 842 if ( pcSPS->getSpsRangeExtensionsFlag() ) … … 889 857 890 858 #endif 891 #else 892 for (Int i = 0; i < PS_EX_T_MAX_NUM; i++) 893 { 894 WRITE_FLAG( pcSPS->getSpsExtensionTypeFlag( i ) ? 1 : 0 , "sps_extension_type_flag" ); 895 #if H_3D 896 assert( !pcSPS->getSpsExtensionTypeFlag( i ) || i == PS_EX_T_MV || i == PS_EX_T_3D ); 897 #else 898 assert( !pcSPS->getSpsExtensionTypeFlag( i ) || i == PS_EX_T_MV ); 899 #endif 900 } 901 902 if( pcSPS->getSpsExtensionTypeFlag( PS_EX_T_MV )) 903 { 904 codeSPSExtension( pcSPS ); 905 } 906 907 #if H_3D 908 if( pcSPS->getSpsExtensionTypeFlag( PS_EX_T_3D )) 909 { 910 codeSPSExtension2( pcSPS, viewIndex, depthFlag ); 911 } 912 #endif 913 } 914 #endif 915 #endif 859 #endif 860 916 861 } 917 862 … … 955 900 { 956 901 WRITE_CODE( pcVPS->getVPSId(), 4, "vps_video_parameter_set_id" ); 957 #if H_MV _HLS_8_SYN_Q0041_03902 #if H_MV 958 903 WRITE_FLAG( pcVPS->getVpsBaseLayerInternalFlag( ) ? 1 : 0 , "vps_base_layer_internal_flag" ); 959 904 WRITE_FLAG( 1 , "vps_reserved_one_bit" ); … … 1042 987 } 1043 988 #if H_MV 1044 #if H_MV_HLS_8_RPS_Q0100_361045 989 WRITE_FLAG( pcVPS->getVpsExtensionFlag(), "vps_extension_flag" ); 1046 #else1047 WRITE_FLAG( 1, "vps_extension_flag" );1048 #endif1049 990 m_pcBitIf->writeAlignOne(); 1050 991 codeVPSExtension( pcVPS ); … … 1069 1010 #if H_MV 1070 1011 Void TEncCavlc::codeVPSExtension( TComVPS *pcVPS ) 1071 { 1072 1073 #if !H_MV_HLS_8_SYN_Q0041_03 1074 WRITE_FLAG( pcVPS->getAvcBaseLayerFlag() ? 1 : 0, "avc_base_layer_flag" ); 1075 #endif 1076 1012 { 1077 1013 WRITE_FLAG( pcVPS->getSplittingFlag() ? 1 : 0, "splitting_flag" ); 1078 1014 … … 1187 1123 } 1188 1124 1189 #if H_MV_HLS_8_SYN_39_191190 1125 if ( pcVPS->getNumIndependentLayers() > 1 ) 1191 1126 { … … 1204 1139 WRITE_CODE( pcVPS->getDefaultOutputLayerIdc( ), 2, "default_output_layer_idc" ); 1205 1140 } 1206 #else1207 WRITE_UVLC( pcVPS->getNumAddLayerSets( ), "num_add_layer_sets" );1208 1209 if( pcVPS->getNumOutputLayerSets() > 1)1210 {1211 WRITE_CODE( pcVPS->getDefaultOutputLayerIdc( ), 2, "default_output_layer_idc" );1212 }1213 #endif1214 1141 1215 1142 assert( pcVPS->getOutputLayerFlag(0, 0) == pcVPS->inferOutputLayerFlag( 0, 0 )); … … 1221 1148 for( Int i = 1; i < pcVPS->getNumOutputLayerSets( ); i++ ) 1222 1149 { 1223 #if H_MV_HLS_8_SYN_39_191224 1150 if( i >= pcVPS->getNumLayerSets( ) ) 1225 #else1226 if( i > pcVPS->getVpsNumLayerSetsMinus1( ) )1227 #endif1228 1151 { 1229 1152 WRITE_UVLC( pcVPS->getLayerSetIdxForOlsMinus1( i ), "layer_set_idx_for_ols_minus1[i]" ); … … 1256 1179 } 1257 1180 1258 #if !H_MV_HLS_8_PMS_Q0195_201259 WRITE_FLAG( pcVPS->getRepFormatIdxPresentFlag( ) ? 1 : 0 , "rep_format_idx_present_flag" );1260 if ( pcVPS->getRepFormatIdxPresentFlag() )1261 {1262 WRITE_UVLC( pcVPS->getVpsNumRepFormatsMinus1( ), "vps_num_rep_formats_minus1" );1263 }1264 #else1265 1181 WRITE_UVLC( pcVPS->getVpsNumRepFormatsMinus1( ), "vps_num_rep_formats_minus1" ); 1266 #endif1267 1182 1268 1183 for (Int i = 0; i <= pcVPS->getVpsNumRepFormatsMinus1(); i++ ) … … 1275 1190 } 1276 1191 1277 #if H_MV_HLS_8_PMS_Q0195_201278 1192 if ( pcVPS->getVpsNumRepFormatsMinus1() > 0 ) 1279 1193 { 1280 1194 WRITE_FLAG( pcVPS->getRepFormatIdxPresentFlag( ) ? 1 : 0 , "rep_format_idx_present_flag" ); 1281 1195 } 1282 #endif 1196 1283 1197 if( pcVPS->getRepFormatIdxPresentFlag() ) 1284 1198 { 1285 #if H_MV_HLS_8_SYN_Q0041_031286 1199 for( Int i = pcVPS->getVpsBaseLayerInternalFlag() ? 1 : 0; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1287 #else 1288 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1289 #endif 1290 { 1291 #if !H_MV_HLS_8_PMS_Q0195_20 1292 if( pcVPS->getVpsNumRepFormatsMinus1() > 0 ) 1293 { 1294 #endif 1200 { 1295 1201 WRITE_CODE( pcVPS->getVpsRepFormatIdx(i), pcVPS->getVpsRepFormatIdxLen(), "vps_rep_format_idx[i]" ); 1296 #if !H_MV_HLS_8_PMS_Q0195_20 1297 } 1298 #endif 1299 } 1300 } 1301 #if H_MV_HLS_8_PMS_Q0195_20 1202 } 1203 } 1302 1204 else 1303 1205 { 1304 #if H_MV_HLS_8_SYN_Q0041_031305 1206 for( Int i = pcVPS->getVpsBaseLayerInternalFlag() ? 1 : 0; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1306 #else1307 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )1308 #endif1309 1207 { 1310 1208 assert( pcVPS->getVpsRepFormatIdx( i ) == pcVPS->inferVpsRepFormatIdx( i ) ); 1311 1209 } 1312 1210 } 1313 #endif1314 1315 1211 1316 1212 WRITE_FLAG( pcVPS->getMaxOneActiveRefLayerFlag( ) ? 1 : 0, "max_one_active_ref_layer_flag" ); … … 1337 1233 } 1338 1234 1339 #if H_MV_HLS_8_SYN_Q0041_031340 1235 for( Int i = pcVPS->getVpsBaseLayerInternalFlag() ? 1 : 2; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1341 1236 { 1342 1237 for( Int j = pcVPS->getVpsBaseLayerInternalFlag() ? 0 : 1; j < i; j++ ) 1343 #else1344 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )1345 {1346 for( Int j = 0; j < i; j++ )1347 #endif1348 1238 { 1349 1239 if (pcVPS->getDirectDependencyFlag( i, j) ) … … 1366 1256 1367 1257 1368 WRITE_FLAG( pcVPS->getVpsVuiPresentFlag() ? 1 : 0 , "vps_vui_present_flag" );1258 WRITE_FLAG( pcVPS->getVpsVuiPresentFlag() ? 1 : 0 , "vps_vui_present_flag" ); 1369 1259 if( pcVPS->getVpsVuiPresentFlag() ) 1370 1260 { … … 1397 1287 for( Int i = 1; i < vps->getNumOutputLayerSets(); i++ ) 1398 1288 { 1399 #if H_MV_HLS_8_MIS_Q0102_301400 1289 Int currLsIdx = vps->olsIdxToLsIdx( i ); 1401 #endif1402 1290 WRITE_FLAG( dpbSize->getSubLayerFlagInfoPresentFlag( i ) ? 1 : 0 , "sub_layer_flag_info_present_flag" ); 1403 #if H_MV_HLS_8_MIS_Q0102_301404 1291 for( Int j = 0; j <= vps->getMaxSubLayersInLayerSetMinus1( currLsIdx ); j++ ) 1405 #else1406 for( Int j = 0; j <= vps->getMaxSubLayersInLayerSetMinus1( i ); j++ )1407 #endif1408 1292 { 1409 1293 if( j > 0 && dpbSize->getSubLayerDpbInfoPresentFlag( i, j ) ) … … 1413 1297 if( dpbSize->getSubLayerDpbInfoPresentFlag( i, j ) ) 1414 1298 { 1415 #if H_MV_HLS_8_MIS_Q0102_301416 1299 for( Int k = 0; k < vps->getNumLayersInIdList( currLsIdx ); k++ ) 1417 #else1418 for( Int k = 0; k < vps->getNumSubDpbs( vps->olsIdxToLsIdx( i )); k++ )1419 #endif1420 1300 { 1421 1301 WRITE_UVLC( dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j ), "max_vps_dec_pic_buffering_minus1" ); … … 1428 1308 if ( j > 0 ) 1429 1309 { 1430 #if H_MV_HLS_8_DBP_NODOC_421431 1310 for( Int k = 0; k < vps->getNumLayersInIdList( vps->olsIdxToLsIdx( i ) ); k++ ) 1432 #else1433 for( Int k = 0; k < vps->getNumSubDpbs( vps->olsIdxToLsIdx( i ) ); k++ )1434 #endif1435 1311 { 1436 1312 assert( dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j ) == dpbSize->getMaxVpsDecPicBufferingMinus1( i,k, j - 1 ) ); … … 1493 1369 if( pcVPSVUI->getBitRatePresentVpsFlag( ) || pcVPSVUI->getPicRatePresentVpsFlag( ) ) 1494 1370 { 1495 #if H_MV_HLS_8_SYN_Q0041_031496 1371 for( Int i = pcVPS->getVpsBaseLayerInternalFlag() ? 0 : 1; i <= pcVPS->getVpsNumLayerSetsMinus1(); i++ ) 1497 #else 1498 for( Int i = 0; i <= pcVPS->getVpsNumLayerSetsMinus1(); i++ ) 1499 #endif 1500 { 1501 #if H_MV_HLS_8_MIS_Q0102_30 1372 { 1502 1373 for( Int j = 0; j <= pcVPS->getMaxSubLayersInLayerSetMinus1( i ); j++ ) 1503 #else1504 for( Int j = 0; j <= pcVPS->getMaxTLayers(); j++ )1505 #endif1506 1374 { 1507 1375 if( pcVPSVUI->getBitRatePresentVpsFlag( ) ) … … 1563 1431 if( !pcVPSVUI->getTilesNotInUseFlag() ) 1564 1432 { 1565 #if H_MV_HLS_8_SYN_Q0041_031566 1433 for( Int i = pcVPS->getVpsBaseLayerInternalFlag() ? 0 : 1; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1567 #else1568 for( Int i = 0; i <= pcVPS->getMaxLayersMinus1(); i++ )1569 #endif1570 1434 { 1571 1435 WRITE_FLAG( pcVPSVUI->getTilesInUseFlag( i ) ? 1 : 0 , "tiles_in_use_flag[i]" ); … … 1575 1439 } 1576 1440 } 1577 #if H_MV_HLS_8_SYN_Q0041_031578 1441 for( Int i = pcVPS->getVpsBaseLayerInternalFlag() ? 1 : 2; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1579 #else1580 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )1581 #endif1582 1442 { 1583 1443 for( Int j = 0; j < pcVPS->getNumDirectRefLayers( pcVPS->getLayerIdInNuh( i ) ) ; j++ ) … … 1610 1470 for( Int j = 0; j < pcVPS->getNumDirectRefLayers( pcVPS->getLayerIdInNuh( i ) ); j++ ) 1611 1471 { 1612 #if H_MV_HLS_8_SYN_Q0041_031613 1472 if( pcVPS->getVpsBaseLayerInternalFlag() || pcVPS->getRefLayerId( pcVPS->getLayerIdInNuh( i ), j ) > 0 ) 1614 1473 { 1615 #endif 1616 WRITE_UVLC( pcVPSVUI->getMinSpatialSegmentOffsetPlus1( i, j ), "min_spatial_segment_offset_plus1" ); 1617 if( pcVPSVUI->getMinSpatialSegmentOffsetPlus1( i, j ) > 0 ) 1618 { 1619 WRITE_FLAG( pcVPSVUI->getCtuBasedOffsetEnabledFlag( i, j ) ? 1 : 0 , "ctu_based_offset_enabled_flag" ); 1620 if( pcVPSVUI->getCtuBasedOffsetEnabledFlag( i, j ) ) 1474 WRITE_UVLC( pcVPSVUI->getMinSpatialSegmentOffsetPlus1( i, j ), "min_spatial_segment_offset_plus1" ); 1475 if( pcVPSVUI->getMinSpatialSegmentOffsetPlus1( i, j ) > 0 ) 1621 1476 { 1622 WRITE_UVLC( pcVPSVUI->getMinHorizontalCtuOffsetPlus1( i, j ), "min_horizontal_ctu_offset_plus1" ); 1477 WRITE_FLAG( pcVPSVUI->getCtuBasedOffsetEnabledFlag( i, j ) ? 1 : 0 , "ctu_based_offset_enabled_flag" ); 1478 if( pcVPSVUI->getCtuBasedOffsetEnabledFlag( i, j ) ) 1479 { 1480 WRITE_UVLC( pcVPSVUI->getMinHorizontalCtuOffsetPlus1( i, j ), "min_horizontal_ctu_offset_plus1" ); 1481 } 1623 1482 } 1624 1483 } 1625 #if H_MV_HLS_8_SYN_Q0041_031626 }1627 #endif1628 1484 } 1629 1485 } … … 1673 1529 for( Int i = 0; i < vpsVuiBspHrdP->getNumBitstreamPartitions( h ); i++ ) 1674 1530 { 1675 #if H_MV_HLS_8_HRD_Q0101_041676 1531 for( Int j = 0; j < pcVPS->getNumLayersInIdList( h ); j++ ) 1677 1532 { 1678 1533 WRITE_FLAG( vpsVuiBspHrdP->getLayerInBspFlag( h, i, j ) ? 1 : 0 , "layer_in_bsp_flag" ); 1679 #else1680 for( Int j = 0; j <= pcVPS->getMaxLayersMinus1(); j++ )1681 {1682 if( pcVPS->getLayerIdIncludedFlag( h ,j ) )1683 {1684 WRITE_FLAG( vpsVuiBspHrdP->getLayerInBspFlag( h, i, j ) ? 1 : 0 , "layer_in_bsp_flag" );1685 }1686 else1687 {1688 vpsVuiBspHrdP->setLayerInBspFlag( h, i, j, false ); // This inference seems to be missing in spec1689 }1690 #endif1691 1534 } 1692 1535 } … … 1696 1539 { 1697 1540 WRITE_UVLC( vpsVuiBspHrdP->getNumBspSchedCombinationsMinus1( h ), "num_bsp_sched_combinations_minus1" ); 1698 #if H_MV_HLS_8_HRD_Q0182_051699 1541 for( Int i = 0; i <= vpsVuiBspHrdP->getNumBspSchedCombinationsMinus1( h ); i++ ) 1700 #else1701 for( Int i = 0; i < vpsVuiBspHrdP->getNumBspSchedCombinationsMinus1( h ); i++ )1702 #endif1703 1542 { 1704 1543 for( Int j = 0; j < vpsVuiBspHrdP->getNumBitstreamPartitions( h ); j++ ) 1705 1544 { 1706 #if H_MV_HLS_8_HRD_Q0101_041707 1545 WRITE_CODE( vpsVuiBspHrdP->getBspCombHrdIdx( h, i, j ), vpsVuiBspHrdP->getBspCombHrdIdxLen(), "bsp_comb_hrd_idx" ); 1708 #else1709 WRITE_UVLC( vpsVuiBspHrdP->getBspCombHrdIdx( h, i, j ), "bsp_comb_hrd_idx" );1710 #endif1711 1546 WRITE_UVLC( vpsVuiBspHrdP->getBspCombSchedIdx( h, i, j ), "bsp_comb_sched_idx" ); 1712 1547 1713 #if H_MV_HLS_8_HRD_Q0101_041714 1548 vpsVuiBspHrdP->checkBspCombHrdAndShedIdx( pcVPS, h, i, j ); 1715 #endif1716 1549 } 1717 1550 } … … 1907 1740 Int picOrderCntLSB = (pcSlice->getPOC()-pcSlice->getLastIDR()+(1<<pcSlice->getSPS()->getBitsForPOC())) & ((1<<pcSlice->getSPS()->getBitsForPOC())-1); 1908 1741 WRITE_CODE( picOrderCntLSB, pcSlice->getSPS()->getBitsForPOC(), "slice_pic_order_cnt_lsb"); 1909 #if H_MV_HLS_8_POC_Q0142_321910 1742 pcSlice->setSlicePicOrderCntLsb( picOrderCntLSB ); 1911 #endif1912 1743 } 1913 1744 … … 2341 2172 } 2342 2173 2343 #if H_MV_HLS_8_POC_Q0142_322344 2174 pcSlice->checkPocResetIdc(); 2345 #endif2346 2175 2347 2176 if( pcSlice->getPocResetIdc() != 0 ) … … 2355 2184 WRITE_CODE( pcSlice->getPocLsbVal( ), pcSlice->getPocLsbValLen() , "poc_lsb_val" ); 2356 2185 } 2357 #if H_MV_HLS_8_POC_Q0142_322358 2186 pcSlice->checkPocLsbVal(); 2359 #endif2360 2187 2361 2188 if( !pcSlice->getPocMsbValRequiredFlag() /* TODO && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ ) … … 2363 2190 WRITE_FLAG( pcSlice->getPocMsbValPresentFlag( ) ? 1 : 0 , "poc_msb_val_present_flag" ); 2364 2191 } 2365 #if H_MV_HLS_8_POC_Q0146_152366 2192 else 2367 2193 { 2368 2194 assert( pcSlice->getPocMsbValPresentFlag() == pcSlice->inferPocMsbValPresentFlag( ) ); 2369 2195 } 2370 #endif2371 2196 2372 2197 if( pcSlice->getPocMsbValPresentFlag() ) -
trunk/source/Lib/TLibEncoder/TEncCfg.h
r964 r976 403 403 #if H_3D_IC 404 404 Bool m_bUseIC; 405 #if MTK_LOW_LATENCY_IC_ENCODING_H0086406 405 Bool m_bUseICLowLatencyEnc; 407 #endif408 406 #endif 409 407 #if H_3D_INTER_SDC … … 516 514 Void setUseIC ( Bool bVal ) { m_bUseIC = bVal; } 517 515 Bool getUseIC () { return m_bUseIC; } 518 #if MTK_LOW_LATENCY_IC_ENCODING_H0086519 516 Void setUseICLowLatencyEnc ( Bool bVal ) { m_bUseICLowLatencyEnc = bVal; } 520 517 Bool getUseICLowLatencyEnc () { return m_bUseICLowLatencyEnc; } 521 #endif522 518 #endif 523 519 #if H_3D_INTER_SDC -
trunk/source/Lib/TLibEncoder/TEncCu.cpp
r950 r976 1815 1815 rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand ); 1816 1816 rpcTempCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours 1817 #if !ETRIKHU_CLEANUP_H00831818 , vspFlag1819 #endif1820 1817 , inheritedVSPDisInfo 1821 1818 #if H_3D_SPIVMP 1822 #if !ETRIKHU_CLEANUP_H0083_MISSING1823 , bSPIVMPFlag1824 #endif1825 1819 , pcMvFieldSP, puhInterDirSP 1826 1820 #endif … … 1828 1822 ); 1829 1823 1830 #if ETRIKHU_CLEANUP_H00831831 1824 rpcTempCU->buildMCL( cMvFieldNeighbours,uhInterDirNeighbours, vspFlag 1832 1825 #if H_3D_SPIVMP … … 1835 1828 , numValidMergeCand 1836 1829 ); 1837 #endif1838 1830 1839 1831 #else … … 2400 2392 pDBBPTmpData->auhMergeIndex[uiSegment] = rpcTempCU->getMergeIndex(0); 2401 2393 2402 #if RWTH_DBBP_NO_SPU_H00572403 2394 AOF( rpcTempCU->getSPIVMPFlag(0) == false ); 2404 2395 AOF( rpcTempCU->getVSPFlag(0) == 0 ); 2405 #else2406 pDBBPTmpData->ahVSPFlag[uiSegment] = rpcTempCU->getVSPFlag(0);2407 pDBBPTmpData->acDvInfo[uiSegment] = rpcTempCU->getDvInfo(0);2408 #endif2409 2396 2410 2397 for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ ) … … 2437 2424 rpcTempCU->setMergeFlagSubParts(pDBBPTmpData->abMergeFlag[uiSegment], uiPartAddr, uiSegment, uhDepth); 2438 2425 rpcTempCU->setMergeIndexSubParts(pDBBPTmpData->auhMergeIndex[uiSegment], uiPartAddr, uiSegment, uhDepth); 2439 2440 #if !RWTH_DBBP_NO_SPU_H0057 2441 rpcTempCU->setVSPFlagSubParts(pDBBPTmpData->ahVSPFlag[uiSegment], uiPartAddr, uiSegment, uhDepth); 2442 rpcTempCU->setDvInfoSubParts(pDBBPTmpData->acDvInfo[uiSegment], uiPartAddr, uiSegment, uhDepth); 2443 #endif 2444 2426 2445 2427 for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ ) 2446 2428 { -
trunk/source/Lib/TLibEncoder/TEncEntropy.cpp
r950 r976 157 157 158 158 if( !pcCU->getSlice()->getApplyIC() ) 159 { 159 160 return; 160 161 if( bRD ) 162 {163 uiAbsPartIdx = 0;164 }165 #if MTK_LOW_LATENCY_IC_ENCODING_H0086 161 } 162 163 if( bRD ) 164 { 165 uiAbsPartIdx = 0; 166 } 166 167 else 167 168 { … … 172 173 } 173 174 } 174 #endif175 175 if( pcCU->isICFlagRequired( uiAbsPartIdx ) ) 176 { 176 177 m_pcEntropyCoderIf->codeICFlag( pcCU, uiAbsPartIdx ); 178 } 177 179 } 178 180 #endif … … 255 257 256 258 #if H_3D_DBBP 257 258 #if MTK_DBBP_SIGNALING_H0094259 259 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) ) 260 #else261 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE )262 #endif263 260 { 264 261 encodeDBBPFlag(pcCU, uiAbsPartIdx, bRD); … … 266 263 if( pcCU->getDBBPFlag(uiAbsPartIdx) ) 267 264 { 268 #if !MTK_DBBP_SIGNALING_H0094269 AOF( pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE );270 #endif271 265 // restore virtual partition size for DBBP blocks 272 266 pcCU->setPartSizeSubParts(eVirtualPartSize, uiAbsPartIdx, uiDepth); … … 290 284 return; 291 285 } 292 #if !MTK_SDC_FLAG_FIX_H0095293 #if H_3D_DIM_SDC294 if( pcCU->getSDCFlag(uiAbsPartIdx) )295 {296 return;297 }298 #endif299 #endif300 286 301 287 if( bRD ) -
trunk/source/Lib/TLibEncoder/TEncGOP.cpp
r964 r976 2325 2325 std::vector<Int> temp; 2326 2326 TComSlice::markCurrPic( pcPic ); 2327 #if !H_MV_HLS_8_DBP_NODOC_422328 TComSlice::markIvRefPicsAsUnused ( m_ivPicLists, temp, pcPic->getSlice(0)->getVPS(), m_layerId, pcPic->getPOC() );2329 #endif2330 2327 #endif 2331 2328 m_bFirst = false; -
trunk/source/Lib/TLibEncoder/TEncSbac.cpp
r950 r976 93 93 , m_cDdcDataSCModel ( 1, 1, NUM_DDC_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) 94 94 , m_cAngleFlagSCModel ( 1, 1, NUM_ANGLE_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 95 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H009296 , m_cDmm1DataSCModel ( 1, 1, NUM_DMM1_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels)97 #endif98 95 #if H_3D_DIM_SDC 99 96 , m_cSDCResidualFlagSCModel ( 1, 1, SDC_NUM_RESIDUAL_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) … … 169 166 m_cDdcDataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DDC_DATA ); 170 167 m_cAngleFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_ANGLE_FLAG ); 171 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092172 m_cDmm1DataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA );173 #endif174 168 #if H_3D_DIM_SDC 175 169 m_cSDCResidualFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG ); … … 255 249 curCost += m_cDdcDataSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_DDC_DATA ); 256 250 curCost += m_cAngleFlagSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_ANGLE_FLAG ); 257 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092258 curCost += m_cDmm1DataSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_DMM1_DATA );259 #endif260 251 } 261 252 #endif … … 319 310 m_cDdcDataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DDC_DATA ); 320 311 m_cAngleFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_ANGLE_FLAG ); 321 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092322 m_cDmm1DataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA );323 #endif324 312 #if H_3D_DIM_SDC 325 313 m_cSDCResidualFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_SDC_RESIDUAL_FLAG ); … … 482 470 m_pcBinIf->encodeBin( 1, rcSCModel ); 483 471 UInt uiCount = 0; 484 #if QC_SIMP_DELTADC_CODING_H0131485 472 Bool bNoExGo = ( uiSymbol < 3 ); 486 473 487 474 while( --uiSymbol && ++uiCount < 3 ) 488 #else489 Bool bNoExGo = (uiSymbol < 13);490 491 while( --uiSymbol && ++uiCount < 13 )492 #endif493 475 { 494 476 m_pcBinIf->encodeBin( 1, rcSCModel ); … … 526 508 for ( Int i = 0; i < iNumBit; i++ ) 527 509 { 528 #if MTK_DMM_SIMP_CODE_H0092 529 m_pcBinIf->encodeBinEP( ( uiTabIdx >> i ) & 1 ); 530 #else 531 m_pcBinIf->encodeBin( ( uiTabIdx >> i ) & 1, m_cDmm1DataSCModel.get(0, 0, 0) ); 532 #endif 510 m_pcBinIf->encodeBinEP( ( uiTabIdx >> i ) & 1 ); 533 511 } 534 512 } … … 1243 1221 if( ( pcCU->getSlice()->getSPS()->getMaxCUWidth() >> pcCU->getDepth( absPartIdx ) ) < 64 ) //DMM and HEVC intra modes are both allowed 1244 1222 { 1245 #if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H01351246 1223 m_pcBinIf->encodeBin( isDimMode( dir ) ? 0 : 1, m_cAngleFlagSCModel.get( 0, 0, 0 ) ); 1247 #else1248 m_pcBinIf->encodeBin( isDimMode( dir ) ? 0 : 1, m_cAngleFlagSCModel.get( 0, 0, pcCU->getCtxAngleFlag( absPartIdx ) ) );1249 #endif1250 1224 } 1251 1225 if( isDimMode( dir ) ) … … 2327 2301 dimDeltaDC = isDimDeltaDC( dir ); 2328 2302 } 2329 #if MTK_DELTA_DC_FLAG_ONE_CONTEXT_H0084_H0100_H01132330 2303 m_pcBinIf->encodeBin( dimDeltaDC, m_cDdcFlagSCModel.get( 0, 0, 0 ) ); 2331 #else2332 m_pcBinIf->encodeBin( dimDeltaDC, m_cDdcFlagSCModel.get( 0, 0, uiNumSegments-1 ) );2333 #endif2334 2304 } 2335 2305 else //all-zero inter SDC is not allowed … … 2373 2343 Void TEncSbac::codeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx ) 2374 2344 { 2375 #if !MTK_DBBP_SIGNALING_H00942376 PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );2377 AOF( ePartSize == RWTH_DBBP_PACK_MODE );2378 #endif2379 2345 AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) ); 2380 2346 AOF( !pcCU->getSlice()->getIsDepth() ); -
trunk/source/Lib/TLibEncoder/TEncSbac.h
r950 r976 258 258 ContextModel3DBuffer m_cDdcDataSCModel; 259 259 ContextModel3DBuffer m_cAngleFlagSCModel; 260 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092261 ContextModel3DBuffer m_cDmm1DataSCModel;262 #endif263 260 #if H_3D_DIM_SDC 264 261 ContextModel3DBuffer m_cSDCResidualFlagSCModel; -
trunk/source/Lib/TLibEncoder/TEncSearch.cpp
r964 r976 1146 1146 for( UInt uiX = 0; uiX < uiWidth; uiX++ ) 1147 1147 { 1148 #if H_3D_DIM && !SEC_NO_RESI_DLT_H01051149 if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )1150 {1151 pResi[ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pOrg[ uiX ] ) - pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] );1152 }1153 else1154 {1155 pResi[ uiX ] = pOrg[ uiX ] - pPred[ uiX ];1156 }1157 #else1158 1148 pResi[ uiX ] = pOrg[ uiX ] - pPred[ uiX ]; 1159 #endif1160 1149 } 1161 1150 pOrg += uiStride; … … 1221 1210 for( UInt uiX = 0; uiX < uiWidth; uiX++ ) 1222 1211 { 1223 #if H_3D_DIM && !SEC_NO_RESI_DLT_H01051224 if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )1225 {1226 pReco [ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );1227 }1228 else1229 {1230 pReco [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );1231 }1232 #else1233 1212 pReco [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] ); 1234 #endif1235 1213 pRecQt [ uiX ] = pReco[ uiX ]; 1236 1214 pRecIPred[ uiX ] = pReco[ uiX ]; … … 1989 1967 // get DC prediction for each segment 1990 1968 Pel apDCPredValues[2]; 1991 #if HS_DMM_SDC_PREDICTOR_UNIFY_H01081992 1969 if ( getDimType( uiLumaPredMode ) == DMM1_IDX || getDimType( uiLumaPredMode ) == DMM4_IDX ) 1993 1970 { … … 1996 1973 } 1997 1974 else 1998 #endif 1999 analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode ); 1975 { 1976 analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode ); 1977 } 1978 2000 1979 2001 1980 // get original DC for each segment … … 3674 3653 pcCU->setInterDirSubParts(pDBBPTmpData->auhInterDir[0], 0, 0, pcCU->getDepth(0)); // interprets depth relative to LCU level 3675 3654 3676 #if !RWTH_DBBP_NO_SPU_H00573677 pcCU->setVSPFlagSubParts(pDBBPTmpData->ahVSPFlag[0], 0, 0, pcCU->getDepth(0));3678 pcCU->setDvInfoSubParts(pDBBPTmpData->acDvInfo[0], 0, 0, pcCU->getDepth(0));3679 #endif3680 3681 3655 for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ ) 3682 3656 { … … 3707 3681 pcCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours 3708 3682 #if H_3D_VSP 3709 #if !ETRIKHU_CLEANUP_H00833710 , vspFlag3711 #endif3712 3683 , inheritedVSPDisInfo 3713 3684 #endif 3714 3685 #if H_3D_SPIVMP 3715 #if !ETRIKHU_CLEANUP_H0083_MISSING3716 , pbSPIVMPFlag3717 #endif3718 3686 , pcMvFieldSP, puhInterDirSP 3719 3687 #endif … … 3721 3689 ); 3722 3690 3723 #if ETRIKHU_CLEANUP_H00833724 3691 pcCU->buildMCL( cMvFieldNeighbours,uhInterDirNeighbours 3725 3692 #if H_3D_VSP … … 3731 3698 , numValidMergeCand 3732 3699 ); 3733 #endif3734 3700 #else 3735 3701 pcCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand ); … … 3745 3711 pcCU->xGetInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours 3746 3712 #if H_3D_VSP 3747 #if !ETRIKHU_CLEANUP_H00833748 , vspFlag3749 #endif3750 3713 , inheritedVSPDisInfo 3751 3714 #endif 3752 3715 #if H_3D_SPIVMP 3753 #if !ETRIKHU_CLEANUP_H0083_MISSING3754 , pbSPIVMPFlag3755 #endif3756 3716 , pcMvFieldSP, puhInterDirSP 3757 3717 #endif … … 3759 3719 ); 3760 3720 3761 #if ETRIKHU_CLEANUP_H00833762 3721 pcCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours 3763 3722 #if H_3D_VSP … … 3769 3728 , numValidMergeCand 3770 3729 ); 3771 #endif3772 3730 #else 3773 3731 pcCU->getInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand -
trunk/source/Lib/TLibEncoder/TEncSlice.cpp
r964 r976 930 930 ) 931 931 { 932 #if MTK_LOW_LATENCY_IC_ENCODING_H0086933 932 pcSlice ->xSetApplyIC(pcEncTop->getUseICLowLatencyEnc()); 934 #else935 pcSlice ->xSetApplyIC();936 #endif937 933 if ( pcSlice->getApplyIC() ) 938 934 { -
trunk/source/Lib/TLibEncoder/TEncTop.cpp
r964 r976 698 698 m_cSPS.setSpsScalingListRefLayerId ( 0 ); 699 699 m_cSPS.setSpsExtensionPresentFlag ( true ); 700 #if H_MV_HLS_8_SPS_NODOC_48701 700 m_cSPS.setSpsMultilayerExtensionFlag ( true ); 702 #else703 m_cSPS.setSpsExtensionTypeFlag ( PS_EX_T_MV ,true );704 #endif705 701 #if H_3D 706 #if H_MV_HLS_8_SPS_NODOC_48707 702 m_cSPS.setSps3dExtensionFlag ( true ); 708 #else709 m_cSPS.setSpsExtensionTypeFlag ( PS_EX_T_3D ,true );710 #endif711 703 #endif 712 704 #endif … … 777 769 m_cSPS.setNumReorderPics(m_numReorderPics[i], i); 778 770 } 779 #if H_MV _HLS_8_HRD_Q0102_08771 #if H_MV 780 772 for ( Int ols = 0; ols < m_cVPS->getNumOutputLayerSets(); ols++) 781 773 { … … 788 780 } 789 781 790 #if H_MV_HLS_8_RPS_Q0100_36791 782 m_cVPS->inferDbpSizeLayerSetZero( &m_cSPS, true ); 792 #endif793 794 783 #endif 795 784 m_cSPS.setPCMBitDepthLuma (g_uiPCMBitDepthLuma); … … 853 842 m_cPPS.setPPSId( getLayerIdInVps() ); 854 843 m_cPPS.setSPSId( getLayerIdInVps() ); 855 #if H_MV_HLS_8_SPS_NODOC_48856 844 m_cPPS.setPpsMultilayerExtensionFlag ( true ); 857 845 #if H_3D 858 846 m_cPPS.setPps3dExtensionFlag ( true ); 859 #endif860 #else861 m_cPPS.setPpsExtensionTypeFlag ( PPS_EX_T_MV ,true );862 #if H_3D863 m_cPPS.setPpsExtensionTypeFlag ( PPS_EX_T_3D ,true );864 #endif865 847 #endif 866 848 #endif
Note: See TracChangeset for help on using the changeset viewer.