Changeset 806 in SHVCSoftware for branches/SHM-6-dev/source/Lib
- Timestamp:
- 20 Jun 2014, 21:17:30 (11 years ago)
- Location:
- branches/SHM-6-dev/source/Lib
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h
r805 r806 41 41 #define SVC_EXTENSION 1 42 42 43 #define Q0108_TSA_STSA 1 44 45 #define SYNTAX_BYTES 10 ///< number of bytes taken by syntaxes per 4x4 block [RefIdxL0(1byte), RefIdxL1(1byte), MVxL0(2bytes), MVyL0(2bytes), MVxL1(2bytes), MVyL1(2bytes)] 43 #define SYNTAX_BYTES 10 ///< number of bytes taken by syntaxes per 4x4 block [RefIdxL0(1byte), RefIdxL1(1byte), MVxL0(2bytes), MVyL0(2bytes), MVxL1(2bytes), MVyL1(2bytes)] 46 44 #if SVC_EXTENSION 47 45 #define MAX_LAYERS 8 ///< max number of layers the codec is supposed to handle … … 50 48 #define O0137_MAX_LAYERID 1 ///< JCTVC-O0137, JCTVC-O0200, JCTVC-O0223: restrict nuh_layer_id and vps_max_layers_minus1 51 49 50 #define Q0108_TSA_STSA 1 ///< JCTVC-Q0108, Remove cross-layer alignment constraints of TSA and STSA pictures, enable to have different prediction structures in different layers 52 51 #define Q0177_SPS_TEMP_NESTING_FIX 1 ///< JCTVC-Q0177; Fix the inference value of sps_temporal_id_nesting_flag when it is not present 53 52 #define Q0177_EOS_CHECKS 1 ///< JCTVC-Q0177; Put checks on handling EOS … … 55 54 #define Q0146_SSH_EXT_DATA_BIT 1 ///< JCTVC-Q0146; Bug-fix -- the SSH_EXT_DATA_BIT can have any value -- not required to be 1 56 55 57 #define Q0200_CONFORMANCE_BL_SIZE 1 56 #define Q0200_CONFORMANCE_BL_SIZE 1 ///< JCTVC-Q0200; use conformance picture size in re-sampling processs 58 57 #define P0312_VERT_PHASE_ADJ 1 ///< JCTVC-P0312: vertical phase adjustment in re-sampling process (BoG report) 59 58 #if P0312_VERT_PHASE_ADJ … … 105 104 #define POC_RESET_IDC_ENCODER 1 ///< JCTVC-P0041: Include support of enabling POC reset at the encoder 106 105 #define POC_RESET_IDC_DECODER 1 ///< JCTVC-P0041: Include support of enabling POC reset at the decoder 107 #define ALIGN_IRAP_BUGFIX 1108 #define UNAVAILABLE_PIC_BUGFIX 1106 #define ALIGN_IRAP_BUGFIX 1 107 #define UNAVAILABLE_PIC_BUGFIX 1 109 108 #endif 110 109 #define POC_MSB_VAL_PRESENT_FLAG_SEM 1 ///< JCTVC-Q0146: Inference of poc_msb_val_present_flag … … 169 168 #define Q0060_MAX_TID_REF_EQUAL_TO_ZERO 1 ///< JCTVC-Q0060 handling the case max_tid_il_ref_pics_plus1 is equal to 0. 170 169 171 #define O0223_PICTURE_TYPES_ALIGN_FLAG 1 ///< a flag to indicatate whether picture types are aligned across layers.170 #define O0223_PICTURE_TYPES_ALIGN_FLAG 1 ///< a flag to indicatate whether picture types are aligned across layers. 172 171 173 172 #define P0068_CROSS_LAYER_ALIGNED_IDR_ONLY_FOR_IRAP_FLAG 1 ///< a flag to indicatate whether picture types for IRAP are IDR across layers. 174 173 175 #define IRAP_ALIGN_FLAG_IN_VPS_VUI 1 174 #define IRAP_ALIGN_FLAG_IN_VPS_VUI 1 ///< Move IRAP align flag to VPS VUI 176 175 177 176 #define VIEW_ID_RELATED_SIGNALING 1 ///< Introduce syntax elements view_id and view_id_val -
branches/SHM-6-dev/source/Lib/TLibDecoder/NALread.cpp
r804 r806 114 114 if ( nalu.m_temporalId ) 115 115 { 116 #if 116 #if !Q0108_TSA_STSA 117 117 assert( nalu.m_nalUnitType != NAL_UNIT_CODED_SLICE_BLA_W_LP 118 118 && nalu.m_nalUnitType != NAL_UNIT_CODED_SLICE_BLA_W_RADL … … 139 139 else 140 140 { 141 #if 141 #if !Q0108_TSA_STSA 142 142 assert( nalu.m_nalUnitType != NAL_UNIT_CODED_SLICE_TSA_R 143 143 && nalu.m_nalUnitType != NAL_UNIT_CODED_SLICE_TSA_N -
branches/SHM-6-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r804 r806 610 610 TComOutputBitstream* pcSubstreamsOut = NULL; 611 611 #if Q0108_TSA_STSA 612 Int b_TSTA_flag= 0;612 Int flagTSTA = 0; 613 613 #endif 614 614 … … 1559 1559 } 1560 1560 } 1561 #if 1561 #if Q0108_TSA_STSA 1562 1562 else if( ( pcSlice->getTLayer() == 0 && pcSlice->getLayerId() > 0) // only for enhancement layer and with temporal layer 0 1563 1563 && !( pcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_RADL_N … … 1572 1572 { 1573 1573 Bool isSTSA=true; 1574 for(Int ii=iGOPid+1; (ii<m_pcCfg->getGOPSize() && isSTSA==true);ii++)1574 for(Int ii=iGOPid+1; ii < m_pcCfg->getGOPSize() && isSTSA; ii++) 1575 1575 { 1576 1576 Int lTid= m_pcCfg->getGOPEntry(ii).m_temporalId; … … 1578 1578 { 1579 1579 TComReferencePictureSet* nRPS = pcSlice->getSPS()->getRPSList()->getReferencePictureSet(ii); 1580 for(Int jj=0; jj<nRPS->getNumberOfPictures();jj++)1580 for(Int jj=0; jj<nRPS->getNumberOfPictures(); jj++) 1581 1581 { 1582 1582 if(nRPS->getUsed(jj)) … … 1584 1584 Int tPoc=m_pcCfg->getGOPEntry(ii).m_POC+nRPS->getDeltaPOC(jj); 1585 1585 Int kk=0; 1586 for(kk=0; kk<m_pcCfg->getGOPSize();kk++)1586 for(kk=0; kk<m_pcCfg->getGOPSize(); kk++) 1587 1587 { 1588 1588 if(m_pcCfg->getGOPEntry(kk).m_POC==tPoc) 1589 { 1589 1590 break; 1591 } 1590 1592 } 1591 1593 Int tTid=m_pcCfg->getGOPEntry(kk).m_temporalId; 1592 1594 if(tTid >= pcSlice->getTLayer()) 1593 1595 { 1594 isSTSA =false;1596 isSTSA = false; 1595 1597 break; 1596 1598 } … … 1661 1663 { 1662 1664 pcSlice->setNalUnitType(NAL_UNIT_CODED_SLICE_STSA_N); 1663 b_TSTA_flag= 1;1665 flagTSTA = 1; 1664 1666 } 1665 1667 else 1666 1668 { 1667 1669 pcSlice->setNalUnitType(NAL_UNIT_CODED_SLICE_STSA_R); 1668 b_TSTA_flag= 1;1670 flagTSTA = 1; 1669 1671 } 1670 1672 #endif … … 1684 1686 { 1685 1687 #if POC_RESET_FLAG || POC_RESET_IDC_ENCODER 1686 if ( pocCurr > 0 1688 if ( pocCurr > 0 && pcSlice->isRADL() && pcPic->getSlice(0)->getBaseColPic(pcPic->getSlice(0)->getInterLayerPredLayerIdc(0))->getSlice(0)->isRASL()) 1687 1689 #else 1688 1690 if (pcSlice->getPOC()>0 && pcSlice->isRADL() && pcPic->getSlice(0)->getBaseColPic(pcPic->getSlice(0)->getInterLayerPredLayerIdc(0))->getSlice(0)->isRASL()) … … 1692 1694 pcSlice->setInterLayerPredEnabledFlag(0); 1693 1695 } 1694 #if 1695 if( ( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA ) || b_TSTA_flag == 1)1696 #if Q0108_TSA_STSA 1697 if( ( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA ) || flagTSTA == 1 ) 1696 1698 #else 1697 1699 if( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA )
Note: See TracChangeset for help on using the changeset viewer.