- Timestamp:
- 30 Apr 2014, 00:14:22 (11 years ago)
- Location:
- branches/SHM-6-dev/source/Lib
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h ¶
r758 r759 211 211 #define P0068_CROSS_LAYER_ALIGNED_IDR_ONLY_FOR_IRAP_FLAG 1 ///< a flag to indicatate whether picture types for IRAP are IDR across layers. 212 212 213 #define O0223_O0139_IRAP_ALIGN_NO_CONTRAINTS 1 ///< Remove IRAP align depedency constraints on poc_Reset_flag.214 213 #define IRAP_ALIGN_FLAG_IN_VPS_VUI 1 ///< Move IRAP align flag to VPS VUI 215 214 #define FAST_INTRA_SHVC 1 ///< JCTVC-M0115: reduction number of intra modes in the EL (encoder only) -
TabularUnified branches/SHM-6-dev/source/Lib/TLibDecoder/TDecTop.cpp ¶
r758 r759 1090 1090 return true; 1091 1091 } 1092 #else 1093 //we should only get a different poc for a new picture (with CTU address==0) 1094 if (m_apcSlicePilot->isNextSlice() && m_apcSlicePilot->getPOC()!=m_prevPOC && !m_bFirstSliceInSequence && (m_apcSlicePilot->getSliceCurStartCUAddr()!=0)) 1095 { 1096 printf ("Warning, the first slice of a picture might have been lost!\n"); 1097 } 1098 // exit when a new picture is found 1099 if (m_apcSlicePilot->isNextSlice() && (m_apcSlicePilot->getSliceCurStartCUAddr() == 0 && !m_bFirstSliceInPicture) && !m_bFirstSliceInSequence ) 1100 { 1101 if (m_prevPOC >= m_pocRandomAccess) 1102 { 1103 m_prevPOC = m_apcSlicePilot->getPOC(); 1104 return true; 1105 } 1106 m_prevPOC = m_apcSlicePilot->getPOC(); 1107 } 1108 #endif 1092 1109 1093 // actual decoding starts here 1110 1094 xActivateParameterSets(); 1111 #if !O0223_O0139_IRAP_ALIGN_NO_CONTRAINTS 1112 //Note setting O0223_O0139_IRAP_ALIGN_NO_CONTRAINTS to 0 may cause decoder to crash. 1113 //When cross_layer_irap_aligned_flag is equal to 0, num_extra_slice_header_bits >=1 1114 if(!m_apcSlicePilot->getVPS()->getCrossLayerIrapAlignFlag() ) 1115 { 1116 assert( m_apcSlicePilot->getPPS()->getNumExtraSliceHeaderBits() > 0); 1117 } 1118 //When cross_layer_irap_aligned_flag is equal to 1, the value of poc_reset_flag shall be equal to 0 1119 if( m_apcSlicePilot->getVPS()->getCrossLayerIrapAlignFlag() ) 1120 { 1121 assert( m_apcSlicePilot->getPocResetFlag() == 0); 1122 } 1123 #endif 1095 1124 1096 #if REPN_FORMAT_IN_VPS 1125 1097 // Initialize ILRP if needed, only for the current layer … … 1131 1103 { 1132 1104 m_prevPOC = m_apcSlicePilot->getPOC(); 1133 #if SVC_EXTENSION1134 1105 curLayerId = m_layerId; 1135 1106 m_uiPrevLayerId = m_layerId; 1136 #endif1137 1107 } 1138 1108 m_bFirstSliceInSequence = false; … … 1241 1211 } 1242 1212 #endif 1213 #else //SVC_EXTENSION 1214 //we should only get a different poc for a new picture (with CTU address==0) 1215 if (m_apcSlicePilot->isNextSlice() && m_apcSlicePilot->getPOC()!=m_prevPOC && !m_bFirstSliceInSequence && (m_apcSlicePilot->getSliceCurStartCUAddr()!=0)) 1216 { 1217 printf ("Warning, the first slice of a picture might have been lost!\n"); 1218 } 1219 // exit when a new picture is found 1220 if (m_apcSlicePilot->isNextSlice() && (m_apcSlicePilot->getSliceCurStartCUAddr() == 0 && !m_bFirstSliceInPicture) && !m_bFirstSliceInSequence ) 1221 { 1222 if (m_prevPOC >= m_pocRandomAccess) 1223 { 1224 m_prevPOC = m_apcSlicePilot->getPOC(); 1225 return true; 1226 } 1227 m_prevPOC = m_apcSlicePilot->getPOC(); 1228 } 1229 1230 // actual decoding starts here 1231 xActivateParameterSets(); 1232 1233 if (m_apcSlicePilot->isNextSlice()) 1234 { 1235 m_prevPOC = m_apcSlicePilot->getPOC(); 1236 } 1237 m_bFirstSliceInSequence = false; 1238 #endif //SVC_EXTENSION 1243 1239 //detect lost reference picture and insert copy of earlier frame. 1244 1240 Int lostPoc;
Note: See TracChangeset for help on using the changeset viewer.