Changeset 1207 in SHVCSoftware
- Timestamp:
- 8 Jul 2015, 21:16:48 (9 years ago)
- Location:
- branches/SHM-dev/source/Lib
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp
r1203 r1207 126 126 , m_bDiscardableFlag ( false ) 127 127 , m_bCrossLayerBLAFlag ( false ) 128 #if POC_RESET_IDC_SIGNALLING129 128 , m_pocResetIdc ( 0 ) 130 129 , m_pocResetPeriodId ( 0 ) … … 135 134 , m_pocMsbValPresentFlag ( false ) 136 135 , m_pocMsbValNeeded ( false ) 137 #endif138 136 #if POC_RESET_IDC_DECODER || POC_RESET_IDC_ENCODER 139 137 , m_picOrderCntLsb (0) … … 221 219 m_cabacInitFlag = false; 222 220 m_enableTMVPFlag = true; 223 #if POC_RESET_IDC_SIGNALLING224 221 m_pocResetIdc = 0; 225 222 m_pocResetPeriodId = 0; … … 229 226 m_pocMsbValRequiredFlag = false; 230 227 m_pocMsbValPresentFlag = false; 231 #endif232 228 #if POC_RESET_IDC_DECODER || POC_RESET_IDC_ENCODER 233 229 m_picOrderCntLsb = 0; -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r1204 r1207 2003 2003 Bool m_bDiscardableFlag; 2004 2004 Bool m_bCrossLayerBLAFlag; 2005 #if POC_RESET_IDC_SIGNALLING2006 2005 Int m_pocResetIdc; 2007 2006 Int m_pocResetPeriodId; … … 2013 2012 Bool m_pocMsbValNeeded; 2014 2013 Int m_pocResetDeltaPoc; 2015 #endif2016 2014 #if POC_RESET_IDC_ENCODER 2017 2015 Int m_pocValueBeforeReset; … … 2350 2348 2351 2349 Void setILRPic(TComPic **pcIlpPic); 2352 #if POC_RESET_IDC_SIGNALLING 2350 2353 2351 Int getPocResetIdc () { return m_pocResetIdc; } 2354 2352 Void setPocResetIdc (Int b) { m_pocResetIdc = b; } … … 2369 2367 Bool getPocMsbValRequiredFlag () { return m_pocMsbValRequiredFlag; } 2370 2368 Void setPocMsbValRequiredFlag (Bool x) { m_pocMsbValRequiredFlag = x; } 2371 #endif2372 2369 2373 2370 Bool getBlaPicFlag (); -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1206 r1207 69 69 #define POC_RESET_IDC 1 ///< JCTVC-P0041: Include poc_reset_idc and related derivation 70 70 #if POC_RESET_IDC 71 #define POC_RESET_IDC_SIGNALLING 1 ///< JCTVC-P0041: Include signalling for poc_reset related syntax elements72 71 #define POC_RESET_IDC_ENCODER 1 ///< JCTVC-P0041: Include support of enabling POC reset at the encoder 73 72 #define POC_RESET_IDC_DECODER 1 ///< JCTVC-P0041: Include support of enabling POC reset at the decoder 74 73 #endif 75 #define POC_RESET_INFO_INFERENCE 1 ///< JCTVC-Q0146: Infer the value of poc_reset_info_present_flag when not present76 74 #define SCALINGLIST_INFERRING 1 ///< JCTVC-N0371: inter-layer scaling list 77 75 -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1204 r1207 1898 1898 } 1899 1899 1900 #if POC_RESET_IDC_SIGNALLING1900 #if SVC_EXTENSION 1901 1901 Int sliceHeaderExtensionLength = 0; 1902 1902 if(pps->getSliceHeaderExtensionPresentFlag()) -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r1203 r1207 1306 1306 } 1307 1307 } 1308 1309 #if !POC_RESET_IDC_SIGNALLING // Wrong place to put slice header extension1310 if(pcSlice->getPPS()->getSliceHeaderExtensionPresentFlag())1311 {1312 WRITE_UVLC(0,"slice_header_extension_length");1313 }1314 #endif1315 1308 } 1316 1309 … … 1835 1828 1836 1829 #if SVC_EXTENSION 1837 1838 #if POC_RESET_IDC_SIGNALLING 1839 Void TEncCavlc::codeSliceHeaderExtn( TComSlice* slice, Int shBitsWrittenTillNow ) 1830 Void TEncCavlc::codeSliceHeaderExtn( TComSlice* slice, Int shBitsWrittenTillNow ) 1840 1831 { 1841 1832 Int tmpBitsBeforeWriting = getNumberOfWrittenBits(); … … 1851 1842 // Determine value of SH extension length. 1852 1843 Int shExtnLengthInBit = 0; 1853 if (slice->getPPS()->getPocResetInfoPresentFlag())1844 if( slice->getPPS()->getPocResetInfoPresentFlag() ) 1854 1845 { 1855 1846 shExtnLengthInBit += 2; 1856 1847 } 1857 if (slice->getPocResetIdc() > 0) 1848 1849 if( slice->getPocResetIdc() > 0 ) 1858 1850 { 1859 1851 shExtnLengthInBit += 6; 1860 1852 } 1861 if (slice->getPocResetIdc() == 3) 1853 1854 if( slice->getPocResetIdc() == 3 ) 1862 1855 { 1863 1856 shExtnLengthInBit += (slice->getSPS()->getBitsForPOC() + 1); 1864 1857 } 1865 1858 1866 if (!slice->getPocMsbValRequiredFlag() && slice->getVPS()->getVpsPocLsbAlignedFlag())1859 if( !slice->getPocMsbValRequiredFlag() && slice->getVPS()->getVpsPocLsbAlignedFlag() ) 1867 1860 { 1868 1861 shExtnLengthInBit++; … … 1880 1873 } 1881 1874 1882 if (slice->getPocMsbNeeded())1875 if( slice->getPocMsbNeeded() ) 1883 1876 { 1884 1877 slice->setPocMsbValPresentFlag(true); 1885 1878 } 1886 1879 1887 if (slice->getPocMsbValPresentFlag())1880 if( slice->getPocMsbValPresentFlag() ) 1888 1881 { 1889 1882 UInt lengthVal = 1; … … 1897 1890 shExtnLengthInBit += lengthVal; 1898 1891 } 1892 1899 1893 Int shExtnAdditionalBits = 0; 1900 if(shExtnLengthInBit % 8 != 0) 1894 1895 if( shExtnLengthInBit % 8 != 0 ) 1901 1896 { 1902 1897 shExtnAdditionalBits = 8 - (shExtnLengthInBit % 8); 1903 1898 } 1899 1904 1900 Int shExtnLength = (shExtnLengthInBit + shExtnAdditionalBits) / 8; 1905 1901 WRITE_UVLC( shExtnLength, "slice_header_extension_length" ); 1906 1902 1907 if( slice->getPPS()->getPocResetInfoPresentFlag())1903 if( slice->getPPS()->getPocResetInfoPresentFlag() ) 1908 1904 { 1909 1905 WRITE_CODE( slice->getPocResetIdc(), 2, "poc_reset_idc"); 1910 1906 } 1911 if( slice->getPocResetIdc() > 0)1907 if( slice->getPocResetIdc() > 0 ) 1912 1908 { 1913 1909 WRITE_CODE( slice->getPocResetPeriodId(), 6, "poc_reset_period_id"); 1914 1910 } 1915 if( slice->getPocResetIdc() == 3)1911 if( slice->getPocResetIdc() == 3 ) 1916 1912 { 1917 1913 WRITE_FLAG( slice->getFullPocResetFlag() ? 1 : 0, "full_poc_reset_flag"); … … 1930 1926 } 1931 1927 1932 for 1928 for(Int i = 0; i < shExtnAdditionalBits; i++) 1933 1929 { 1934 1930 WRITE_FLAG( 1, "slice_segment_header_extension_data_bit"); … … 1940 1936 // Slice header byte_alignment() included in xAttachSliceDataToNalUnit 1941 1937 } 1942 #endif1943 1938 1944 1939 Void TEncCavlc::codeVPSExtension (TComVPS *vps) -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.h
r1203 r1207 154 154 155 155 #if SVC_EXTENSION 156 #if POC_RESET_IDC_SIGNALLING157 156 Void codeSliceHeaderExtn( TComSlice* slice, Int shBitsWrittenTillNow ); 158 #endif159 157 Void codeSPSExtension ( TComSPS* pcSPS ); 160 158 Void codeVPSExtension ( TComVPS* pcVPS ); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncEntropy.cpp
r1029 r1207 747 747 } 748 748 749 #if POC_RESET_IDC_SIGNALLING750 Void 749 #if SVC_EXTENSION 750 Void TEncEntropy::encodeSliceHeaderExtn( TComSlice* pSlice, Int shBitsWrittenTillNow ) 751 751 { 752 752 m_pcEntropyCoderIf->codeSliceHeaderExtn( pSlice, shBitsWrittenTillNow ); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncEntropy.h
r1029 r1207 85 85 virtual Void codeScalingList ( TComScalingList* scalingList ) = 0; 86 86 87 #if POC_RESET_IDC_SIGNALLING88 virtual Void codeSliceHeaderExtn ( TComSlice* pSlice, Int shBitsWrittenTillNow ) = 0;89 #endif90 91 87 public: 92 88 virtual Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0; … … 120 116 virtual Void codeTransformSkipFlags ( TComTU &rTu, ComponentID component ) = 0; 121 117 #if SVC_EXTENSION 118 virtual Void codeSliceHeaderExtn( TComSlice* pSlice, Int shBitsWrittenTillNow ) = 0; 122 119 virtual Void codeSAOBlkParam (SAOBlkParam& saoBlkParam, UInt* saoMaxOffsetQVal, Bool* sliceEnabled, Bool leftMergeAvail, Bool aboveMergeAvail, Bool onlyEstMergeInfo = false) =0; 123 120 #else … … 151 148 TEncEntropyIf* m_pcEntropyCoderIf; 152 149 153 #if POC_RESET_IDC_SIGNALLING154 Void encodeSliceHeaderExtn( TComSlice* pSlice, Int shBitsWrittenTillNow );155 #endif156 150 public: 157 151 Void encodeVPS ( TComVPS* pcVPS); … … 204 198 Void estimateBit ( estBitsSbacStruct* pcEstBitsSbac, Int width, Int height, ChannelType chType ); 205 199 #if SVC_EXTENSION 200 Void encodeSliceHeaderExtn( TComSlice* pSlice, Int shBitsWrittenTillNow ); 206 201 Void encodeSAOBlkParam(SAOBlkParam& saoBlkParam, UInt* saoMaxOffsetQVal, Bool* sliceEnabled, Bool leftMergeAvail, Bool aboveMergeAvail){m_pcEntropyCoderIf->codeSAOBlkParam(saoBlkParam, saoMaxOffsetQVal, sliceEnabled, leftMergeAvail, aboveMergeAvail, false);} 207 202 #else -
branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r1206 r1207 2949 2949 m_pcEntropyCoder->setEntropyCoder ( m_pcCavlcCoder, pcSlice ); 2950 2950 m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream); 2951 #if POC_RESET_IDC_SIGNALLING2951 #if SVC_EXTENSION 2952 2952 tmpBitsBeforeWriting = m_pcEntropyCoder->getNumberOfWrittenBits(); 2953 2953 m_pcEntropyCoder->encodeTilesWPPEntryPoint( pcSlice ); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncSbac.cpp
r1203 r1207 2028 2028 } 2029 2029 2030 #if POC_RESET_IDC_SIGNALLING2031 Void 2030 #if SVC_EXTENSION 2031 Void TEncSbac::codeSliceHeaderExtn( TComSlice* pSlice, Int shBitsWrittenTillNow ) 2032 2032 { 2033 2033 assert (0); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncSbac.h
r1029 r1207 106 106 107 107 #if SVC_EXTENSION 108 #if POC_RESET_IDC_SIGNALLING109 108 Void codeSliceHeaderExtn ( TComSlice* pSlice, Int shBitsWrittenTillNow ); 110 #endif 111 Void codeSAOOffsetParam(ComponentID compIdx, SAOOffset& ctbParam, Bool sliceEnabled, UInt* saoMaxOffsetQVal); 112 Void codeSAOBlkParam(SAOBlkParam& saoBlkParam 109 Void codeSAOOffsetParam(ComponentID compIdx, SAOOffset& ctbParam, Bool sliceEnabled, UInt* saoMaxOffsetQVal); 110 Void codeSAOBlkParam(SAOBlkParam& saoBlkParam 113 111 , UInt* saoMaxOffsetQVal 114 112 , Bool* sliceEnabled
Note: See TracChangeset for help on using the changeset viewer.