Ticket #429: HM-6.0-dev-r2140-WPPEntryPoint_r1.patch
File HM-6.0-dev-r2140-WPPEntryPoint_r1.patch, 1.9 KB (added by hao, 12 years ago) |
---|
-
source/Lib/TLibDecoder/TDecCAVLC.cpp
2152 2152 } 2153 2153 else if ( tilesOrEntropyCodingSyncIdc == 2 ) // wavefront 2154 2154 { 2155 UInt numSubstreams = pps->getNumSubstreams();2155 Int numSubstreams = pps->getNumSubstreams(); 2156 2156 rpcSlice->allocSubstreamSizes(numSubstreams); 2157 2157 UInt *pSubstreamSizes = rpcSlice->getSubstreamSizes(); 2158 for (Int idx=0; idx<numSubstreams ; idx++)2158 for (Int idx=0; idx<numSubstreams-1; idx++) 2159 2159 { 2160 2160 if ( idx < numEntryPointOffsets ) 2161 2161 { -
source/Lib/TLibEncoder/TEncCavlc.cpp
987 987 else if (tilesOrEntropyCodingSyncIdc == 2) // wavefront 988 988 { 989 989 Int numZeroSubstreamsAtEndOfSlice = 0; 990 entryPointOffset = new UInt[pSlice->getPPS()->getNumSubstreams()];991 990 UInt* pSubstreamSizes = pSlice->getSubstreamSizes(); 992 991 // Find number of zero substreams at the end of slice 993 for (Int idx=pSlice->getPPS()->getNumSubstreams()- 1; idx>=0; idx--)992 for (Int idx=pSlice->getPPS()->getNumSubstreams()-2; idx>=0; idx--) 994 993 { 995 994 if ( pSubstreamSizes[ idx ] == 0 ) 996 995 { … … 1001 1000 break; 1002 1001 } 1003 1002 } 1004 numEntryPointOffsets = pSlice->getPPS()->getNumSubstreams() - numZeroSubstreamsAtEndOfSlice; 1003 numEntryPointOffsets = pSlice->getPPS()->getNumSubstreams() - 1 - numZeroSubstreamsAtEndOfSlice; 1004 entryPointOffset = new UInt[numEntryPointOffsets]; 1005 1005 for (Int idx=0; idx<numEntryPointOffsets; idx++) 1006 1006 { 1007 1007 entryPointOffset[ idx ] = ( pSubstreamSizes[ idx ] >> 3 ) ;