Changeset 951 in SHVCSoftware for branches/SHM-dev/source/Lib


Ignore:
Timestamp:
3 Jan 2015, 01:49:56 (11 years ago)
Author:
qualcomm
Message:

Some fixes for implementation of support for profile tier and level for each layer in an output layer set.
Additionally, add conformance checking such that enhancement layers of an output layer set support the same profile.

submitted by Hendry (fhendry@…)

Location:
branches/SHM-dev/source/Lib
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h

    r942 r951  
    589589#if SVC_EXTENSION
    590590#if MULTIPLE_PTL_SUPPORT
    591   TComPTL     m_pcPTLList[NUM_POSSIBLE_LEVEL];
     591  TComPTL     m_pcPTLList[MAX_NUM_LAYER_IDS + 1];
    592592#endif
    593593#if DERIVE_LAYER_ID_LIST_VARIABLES
  • branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h

    r944 r951  
    7171
    7272#define MULTIPLE_PTL_SUPPORT             1      ///< Fixing profile, tier and level signalling
    73 #define NUM_POSSIBLE_LEVEL               13     ///< Number of possible level as described in R1013
    7473
    7574#define R0226_CONSTRAINT_TMVP_SEI        1      ///< JCTVC-R0226, Modification to semantics in temporal motion vector prediction constraints SEI message
     
    805804    MAIN10 = 2,
    806805    MAINSTILLPICTURE = 3,
     806#if MULTIPLE_PTL_SUPPORT
     807    RANGEEXTENSION = 4,
     808    RANGEEXTENSIONHIGH = 5,
     809    MULTIVIEWMAIN = 6,
     810    SCALABLEMAIN = 7,
     811    SCALABLEMAIN10 = 7,
     812#endif
    807813  };
    808814}
  • branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r943 r951  
    17891789        READ_CODE( numBitsForPtlIdx, uiCode, "profile_level_tier_idx[i]" );
    17901790        vps->setProfileLevelTierIdx(i, j, uiCode );
     1791#if MULTIPLE_PTL_SUPPORT
     1792        //For conformance checking
     1793        //Conformance of a layer in an output operation point associated with an OLS in a bitstream to the Scalable Main profile is indicated as follows:
     1794        //If OpTid of the output operation point is equal to vps_max_sub_layer_minus1, the conformance is indicated by general_profile_idc being equal to 7 or general_profile_compatibility_flag[ 7 ] being equal to 1
     1795        //Conformance of a layer in an output operation point associated with an OLS in a bitstream to the Scalable Main 10 profile is indicated as follows:
     1796        //If OpTid of the output operation point is equal to vps_max_sub_layer_minus1, the conformance is indicated by general_profile_idc being equal to 7 or general_profile_compatibility_flag[ 7 ] being equal to 1
     1797        //The following assert may be updated / upgraded to take care of general_profile_compatibility_flag.
     1798        if (j > 0 && vps->getLayerSetLayerIdList(layerSetIdxForOutputLayerSet, j) != 0 && vps->getLayerSetLayerIdList(layerSetIdxForOutputLayerSet, j - 1) != 0)
     1799        {
     1800          assert(vps->getPTL(vps->getProfileLevelTierIdx(i, j))->getGeneralPTL()->getProfileIdc() == vps->getPTL(vps->getProfileLevelTierIdx(i, j - 1))->getGeneralPTL()->getProfileIdc() ||
     1801                 vps->getPTL(vps->getProfileLevelTierIdx(i, j - 1))->getGeneralPTL()->getProfileCompatibilityFlag(vps->getPTL(vps->getProfileLevelTierIdx(i, j))->getGeneralPTL()->getProfileIdc()) || 
     1802                 vps->getPTL(vps->getProfileLevelTierIdx(i, j))->getGeneralPTL()->getProfileCompatibilityFlag(vps->getPTL(vps->getProfileLevelTierIdx(i, j - 1))->getGeneralPTL()->getProfileIdc())  );
     1803        }
     1804#endif
    17911805      }
    17921806    }
Note: See TracChangeset for help on using the changeset viewer.