Changeset 867 in 3DVCSoftware for branches/HTM-10.0-dev0/source/Lib/TLibDecoder
- Timestamp:
- 15 Mar 2014, 08:37:13 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-10.0-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp
r866 r867 2733 2733 if(pps->getSliceHeaderExtensionPresentFlag()) 2734 2734 { 2735 #if !H_MV_HLS 7_GEN2735 #if !H_MV_HLS_7_POC_P0041 2736 2736 READ_UVLC(uiCode,"slice_header_extension_length"); 2737 2737 for(Int i=0; i<uiCode; i++) … … 2750 2750 READ_CODE( 2, uiCode, "poc_reset_idc" ); rpcSlice->setPocResetIdc( uiCode ); 2751 2751 } 2752 else 2753 { 2754 rpcSlice->setPocResetIdc( 0 ); 2755 } 2752 2756 2753 2757 if( rpcSlice->getPocResetIdc() != 0 ) 2754 2758 { 2755 2759 READ_CODE( 6, uiCode, "poc_reset_period_id" ); rpcSlice->setPocResetPeriodId( uiCode ); 2760 } 2761 else 2762 { 2763 // TODO Copy poc_reset_period from earlier picture 2764 rpcSlice->setPocResetPeriodId( 0 ); 2756 2765 } 2757 2766 … … 2762 2771 } 2763 2772 2764 if( !rpcSlice->getPocMsbValRequiredFlag() && rpcSlice->getVPS()->getVpsPocLsbAlignedFlag() ) 2773 // Derive the value of PocMsbValRequiredFlag 2774 rpcSlice->setPocMsbValRequiredFlag( rpcSlice->getCraPicFlag() || rpcSlice->getBlaPicFlag() 2775 /* || TODO related to vps_poc_lsb_aligned_flag */ 2776 ); 2777 2778 if( !rpcSlice->getPocMsbValRequiredFlag() /* TODO && rpcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ ) 2765 2779 { 2766 2780 READ_FLAG( uiCode, "poc_msb_val_present_flag" ); rpcSlice->setPocMsbValPresentFlag( uiCode == 1 ); 2767 2781 } 2782 else 2783 { 2784 if( rpcSlice->getPocMsbValRequiredFlag() ) 2785 { 2786 rpcSlice->setPocMsbValPresentFlag( true ); 2787 } 2788 else 2789 { 2790 rpcSlice->setPocMsbValPresentFlag( false ); 2791 } 2792 } 2793 2768 2794 2769 2795 if( rpcSlice->getPocMsbValPresentFlag() ) … … 2772 2798 } 2773 2799 2774 while( ( m_pcBitstream->getNumBitsRead() - posFollSliceSegHeaderExtLen ) < rpcSlice->getSliceSegmentHeaderExtensionLength() * 8 ) ;2800 while( ( m_pcBitstream->getNumBitsRead() - posFollSliceSegHeaderExtLen ) < rpcSlice->getSliceSegmentHeaderExtensionLength() * 8 ) 2775 2801 { 2776 2802 READ_FLAG( uiCode, "slice_segment_header_extension_data_bit" ); 2777 2803 } 2778 assert( m_pcBitstream->getNumBitsRead() - posFollSliceSegHeaderExtLen ) == rpcSlice->getSliceSegmentHeaderExtensionLength() * 8 );2804 assert( ( m_pcBitstream->getNumBitsRead() - posFollSliceSegHeaderExtLen ) == rpcSlice->getSliceSegmentHeaderExtensionLength() * 8 ); 2779 2805 #else 2780 2806 READ_UVLC( uiCode, "slice_header_extension_length" ); … … 2787 2813 #endif 2788 2814 #endif 2815 } 2789 2816 2790 2817
Note: See TracChangeset for help on using the changeset viewer.