- Timestamp:
- 7 Nov 2014, 14:05:45 (10 years ago)
- Location:
- branches/HTM-12.2-dev2-HHI/source/Lib
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComSlice.cpp
r1108 r1110 1878 1878 m_vpsBaseLayerInternalFlag = true; 1879 1879 m_vpsBaseLayerAvailableFlag = true; 1880 1881 1880 1882 #endif 1881 1883 … … 1913 1915 m_repFormatIdxPresentFlag = false; 1914 1916 m_maxOneActiveRefLayerFlag = false; 1917 #if H_MV_HLS_FIX 1918 m_vpsPocLsbAlignedFlag = false; 1919 #endif 1915 1920 m_directDepTypeLenMinus2 = 0; 1916 1921 … … 2366 2371 return numViews; 2367 2372 } 2368 2369 2373 2370 2374 Void TComVPS::deriveLayerSetLayerIdList() -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComSlice.h
r1106 r1110 861 861 TComRepFormat* m_repFormat [MAX_NUM_LAYERS]; 862 862 Bool m_maxOneActiveRefLayerFlag; 863 #if H_MV_HLS7_GEN 863 #if H_MV_HLS7_GEN || H_MV_HLS_FIX 864 864 Bool m_vpsPocLsbAlignedFlag; 865 865 #endif … … 1146 1146 Bool getMaxOneActiveRefLayerFlag( ) { return m_maxOneActiveRefLayerFlag; } 1147 1147 1148 #if H_MV_HLS7_GEN 1148 #if H_MV_HLS7_GEN || H_MV_HLS_FIX 1149 1149 Void setVpsPocLsbAlignedFlag( Bool flag ) { m_vpsPocLsbAlignedFlag = flag; } 1150 1150 Bool getVpsPocLsbAlignedFlag( ) { return m_vpsPocLsbAlignedFlag; } … … 2880 2880 Int getPocMsbVal( ) { return m_pocMsbVal; } 2881 2881 2882 #if H_MV_HLS_FIX 2883 Bool getCraOrBlaPicFlag() { return ( getCraPicFlag() || getBlaPicFlag() ); } 2884 Bool getPocMsbValRequiredFlag() { return ( getCraOrBlaPicFlag() && ( getVPS()->getVpsPocLsbAlignedFlag() || getVPS()->getNumDirectRefLayers( getLayerIdInVps() ) == 0 ) ); } 2885 #else 2882 2886 Bool getPocMsbValRequiredFlag() { return m_pocMsbValRequiredFlag; } 2883 2887 Void setPocMsbValRequiredFlag(Bool x) { m_pocMsbValRequiredFlag = x; } 2888 #endif 2889 2884 2890 2885 2891 UInt getPocLsbValLen() { return getSPS()->getBitsForPOC(); }; //log2_max_pic_order_cnt_lsb_minus4 + 4 -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TypeDef.h
r1109 r1110 383 383 ///////////////////////////////////////////////////////////////////////////////// 384 384 // TBD: Check if integration is necessary. 385 386 #define H_MV_HLS_FIX 1 385 387 #define H_MV_HLS_PTL_LIMITS 0 386 388 #define H_MV_HLS7_GEN 0 // General changes (not tested) -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1109 r1110 1071 1071 READ_FLAG( uiCode, "pps_infer_scaling_list_flag" ); pcPPS->setPpsInferScalingListFlag( uiCode == 1 ); 1072 1072 READ_CODE( 6, uiCode, "pps_scaling_list_ref_layer_id" ); pcPPS->setPpsScalingListRefLayerId( uiCode ); 1073 #if H_MV_HLS_FIX 1074 1075 UInt numRefLocOffsets;; 1076 READ_UVLC( numRefLocOffsets, "num_ref_loc_offsets" ); 1077 1078 // All of the following stuff is not needed, but allowed to be present. 1079 for (Int i = 0; i < numRefLocOffsets; i++ ) 1080 { 1081 Int iCode = 0; 1082 READ_CODE( 6, uiCode, "ref_loc_offset_layer_id" ); 1083 READ_FLAG( uiCode, "scaled_ref_layer_offset_present_flag" ); 1084 1085 if (uiCode) 1086 { 1087 READ_SVLC( iCode, "scaled_ref_layer_left_offset" ); 1088 READ_SVLC( iCode, "scaled_ref_layer_top_offset" ); 1089 READ_SVLC( iCode, "scaled_ref_layer_right_offset" ); 1090 READ_SVLC( iCode, "scaled_ref_layer_bottom_offset" ); 1091 } 1092 1093 READ_FLAG( uiCode, "ref_region_offset_present_flag" ); 1094 if (uiCode) 1095 { 1096 READ_SVLC( iCode, "ref_region_left_offset" ); 1097 READ_SVLC( iCode, "ref_region_top_offset" ); 1098 READ_SVLC( iCode, "ref_region_right_offset" ); 1099 READ_SVLC( iCode, "ref_region_bottom_offset" ); 1100 } 1101 1102 READ_FLAG( uiCode, "resample_phase_set_present_flag" ); 1103 if (uiCode) 1104 { 1105 READ_UVLC( uiCode, "phase_hor_luma" ); 1106 READ_UVLC( uiCode, "phase_ver_luma" ); 1107 READ_UVLC( uiCode, "phase_hor_chroma_plus8" ); 1108 READ_UVLC( uiCode, "phase_ver_chroma_plus8" ); 1109 } 1110 } 1111 READ_FLAG( uiCode, "colour_mapping_enabled_flag" ); 1112 // This is required to equal to 0 for Multiview Main profile. 1113 assert( uiCode == 0 ); 1114 #else 1073 1115 READ_UVLC( uiCode, "num_ref_loc_offsets" ); assert( uiCode == 0 ); 1116 #endif 1074 1117 } 1075 1118 … … 1394 1437 for( Int i = 1; i < pcVPS->getNumOutputLayerSets( ); i++ ) 1395 1438 { 1439 #if H_MV_HLS_FIX 1440 if( pcVPS->getNumLayerSets() > 2 && i >= pcVPS->getNumLayerSets( ) ) 1441 #else 1396 1442 if( i >= pcVPS->getNumLayerSets( ) ) 1443 #endif 1397 1444 { 1398 1445 READ_CODE( pcVPS->getLayerSetIdxForOlsMinus1Len( i ), uiCode, "layer_set_idx_for_ols_minus1[i]" ); pcVPS->setLayerSetIdxForOlsMinus1( i, uiCode ); … … 1465 1512 1466 1513 READ_FLAG( uiCode, "max_one_active_ref_layer_flag" ); pcVPS->setMaxOneActiveRefLayerFlag ( uiCode == 1 ); 1467 #if H_MV_HLS7_GEN 1514 1515 #if H_MV_HLS7_GEN || H_MV_HLS_FIX 1468 1516 READ_FLAG( uiCode, "vps_poc_lsb_aligned_flag" ); pcVPS->setVpsPocLsbAlignedFlag( uiCode == 1 ); 1469 1517 #endif … … 1515 1563 parseVPSVUI( pcVPS ); 1516 1564 } 1565 #if H_MV_HLS_FIX 1566 else 1567 #endif 1517 1568 { 1518 1569 TComVPSVUI* pcVPSVUI = pcVPS->getVPSVUI( ); … … 2129 2180 rpcSlice->checkCrossLayerBlaFlag( ); 2130 2181 2131 #if !H_MV_HLS7_GEN 2182 #if !H_MV_HLS7_GEN && !H_MV_HLS_FIX 2132 2183 if ( rpcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb ) 2133 2184 { … … 2838 2889 2839 2890 // Derive the value of PocMs8bValRequiredFlag 2891 #if !H_MV_HLS_FIX 2840 2892 rpcSlice->setPocMsbValRequiredFlag( rpcSlice->getCraPicFlag() || rpcSlice->getBlaPicFlag() 2841 2893 /* || TODO related to vps_poc_lsb_aligned_flag */ 2842 2894 ); 2843 2895 #endif 2896 2897 #if H_MV_HLS_FIX 2898 if( !rpcSlice->getPocMsbValRequiredFlag() && rpcSlice->getVPS()->getVpsPocLsbAlignedFlag() ) 2899 #else 2844 2900 if( !rpcSlice->getPocMsbValRequiredFlag() /* TODO && rpcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ ) 2901 #endif 2845 2902 { 2846 2903 READ_FLAG( uiCode, "poc_msb_val_present_flag" ); rpcSlice->setPocMsbValPresentFlag( uiCode == 1 ); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncCavlc.cpp
r1109 r1110 871 871 WRITE_CODE( pcPPS->getPpsScalingListRefLayerId( ), 6, "pps_scaling_list_ref_layer_id" ); 872 872 WRITE_UVLC( 0, "num_ref_loc_offsets" ); 873 #if H_MV_HLS_FIX 874 WRITE_FLAG( 0 , "colour_mapping_enabled_flag" ); 875 #endif 876 873 877 } 874 878 … … 1185 1189 for( Int i = 1; i < pcVPS->getNumOutputLayerSets( ); i++ ) 1186 1190 { 1191 #if H_MV_HLS_FIX 1192 if( pcVPS->getNumLayerSets() > 2 && i >= pcVPS->getNumLayerSets( ) ) 1193 #else 1187 1194 if( i >= pcVPS->getNumLayerSets( ) ) 1195 #endif 1188 1196 { 1189 1197 WRITE_CODE( pcVPS->getLayerSetIdxForOlsMinus1( i ), pcVPS->getLayerSetIdxForOlsMinus1Len( i ) , "layer_set_idx_for_ols_minus1[i]" ); … … 1255 1263 1256 1264 WRITE_FLAG( pcVPS->getMaxOneActiveRefLayerFlag( ) ? 1 : 0, "max_one_active_ref_layer_flag" ); 1257 #if H_MV_HLS7_GEN 1265 #if H_MV_HLS7_GEN || H_MV_HLS_FIX 1258 1266 WRITE_FLAG( pcVPS->getVpsPocLsbAlignedFlag( ) ? 1 : 0 , "vps_poc_lsb_aligned_flag" ); 1259 1267 #endif … … 1305 1313 codeVPSVUI( pcVPS ); 1306 1314 } 1315 #if H_MV_HLS_FIX 1316 else 1317 #endif 1307 1318 { 1308 1319 TComVPSVUI* pcVPSVUI = pcVPS->getVPSVUI( ); … … 1775 1786 } 1776 1787 pcSlice->checkCrossLayerBlaFlag( ); 1777 #if !H_MV_HLS7_GEN 1788 #if !H_MV_HLS7_GEN && !H_MV_HLS_FIX 1778 1789 if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb ) 1779 1790 { … … 2218 2229 { 2219 2230 // Derive the value of PocMsbValRequiredFlag 2231 #if !H_MV_HLS_FIX 2220 2232 pcSlice->setPocMsbValRequiredFlag( pcSlice->getCraPicFlag() || pcSlice->getBlaPicFlag() 2221 2233 /* || related to vps_poc_lsb_aligned_flag */ 2222 2234 ); 2235 #endif 2223 2236 2224 2237 // Determine value of SH extension length. … … 2238 2251 2239 2252 2253 #if H_MV_HLS_FIX 2254 if( !pcSlice->getPocMsbValRequiredFlag() && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() ) 2255 #else 2240 2256 if( !pcSlice->getPocMsbValRequiredFlag() /* TODO && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ ) 2257 #endif 2241 2258 { 2242 2259 shExtnLengthInBit++; // For poc_msb_val_present_flag … … 2301 2318 pcSlice->checkPocLsbVal(); 2302 2319 2320 #if H_MV_HLS_FIX 2321 if( !pcSlice->getPocMsbValRequiredFlag() && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() ) 2322 #else 2303 2323 if( !pcSlice->getPocMsbValRequiredFlag() /* TODO && pcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ ) 2324 #endif 2304 2325 { 2305 2326 WRITE_FLAG( pcSlice->getPocMsbValPresentFlag( ) ? 1 : 0 , "poc_msb_val_present_flag" );
Note: See TracChangeset for help on using the changeset viewer.