Changeset 850 in SHVCSoftware
- Timestamp:
- 1 Aug 2014, 22:23:56 (10 years ago)
- Location:
- branches/SHM-dev/source/Lib
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp
r849 r850 106 106 , m_temporalLayerNonReferenceFlag ( false ) 107 107 , m_enableTMVPFlag ( true ) 108 #if R0226_SLICE_TMVP 109 , m_availableForTMVPRefFlag ( true ) 110 #endif 108 111 #if SVC_EXTENSION 109 112 , m_layerId ( 0 ) -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r849 r850 2050 2050 Int m_associatedIrapPocBeforeReset; 2051 2051 #endif 2052 2053 2052 NalUnitType m_iAssociatedIRAPType; 2054 2053 static Int m_prevTid0POC; … … 2141 2140 2142 2141 Bool m_enableTMVPFlag; 2142 #if R0226_SLICE_TMVP 2143 Bool m_availableForTMVPRefFlag; 2144 #endif 2143 2145 2144 2146 #if SVC_EXTENSION … … 2448 2450 Bool getEnableTMVPFlag () { return m_enableTMVPFlag;} 2449 2451 2452 #if R0226_SLICE_TMVP 2453 Void setAvailableForTMVPRefFlag ( Bool b ) { m_availableForTMVPRefFlag = b; } 2454 Bool getAvailableForTMVPRefFlag () { return m_availableForTMVPRefFlag;} 2455 #endif 2456 2450 2457 #if SVC_EXTENSION 2451 2458 Bool setBaseColPic ( TComList<TComPic*>& rcListPic , UInt refLayerIdc ); -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r849 r850 51 51 #define O0137_MAX_LAYERID 1 ///< JCTVC-O0137, JCTVC-O0200, JCTVC-O0223: restrict nuh_layer_id and vps_max_layers_minus1 52 52 53 #define R0226_SLICE_TMVP 1 ///< JCTVC-R0226, Regarding slice_temporal_mvp_enabled_flag 53 54 #define R0279_REP_FORMAT_INBL 1 ///< JCTVC-R0279, For any independent non-base layer the used representation format is the one that is signalled in the active SPS for the layer 54 55 #define R0227_VUI_BSP_HRD_FLAG 1 ///< JCTVC-R0227, Conformance checking such that VPS VUI HRD only present if VPS timing info is signalled -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r849 r850 2960 2960 if (rpcSlice->getSPS()->getTMVPFlagsPresent()) 2961 2961 { 2962 #if R0226_SLICE_TMVP 2963 READ_FLAG( uiCode, "slice_temporal_mvp_enabled_flag" ); 2964 #else 2962 2965 READ_FLAG( uiCode, "slice_temporal_mvp_enable_flag" ); 2966 #endif 2963 2967 rpcSlice->setEnableTMVPFlag( uiCode == 1 ? true : false ); 2964 2968 } -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r849 r850 1313 1313 #endif 1314 1314 1315 #if R0226_SLICE_TMVP 1316 if ( m_apcSlicePilot->getTLayer() == 0 && m_apcSlicePilot->getEnableTMVPFlag() == 0 ) 1317 { 1318 //update all pics in the DPB such that they cannot be used for TMPV ref 1319 TComList<TComPic*>::iterator iterRefPic = m_cListPic.begin(); 1320 while( iterRefPic != m_cListPic.end() ) 1321 { 1322 TComPic *refPic = *iterRefPic; 1323 if( ( refPic->getLayerId() == m_apcSlicePilot->getLayerId() ) && refPic->getReconMark() ) 1324 { 1325 for(Int i = refPic->getNumAllocatedSlice()-1; i >= 0; i--) 1326 { 1327 1328 TComSlice *refSlice = refPic->getSlice(i); 1329 refSlice->setAvailableForTMVPRefFlag( false ); 1330 } 1331 } 1332 iterRefPic++; 1333 } 1334 } 1335 m_apcSlicePilot->setAvailableForTMVPRefFlag( true ); 1336 #endif 1337 1315 1338 // actual decoding starts here 1316 1339 xActivateParameterSets(); … … 1945 1968 } 1946 1969 } 1947 1970 1948 1971 if( m_layerId > 0 && !pcSlice->isIntra() && pcSlice->getEnableTMVPFlag() ) 1949 1972 { … … 1951 1974 1952 1975 assert( refPic ); 1976 #if R0226_SLICE_TMVP 1977 assert ( refPic->getPicSym()->getSlice(0)->getAvailableForTMVPRefFlag() == true ); 1978 #endif 1953 1979 1954 1980 // It is a requirement of bitstream conformance when the collocated picture, used for temporal motion vector prediction, is an inter-layer reference picture, -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.h
r820 r850 165 165 Bool m_isLastNALWasEos; 166 166 #endif 167 168 167 #if SVC_EXTENSION 169 168 static UInt m_prevPOC; // POC of the previous slice -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r849 r850 2053 2053 if (pcSlice->getSPS()->getTMVPFlagsPresent()) 2054 2054 { 2055 #if R0226_SLICE_TMVP 2056 WRITE_FLAG( pcSlice->getEnableTMVPFlag() ? 1 : 0, "slice_temporal_mvp_enabled_flag" ); 2057 #else 2055 2058 WRITE_FLAG( pcSlice->getEnableTMVPFlag() ? 1 : 0, "slice_temporal_mvp_enable_flag" ); 2059 #endif 2056 2060 } 2057 2061 #if N0065_LAYER_POC_ALIGNMENT && !SHM_FIX7
Note: See TracChangeset for help on using the changeset viewer.