Changeset 769 in 3DVCSoftware for branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp
- Timestamp:
- 13 Jan 2014, 08:05:57 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp
r768 r769 937 937 938 938 READ_FLAG( uiCode, "sps_extension_flag"); 939 #if H_MV 939 940 pcSPS->setSpsExtensionFlag( uiCode ); 940 941 if (pcSPS->getSpsExtensionFlag( ) ) 941 { 942 #else 943 if (uiCode) 944 #endif 945 { 946 #if H_MV 942 947 for (Int i = 0; i < PS_EX_T_MAX_NUM; i++) 943 948 { … … 964 969 if ( pcSPS->getSpsExtensionTypeFlag( PS_EX_T_ESC )) 965 970 { 971 #endif 966 972 while ( xMoreRbspData() ) 967 973 { 968 974 READ_FLAG( uiCode, "sps_extension_data_flag"); 969 975 } 970 } 976 #if H_MV 977 } 978 #endif 971 979 } 972 980 } … … 1073 1081 } 1074 1082 } 1083 #if H_MV 1075 1084 pcVPS->deriveLayerSetLayerIdList(); 1085 #endif 1076 1086 TimingInfo *timingInfo = pcVPS->getTimingInfo(); 1077 1087 READ_FLAG( uiCode, "vps_timing_info_present_flag"); timingInfo->setTimingInfoPresentFlag (uiCode ? true : false); … … 1890 1900 1891 1901 1902 #if H_MV 1892 1903 UInt slicePicOrderCntLsb = 0; 1893 1904 Int iPOClsb = slicePicOrderCntLsb; // Needed later … … 1936 1947 rpcSlice->setPOC ( 0 ); 1937 1948 } 1949 #endif 1938 1950 1939 1951 if( rpcSlice->getIdrPicFlag() ) 1940 1952 { 1953 #if !H_MV 1954 rpcSlice->setPOC(0); 1955 #endif 1941 1956 TComReferencePictureSet* rps = rpcSlice->getLocalRPS(); 1942 1957 rps->setNumberOfNegativePictures(0); … … 1951 1966 else 1952 1967 { 1968 #if !H_MV 1969 READ_CODE(sps->getBitsForPOC(), uiCode, "pic_order_cnt_lsb"); 1970 Int iPOClsb = uiCode; 1971 Int iPrevPOC = rpcSlice->getPrevTid0POC(); 1972 Int iMaxPOClsb = 1<< sps->getBitsForPOC(); 1973 Int iPrevPOClsb = iPrevPOC & (iMaxPOClsb - 1); 1974 Int iPrevPOCmsb = iPrevPOC-iPrevPOClsb; 1975 Int iPOCmsb; 1976 if( ( iPOClsb < iPrevPOClsb ) && ( ( iPrevPOClsb - iPOClsb ) >= ( iMaxPOClsb / 2 ) ) ) 1977 { 1978 iPOCmsb = iPrevPOCmsb + iMaxPOClsb; 1979 } 1980 else if( (iPOClsb > iPrevPOClsb ) && ( (iPOClsb - iPrevPOClsb ) > ( iMaxPOClsb / 2 ) ) ) 1981 { 1982 iPOCmsb = iPrevPOCmsb - iMaxPOClsb; 1983 } 1984 else 1985 { 1986 iPOCmsb = iPrevPOCmsb; 1987 } 1988 if ( rpcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_W_LP 1989 || rpcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_W_RADL 1990 || rpcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_N_LP ) 1991 { 1992 // For BLA picture types, POCmsb is set to 0. 1993 iPOCmsb = 0; 1994 } 1995 rpcSlice->setPOC (iPOCmsb+iPOClsb); 1996 #endif 1953 1997 TComReferencePictureSet* rps; 1954 1998 rps = rpcSlice->getLocalRPS();
Note: See TracChangeset for help on using the changeset viewer.