Changeset 1116 in SHVCSoftware
- Timestamp:
- 7 Jul 2015, 01:18:46 (9 years ago)
- Location:
- branches/SHM-dev/source
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppDecoder/TAppDecTop.cpp
r1107 r1116 1482 1482 1483 1483 // pcPic is statically created for the external (AVC) base layer, no need to delete it 1484 #if VPS_AVC_BL_FLAG_REMOVAL1485 1484 if( !m_acTDecTop[layerIdx].getParameterSetManager()->getActiveVPS()->getNonHEVCBaseLayerFlag() || layerIdx ) 1486 #else1487 if( !m_acTDecTop[layerIdx].getParameterSetManager()->getActiveVPS()->getAvcBaseLayerFlag() || layerIdx )1488 #endif1489 1485 { 1490 1486 delete pcPic; -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1107 r1116 108 108 : m_pBitstreamFile() 109 109 #if AVC_BASE 110 #if VPS_AVC_BL_FLAG_REMOVAL111 110 , m_nonHEVCBaseLayerFlag(0) 112 #else113 , m_avcBaseLayerFlag(0)114 #endif115 111 #endif 116 112 , m_maxTidRefPresentFlag(1) … … 1182 1178 #endif 1183 1179 #if AVC_BASE 1184 #if VPS_AVC_BL_FLAG_REMOVAL1185 1180 ("NonHEVCBase,-nonhevc", m_nonHEVCBaseLayerFlag, 0, "BL is available but not internal") 1186 #else1187 ("AvcBase,-avc", m_avcBaseLayerFlag, 0, "avc_base_layer_flag")1188 #endif1189 1181 ("InputBLFile,-ibl", cfg_BLInputFile, string(""), "Base layer rec YUV input file name") 1190 1182 #endif … … 1793 1785 #if SVC_EXTENSION 1794 1786 #if AVC_BASE 1795 #if VPS_AVC_BL_FLAG_REMOVAL1796 1787 if( m_nonHEVCBaseLayerFlag ) 1797 #else1798 if( m_avcBaseLayerFlag )1799 #endif1800 1788 { 1801 1789 *cfg_InputFile[0] = cfg_BLInputFile; … … 3499 3487 3500 3488 // it can be updated after AVC BL support will be added to the WD 3501 #if VPS_AVC_BL_FLAG_REMOVAL3502 3489 if( m_nonHEVCBaseLayerFlag ) 3503 #else3504 if( m_avcBaseLayerFlag )3505 #endif3506 3490 { 3507 3491 m_crossLayerIrapAlignFlag = false; … … 4514 4498 printf("Scalable : %d\n", m_scalabilityMask[SCALABILITY_ID] ); 4515 4499 #if AVC_BASE 4516 #if VPS_AVC_BL_FLAG_REMOVAL4517 4500 printf("Base layer : %s\n", m_nonHEVCBaseLayerFlag ? "Non-HEVC" : "HEVC"); 4518 #else4519 printf("Base layer : %s\n", m_avcBaseLayerFlag ? "AVC" : "HEVC");4520 #endif4521 4501 #endif 4522 4502 #if AUXILIARY_PICTURES -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h
r1107 r1116 70 70 Int m_framesToBeEncoded; ///< number of encoded frames 71 71 #if AVC_BASE 72 #if VPS_AVC_BL_FLAG_REMOVAL73 72 Int m_nonHEVCBaseLayerFlag; ///< non HEVC BL 74 #else75 Int m_avcBaseLayerFlag; ///< avc_baselayer_flag76 #endif77 73 #endif 78 74 Bool m_maxTidRefPresentFlag; -
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r1110 r1116 291 291 #if REF_IDX_MFM 292 292 #if AVC_BASE 293 #if VPS_AVC_BL_FLAG_REMOVAL294 293 m_acTEncTop[layer].setMFMEnabledFlag (layer == 0 ? false : ( m_nonHEVCBaseLayerFlag ? false : true ) && m_acLayerCfg[layer].getNumMotionPredRefLayers()); 295 #else296 m_acTEncTop[layer].setMFMEnabledFlag (layer == 0 ? false : ( m_avcBaseLayerFlag ? false : true ) && m_acLayerCfg[layer].getNumMotionPredRefLayers());297 #endif298 294 #else 299 295 m_acTEncTop[layer].setMFMEnabledFlag (layer == 0 ? false : ( m_acLayerCfg[layer].getNumMotionPredRefLayers() > 0 ) ); … … 1371 1367 #if VPS_EXTN_MASK_AND_DIM_INFO 1372 1368 #if AVC_BASE 1373 #if VPS_AVC_BL_FLAG_REMOVAL1374 1369 vps->setNonHEVCBaseLayerFlag( m_nonHEVCBaseLayerFlag ); 1375 1370 if ( m_nonHEVCBaseLayerFlag ) … … 1377 1372 vps->setBaseLayerInternalFlag (false); 1378 1373 } 1379 #else1380 vps->setAvcBaseLayerFlag(m_avcBaseLayerFlag);1381 #endif1382 1374 #else 1383 1375 vps->setAvcBaseLayerFlag(false); -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp
r1113 r1116 2022 2022 2023 2023 #if VPS_EXTN_MASK_AND_DIM_INFO 2024 #if VPS_AVC_BL_FLAG_REMOVAL2025 2024 m_nonHEVCBaseLayerFlag = false; 2026 #else2027 m_avcBaseLayerFlag = false;2028 #endif2029 2025 m_splittingFlag = false; 2030 2026 ::memset(m_scalabilityMask, 0, sizeof(m_scalabilityMask)); … … 3712 3708 if ( layerId == 0 || sps->getV1CompatibleSPSFlag() == 1 ) 3713 3709 { 3714 #if VPS_AVC_BL_FLAG_REMOVAL3715 3710 if( layerId == 0 && vps->getNonHEVCBaseLayerFlag() ) 3716 #else3717 if( layerId == 0 && vps->getAvcBaseLayerFlag() )3718 #endif3719 3711 #else 3720 3712 if ( layerId == 0 ) … … 3755 3747 if ( layerId == 0 || sps->getV1CompatibleSPSFlag() == 1 ) 3756 3748 { 3757 #if VPS_AVC_BL_FLAG_REMOVAL3758 3749 if( layerId == 0 && vps->getNonHEVCBaseLayerFlag() ) 3759 #else3760 if( layerId == 0 && vps->getAvcBaseLayerFlag() )3761 #endif3762 3750 #else 3763 3751 if ( layerId == 0 ) … … 3807 3795 if ( layerId == 0 || sps->getV1CompatibleSPSFlag() == 1 ) 3808 3796 { 3809 #if VPS_AVC_BL_FLAG_REMOVAL3810 3797 if( layerId == 0 && vps->getNonHEVCBaseLayerFlag() ) 3811 #else3812 if( layerId == 0 && vps->getAvcBaseLayerFlag() )3813 #endif3814 3798 #else 3815 3799 if ( layerId == 0 ) … … 3854 3838 { 3855 3839 #endif 3856 #if VPS_AVC_BL_FLAG_REMOVAL3857 3840 if( layerId == 0 && vps->getNonHEVCBaseLayerFlag() ) 3858 #else3859 if( layerId == 0 && vps->getAvcBaseLayerFlag() )3860 #endif3861 3841 { 3862 3842 retVal = vps->getVpsRepFormat(layerId)->getBitDepthVpsLuma(); … … 3896 3876 { 3897 3877 #endif 3898 #if VPS_AVC_BL_FLAG_REMOVAL3899 3878 if( layerId == 0 && vps->getNonHEVCBaseLayerFlag() ) 3900 #else3901 if( layerId == 0 && vps->getAvcBaseLayerFlag() )3902 #endif3903 3879 { 3904 3880 retVal = vps->getVpsRepFormat(layerId)->getBitDepthVpsChroma(); … … 3944 3920 if ( layerId == 0 || sps->getV1CompatibleSPSFlag() == 1 ) 3945 3921 { 3946 #if VPS_AVC_BL_FLAG_REMOVAL3947 3922 if( layerId == 0 && vps->getNonHEVCBaseLayerFlag() ) 3948 #else3949 if( layerId == 0 && vps->getAvcBaseLayerFlag() )3950 #endif3951 3923 #else 3952 3924 if ( layerId == 0 ) -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r1114 r1116 631 631 // ------------------------------------------ 632 632 #if VPS_EXTN_MASK_AND_DIM_INFO 633 #if VPS_AVC_BL_FLAG_REMOVAL634 633 Bool m_nonHEVCBaseLayerFlag; 635 #else636 Bool m_avcBaseLayerFlag; // For now, always set to true.637 #endif638 634 Bool m_splittingFlag; 639 635 Bool m_scalabilityMask[MAX_VPS_NUM_SCALABILITY_TYPES]; … … 1010 1006 Void setNumLayerSets(UInt v) { m_numLayerSets = v; } 1011 1007 #if VPS_EXTN_MASK_AND_DIM_INFO 1012 #if VPS_AVC_BL_FLAG_REMOVAL1013 1008 Bool getNonHEVCBaseLayerFlag() { return m_nonHEVCBaseLayerFlag; } 1014 1009 Void setNonHEVCBaseLayerFlag(Bool x) { m_nonHEVCBaseLayerFlag = x; } 1015 #else1016 Bool getAvcBaseLayerFlag() { return m_avcBaseLayerFlag; }1017 Void setAvcBaseLayerFlag(Bool x) { m_avcBaseLayerFlag = x; }1018 #endif1019 1010 1020 1011 Bool getSplittingFlag() { return m_splittingFlag; } -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1115 r1116 48 48 #define INFERENCE_POC_MSB_VAL_PRESENT 1 ///< JCTVC-Q0146 -- poc_msb_val_present_flag shall be equal to 0 when slice_header_extension_length is (inferred to be ) equal to 0 49 49 #define NON_REF_NAL_TYPE_DISCARDABLE 1 ///< JCTVC-P0041 -- If discardable picture is a non-IRAP, it must be a non-referenced sub-layer picture 50 #define VPS_AVC_BL_FLAG_REMOVAL 1 ///< remove avc_base_layer_flag and direct the function its offer to vps_base_layer_internal_flag and vps_base_layer_available_flag51 50 #define VPS_RESERVED_FLAGS 1 ///< vps_base_layer_internal_flag and vps_base_layer_available_flag 52 51 #define VPS_VUI_VST_PARAMS 1 ///< JCTVC-R0227: Related to signalling of VST parameters of the base layer. -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1115 r1116 1003 1003 READ_FLAG( uiCode, "vps_base_layer_internal_flag"); pcVPS->setBaseLayerInternalFlag( uiCode ? true : false ); 1004 1004 READ_FLAG( uiCode, "vps_base_layer_available_flag"); pcVPS->setBaseLayerAvailableFlag( uiCode ? true : false ); 1005 #if VPS_AVC_BL_FLAG_REMOVAL1006 1005 pcVPS->setNonHEVCBaseLayerFlag( (pcVPS->getBaseLayerAvailableFlag() && !pcVPS->getBaseLayerInternalFlag()) ? true : false); 1007 #endif1008 1006 #else 1009 1007 READ_CODE( 2, uiCode, "vps_reserved_three_2bits" ); assert(uiCode == 3); … … 2722 2720 UInt numScalabilityTypes = 0, i = 0, j = 0; 2723 2721 2724 #if !VPS_AVC_BL_FLAG_REMOVAL2725 READ_FLAG( uiCode, "avc_base_layer_flag" ); vps->setAvcBaseLayerFlag(uiCode ? true : false);2726 #endif2727 2728 2722 READ_FLAG( uiCode, "splitting_flag" ); vps->setSplittingFlag(uiCode ? true : false); 2729 2723 -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r1111 r1116 498 498 499 499 // When avc_base_layer_flag is equal to 1, it is a requirement of bitstream conformance that the value of sps_scaling_list_ref_layer_id shall be greater than 0 500 #if VPS_AVC_BL_FLAG_REMOVAL501 500 if( activeVPS->getNonHEVCBaseLayerFlag() ) 502 #else503 if( activeVPS->getAvcBaseLayerFlag() )504 #endif505 501 { 506 502 assert( refLayerId > 0 ); … … 531 527 532 528 // When avc_base_layer_flag is equal to 1, it is a requirement of bitstream conformance that the value of sps_scaling_list_ref_layer_id shall be greater than 0 533 #if VPS_AVC_BL_FLAG_REMOVAL534 529 if( activeVPS->getNonHEVCBaseLayerFlag() ) 535 #else536 if( activeVPS->getAvcBaseLayerFlag() )537 #endif538 530 { 539 531 assert( refLayerId > 0 ); … … 561 553 562 554 #if AVC_BASE 563 #if VPS_AVC_BL_FLAG_REMOVAL564 555 if( activeVPS->getNonHEVCBaseLayerFlag() ) 565 #else566 if( activeVPS->getAvcBaseLayerFlag() )567 #endif568 556 { 569 557 TComPic* pBLPic = (*m_ppcTDecTop[0]->getListPic()->begin()); … … 1389 1377 { 1390 1378 #if AVC_BASE 1391 #if VPS_AVC_BL_FLAG_REMOVAL1392 1379 if( m_layerId > 0 && m_parameterSetManagerDecoder.getPrefetchedVPS(0)->getNonHEVCBaseLayerFlag() ) 1393 #else1394 if( m_layerId > 0 && m_parameterSetManagerDecoder.getPrefetchedVPS(0)->getAvcBaseLayerFlag() )1395 #endif1396 1380 { 1397 1381 TComPic* pBLPic = (*m_ppcTDecTop[0]->getListPic()->begin()); … … 1748 1732 UInt refLayerId = pcSlice->getVPS()->getRefLayerId(m_layerId, refLayerIdc); 1749 1733 #if AVC_BASE 1750 #if VPS_AVC_BL_FLAG_REMOVAL1751 1734 if( refLayerId == 0 && m_parameterSetManagerDecoder.getActiveVPS()->getNonHEVCBaseLayerFlag() ) 1752 #else1753 if( refLayerId == 0 && m_parameterSetManagerDecoder.getActiveVPS()->getAvcBaseLayerFlag() )1754 #endif1755 1735 { 1756 1736 TComPic* pic = *m_ppcTDecTop[0]->getListPic()->begin(); … … 1864 1844 UInt refLayerIdc = pcSlice->getInterLayerPredLayerIdc(i); 1865 1845 #if AVC_BASE 1866 #if VPS_AVC_BL_FLAG_REMOVAL1867 1846 if( pcSlice->getVPS()->getRefLayerId( m_layerId, refLayerIdc ) == 0 && m_parameterSetManagerDecoder.getActiveVPS()->getNonHEVCBaseLayerFlag() ) 1868 #else1869 if( pcSlice->getVPS()->getRefLayerId( m_layerId, refLayerIdc ) == 0 && m_parameterSetManagerDecoder.getActiveVPS()->getAvcBaseLayerFlag() )1870 #endif1871 1847 { 1872 1848 pcSlice->setBaseColPic ( refLayerIdc, *m_ppcTDecTop[0]->getListPic()->begin() ); … … 2233 2209 #endif 2234 2210 #if AVC_BASE 2235 #if VPS_AVC_BL_FLAG_REMOVAL2236 2211 if( m_parameterSetManagerDecoder.getPrefetchedVPS(0)->getNonHEVCBaseLayerFlag() ) 2237 #else2238 if( m_parameterSetManagerDecoder.getPrefetchedVPS(0)->getAvcBaseLayerFlag() )2239 #endif2240 2212 { 2241 2213 if( !m_ppcTDecTop[0]->getBLReconFile()->good() ) -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r1115 r1116 2005 2005 #if VPS_EXTN_MASK_AND_DIM_INFO 2006 2006 UInt i = 0, j = 0; 2007 #if !VPS_AVC_BL_FLAG_REMOVAL2008 WRITE_FLAG( vps->getAvcBaseLayerFlag(), "avc_base_layer_flag" );2009 #endif2010 2007 2011 2008 WRITE_FLAG( vps->getSplittingFlag(), "splitting_flag" ); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r1094 r1116 1290 1290 // inferring of the scaling list can be moved to the config file 1291 1291 UInt refLayerId = 0; 1292 #if VPS_AVC_BL_FLAG_REMOVAL1293 1292 if( m_layerId > 0 && !m_pcEncTop->getVPS()->getNonHEVCBaseLayerFlag() && m_pcEncTop->getVPS()->getRecursiveRefLayerFlag( m_layerId, refLayerId ) ) 1294 #else1295 if( m_layerId > 0 && !m_pcEncTop->getVPS()->getAvcBaseLayerFlag() && m_pcEncTop->getVPS()->getRecursiveRefLayerFlag( m_layerId, refLayerId ) )1296 #endif1297 1293 { 1298 1294 m_pcEncTop->getSPS()->setInferScalingListFlag( true ); … … 1324 1320 // inferring of the scaling list can be moved to the config file 1325 1321 UInt refLayerId = 0; 1326 #if VPS_AVC_BL_FLAG_REMOVAL1327 1322 if( m_layerId > 0 && !m_pcEncTop->getVPS()->getNonHEVCBaseLayerFlag() && m_pcEncTop->getVPS()->getRecursiveRefLayerFlag( m_layerId, refLayerId ) ) 1328 #else1329 if( m_layerId > 0 && !m_pcEncTop->getVPS()->getAvcBaseLayerFlag() && m_pcEncTop->getVPS()->getRecursiveRefLayerFlag( m_layerId, refLayerId ) )1330 #endif1331 1323 { 1332 1324 m_pcEncTop->getSPS()->setInferScalingListFlag( true ); … … 2292 2284 2293 2285 #if AVC_BASE 2294 #if VPS_AVC_BL_FLAG_REMOVAL2295 2286 if( m_layerId == 0 && m_pcEncTop->getVPS()->getNonHEVCBaseLayerFlag() ) 2296 #else2297 if( m_layerId == 0 && m_pcEncTop->getVPS()->getAvcBaseLayerFlag() )2298 #endif2299 2287 { 2300 2288 pcPic->getPicYuvOrg()->copyToPic( pcPic->getPicYuvRec() ); … … 2388 2376 OutputNALUnit nalu( NAL_UNIT_VPS, 0, 0 ); // The value of nuh_layer_id of VPS NAL unit shall be equal to 0. 2389 2377 #if AVC_BASE 2390 #if VPS_AVC_BL_FLAG_REMOVAL2391 2378 if( ( m_layerId > 0 && m_pcEncTop->getVPS()->getNonHEVCBaseLayerFlag() ) || ( m_layerId == 0 && !m_pcEncTop->getVPS()->getNonHEVCBaseLayerFlag() ) ) 2392 #else2393 if( ( m_layerId > 0 && m_pcEncTop->getVPS()->getAvcBaseLayerFlag() ) || ( m_layerId == 0 && !m_pcEncTop->getVPS()->getAvcBaseLayerFlag() ) )2394 #endif2395 2379 #else 2396 2380 if( m_layerId == 0 )
Note: See TracChangeset for help on using the changeset viewer.