Skip to content
Snippets Groups Projects
Commit 75786ca4 authored by Frank Bossen's avatar Frank Bossen
Browse files

Merge branch 'JVET-R0244_CodedPictureBufferSizes' into 'master'

JVET-R0244: changes for CPB and MinCR

See merge request !1694
parents 2ebefea0 5ffa8443
No related branches found
No related tags found
1 merge request!1694JVET-R0244: changes for CPB and MinCR
Pipeline #5132 passed
......@@ -67,9 +67,15 @@ static const LevelTierFeatures mainLevelTierInfo[] =
{ Level::LEVEL5 , 8912896, { 25000, 100000 }, 200, 11, 10, 267386880ULL, { 25000, 100000 }, { 6, 4} },
{ Level::LEVEL5_1, 8912896, { 40000, 160000 }, 200, 11, 10, 534773760ULL, { 40000, 160000 }, { 8, 4} },
{ Level::LEVEL5_2, 8912896, { 60000, 240000 }, 200, 11, 10, 1069547520ULL, { 60000, 240000 }, { 8, 4} },
#if JVET_R0244_CPB_AND_MINCR
{ Level::LEVEL6 , 35651584, { 80000, 240000 }, 600, 22, 20, 1069547520ULL, { 60000, 240000 }, { 8, 4} },
{ Level::LEVEL6_1, 35651584, { 120000, 480000 }, 600, 22, 20, 2139095040ULL, { 120000, 480000 }, { 8, 4} },
{ Level::LEVEL6_2, 35651584, { 180000, 800000 }, 600, 22, 20, 4278190080ULL, { 240000, 800000 }, { 8, 4} },
#else
{ Level::LEVEL6 , 35651584, { 60000, 240000 }, 600, 22, 20, 1069547520ULL, { 60000, 240000 }, { 8, 4} },
{ Level::LEVEL6_1, 35651584, { 120000, 480000 }, 600, 22, 20, 2139095040ULL, { 120000, 480000 }, { 8, 4} },
{ Level::LEVEL6_2, 35651584, { 240000, 800000 }, 600, 22, 20, 4278190080ULL, { 240000, 800000 }, { 6, 4} },
#endif
#if JVET_R0245_LEVEL_CODING
{ Level::LEVEL15_5, MAX_UINT, { MAX_UINT, MAX_UINT }, MAX_UINT, MAX_UINT, MAX_UINT, MAX_CNFUINT64, {MAX_UINT, MAX_UINT }, { 0, 0} },
#else
......@@ -79,9 +85,15 @@ static const LevelTierFeatures mainLevelTierInfo[] =
};
static const ProfileFeatures validProfiles[] =
#if JVET_R0244_CPB_AND_MINCR
{ // profile, pNameString, maxBitDepth, maxChrFmt, lvl15.5, cpbvcl, cpbnal, fcf*1000, mincr*100, levelInfo
{ Profile::MAIN_10, "Main_10", 10, CHROMA_420, false, 1000, 1100, 1875, 100 , mainLevelTierInfo },
{ Profile::MAIN_444_10, "Main_444_10", 10, CHROMA_444, false, 2500, 2750, 3750, 75 , mainLevelTierInfo },
#else
{ // profile, pNameString, maxBitDepth, maxChrFmt, lvl8.5, cpbvcl, cpbnal, fcf*1000, mincr*10, levelInfo
{ Profile::MAIN_10, "Main_10", 10, CHROMA_420, false, 1000, 1100, 1875, 10 , mainLevelTierInfo },
{ Profile::MAIN_444_10, "Main_444_10", 10, CHROMA_444, false, 2500, 2750, 3750, 5 , mainLevelTierInfo },
#endif
{ Profile::NONE, 0 }
};
......@@ -126,7 +138,11 @@ ProfileLevelTierFeatures::extractPTLInformation(const SPS &sps)
double ProfileLevelTierFeatures::getMinCr() const
{
#if JVET_R0244_CPB_AND_MINCR
return (m_pLevelTier!=0 && m_pProfile!=0) ? (m_pProfile->minCrScaleFactorx100 * m_pLevelTier->minCrBase[m_tier?1:0])/100.0 : 0.0 ;
#else
return (m_pLevelTier!=0 && m_pProfile!=0) ? (m_pProfile->minCrScaleFactorx10 * m_pLevelTier->minCrBase[m_tier?1:0])/10.0 : 0.0 ;
#endif
}
uint64_t ProfileLevelTierFeatures::getCpbSizeInBits() const
......
......@@ -78,7 +78,11 @@ struct ProfileFeatures
uint32_t cpbVclFactor;
uint32_t cpbNalFactor;
uint32_t formatCapabilityFactorx1000;
#if JVET_R0244_CPB_AND_MINCR
uint32_t minCrScaleFactorx100;
#else
uint32_t minCrScaleFactorx10;
#endif
const LevelTierFeatures *pLevelTiersListInfo;
};
......
......@@ -241,6 +241,8 @@
#define JVET_R0101_PROPOSAL2 1 // JVET-R0101 Proposal 2: Bug fix for signalling some syntax elements length
#define JVET_R0244_CPB_AND_MINCR 1 // JVET-R0244: Changes to CPB sizes for MaxCPB = 80k for level 6, 120k for level 6.1, 180k for level 6.2; MinCrScaleFactor for the 4:4:4 profile changed to 0.75, and change MinCrBase to 8 for level 6.2.
#define JVET_R0245_LEVEL_CODING 1 // JVET-R0245: level coding numbering scheme
//########### place macros to be be kept below this line ###############
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment