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


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@…)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.