Commit c374fb74 authored by Yin Zhao's avatar Yin Zhao
Browse files

Merge branch 'master' into JVET-O0050

parents dd98ace5 adca2315
......@@ -110,14 +110,15 @@ LMChroma : 1 # use CCLM only
DepQuant : 1
IMV : 1
ALF : 1
IBC : 0 # turned off in CTC
IBC : 0 # turned off in CTC
AllowDisFracMMVD : 1
AffineAmvr : 0
LMCSEnable : 1 # LMCS: 0: disable, 1:enable
LMCSSignalType : 0 # Input signal type: 0:SDR, 1:HDR-PQ, 2:HDR-HLG
LMCSUpdateCtrl : 1 # LMCS model update control: 0:RA, 1:AI, 2:LDB/LDP
MIP : 1
JointCbCr : 1 # JointCbCr: 0: disable, 1: enable
JointCbCr : 1 # joint coding of chroma residuals (if available): 0: disable, 1: enable
# Fast tools
PBIntraFast : 1
ISPFast : 1
......
......@@ -132,7 +132,7 @@ LMCSEnable : 1 # LMCS: 0: disable, 1:enable
LMCSSignalType : 0 # Input signal type: 0:SDR, 1:HDR-PQ, 2:HDR-HLG
LMCSUpdateCtrl : 2 # LMCS model update control: 0:RA, 1:AI, 2:LDB/LDP
MIP : 1
JointCbCr : 1 # JointCbCr: 0: disable, 1: enable
JointCbCr : 1 # joint coding of chroma residuals (if available): 0: disable, 1: enable
PROF : 1
# Fast tools
......
......@@ -125,8 +125,8 @@ LMChroma : 1 # use CCLM only
DepQuant : 1
IMV : 1
ALF : 1
GBi : 1
GBiFast : 1
GBi : 1
GBiFast : 1
MHIntra : 1
Triangle : 1
IBC : 0 # turned off in CTC
......@@ -136,7 +136,7 @@ LMCSEnable : 1 # LMCS: 0: disable, 1:enable
LMCSSignalType : 0 # Input signal type: 0:SDR, 1:HDR-PQ, 2:HDR-HLG
LMCSUpdateCtrl : 2 # LMCS model update control: 0:RA, 1:AI, 2:LDB/LDP
MIP : 1
JointCbCr : 1 # JointCbCr: 0: disable, 1: enable
JointCbCr : 1 # joint coding of chroma residuals (if available): 0: disable, 1: enable
PROF : 1
# Fast tools
......
......@@ -140,9 +140,9 @@ LMChroma : 1 # use CCLM only
DepQuant : 1
IMV : 1
ALF : 1
GBi : 1
GBi : 1
GBiFast : 1
BIO : 1
BIO : 1
MHIntra : 1
Triangle : 1
IBC : 0 # turned off in CTC
......@@ -154,7 +154,7 @@ LMCSUpdateCtrl : 0 # LMCS model update control: 0:RA, 1:AI, 2
MIP : 1
DMVR : 1
SMVD : 1
JointCbCr : 1 # JointCbCr: 0: disable, 1: enable
JointCbCr : 1 # joint coding of chroma residuals (if available): 0: disable, 1: enable
PROF : 1
# Fast tools
......
......@@ -3417,6 +3417,11 @@ Specifies the colour space conversion to apply to 444 video. Permitted values ar
If no value is specified, no colour space conversion is applied. The list may eventually also include RGB to YCbCr or YCgCo conversions.\\
\\
\Option{PYUV} &
\Default{false} &
When true, output 10-bit and 12-bit YUV data as 5-byte and 3-byte (respectively) packed YUV data. See doc/pyuv_format.pdf for details. Ignored for interlaced output.
\\
\Option{SEINoDisplay} &
\Default{false} &
When true, do not output frames for which there is an SEI NoDisplay message.
......
......@@ -1946,7 +1946,7 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] )
CHECK(cfg_qpInValCb.values.size() != cfg_qpOutValCb.values.size(), "Chroma QP table for Cb is incomplete.");
CHECK(cfg_qpInValCr.values.size() != cfg_qpOutValCr.values.size(), "Chroma QP table for Cr is incomplete.");
CHECK(cfg_qpInValCbCr.values.size() != cfg_qpOutValCbCr.values.size(), "Chroma QP table for CbCr is incomplete.");
if (m_useIdentityTableForNon420Chroma && m_chromaFormatIDC != CHROMA_420)
if (m_useIdentityTableForNon420Chroma && m_chromaFormatIDC != CHROMA_420)
{
m_chromaQpMappingTableParams.m_sameCQPTableForAllChromaFlag = true;
cfg_qpInValCb.values = { 0 };
......@@ -2592,7 +2592,7 @@ bool EncAppCfg::xCheckParameter()
if (m_JointCbCrMode && (m_chromaFormatIDC == CHROMA_400))
{
msg( WARNING, "****************************************************************************\n");
msg( WARNING, "** WARNING: --JointCbCr has been disabled due to the chromaFormat is 400 **\n");
msg( WARNING, "** WARNING: --JointCbCr has been disabled because the chromaFormat is 400 **\n");
msg( WARNING, "****************************************************************************\n");
m_JointCbCrMode = false;
}
......@@ -2661,7 +2661,7 @@ bool EncAppCfg::xCheckParameter()
#if JVET_O0455_IBC_MAX_MERGE_NUM
xConfirmPara( m_maxNumIBCMergeCand < 1, "MaxNumIBCMergeCand must be 1 or greater." );
xConfirmPara( m_maxNumIBCMergeCand > IBC_MRG_MAX_NUM_CANDS, "MaxNumIBCMergeCand must be no more than IBC_MRG_MAX_NUM_CANDS." );
#endif
#endif
xConfirmPara( m_maxNumAffineMergeCand < 1, "MaxNumAffineMergeCand must be 1 or greater." );
xConfirmPara( m_maxNumAffineMergeCand > AFFINE_MRG_MAX_NUM_CANDS, "MaxNumAffineMergeCand must be no more than AFFINE_MRG_MAX_NUM_CANDS." );
if ( m_Affine == 0 )
......
......@@ -55,34 +55,22 @@
// Tables
// ====================================================================================================================
const uint8_t IntraPrediction::m_aucIntraFilter[MAX_NUM_CHANNEL_TYPE][MAX_INTRA_FILTER_DEPTHS] =
const uint8_t IntraPrediction::m_aucIntraFilter[MAX_INTRA_FILTER_DEPTHS] =
{
{ // Luma
#if JVET_O0277_INTRA_SMALL_BLOCK_DCTIF
24, // 1xn
24, // 2xn
24, // 4xn
24, // 1xn
24, // 2xn
24, // 4xn
#else
20, // 1xn
20, // 2xn
20, // 4xn
20, // 1xn
20, // 2xn
20, // 4xn
#endif
14, // 8xn
2, // 16xn
0, // 32xn
0, // 64xn
0, // 128xn
},
{ // Chroma
40, // 1xn
40, // 2xn
40, // 4xn
28, // 8xn
4, // 16xn
0, // 32xn
0, // 64xn
0, // 128xn
}
14, // 8xn
2, // 16xn
0, // 32xn
0, // 64xn
0 // 128xn
};
const TFilterCoeff g_intraGaussFilter[32][4] = {
......@@ -600,7 +588,7 @@ void IntraPrediction::initPredIntraParams(const PredictionUnit & pu, const CompA
#endif
const int log2Size = ((g_aucLog2[puSize.width] + g_aucLog2[puSize.height]) >> 1);
CHECK( log2Size >= MAX_INTRA_FILTER_DEPTHS, "Size not supported" );
filterFlag = (diff > m_aucIntraFilter[chType][log2Size]);
filterFlag = (diff > m_aucIntraFilter[log2Size]);
}
// Selelection of either ([1 2 1] / 4 ) refrence filter OR Gaussian 4-tap interpolation filter
......
......@@ -77,7 +77,7 @@ private:
Pel* m_yuvExt2[MAX_NUM_COMPONENT][4];
int m_yuvExtSize2;
static const uint8_t m_aucIntraFilter[MAX_NUM_CHANNEL_TYPE][MAX_INTRA_FILTER_DEPTHS];
static const uint8_t m_aucIntraFilter[MAX_INTRA_FILTER_DEPTHS];
struct IntraPredParam //parameters of Intra Prediction
{
......
......@@ -2882,7 +2882,7 @@ void InterSearch::predInterSearch(CodingUnit& cu, Partitioner& partitioner)
CHECK(iRefIdxBi[0]<0, "Invalid picture reference index");
CHECK(iRefIdxBi[1]<0, "Invalid picture reference index");
cu.cs->slice->getWpScaling(REF_PIC_LIST_0, iRefIdxBi[0], wp0);
cu.cs->slice->getWpScaling(REF_PIC_LIST_1, iRefIdxBi[1], wp1);
cu.cs->slice->getWpScaling(REF_PIC_LIST_1, iRefIdxBi[1], wp1);
if ((wp0[COMPONENT_Y].bPresentFlag || wp0[COMPONENT_Cb].bPresentFlag || wp0[COMPONENT_Cr].bPresentFlag
|| wp1[COMPONENT_Y].bPresentFlag || wp1[COMPONENT_Cb].bPresentFlag || wp1[COMPONENT_Cr].bPresentFlag))
{
......@@ -3302,7 +3302,7 @@ Distortion InterSearch::xGetTemplateCost( const PredictionUnit& pu,
const Picture* picRef = pu.cu->slice->getRefPic( eRefPicList, iRefIdx );
clipMv( cMvCand, pu.cu->lumaPos(), pu.cu->lumaSize(), *pu.cs->sps );
// prediction pattern
const bool bi = pu.cu->slice->testWeightPred() && pu.cu->slice->getSliceType()==P_SLICE;
......@@ -7170,7 +7170,7 @@ void InterSearch::xEstimateInterResidualQT(CodingStructure &cs, Partitioner &par
#if JVET_O0376_SPS_JOINTCBCR_FLAG
if ( checkJointCbCr && (tu.cu->cs->slice->getSliceQp() > 18))
{
m_pcTrQuant->setLambda( 1.05 * m_pcTrQuant->getLambda() );
m_pcTrQuant->setLambda( 1.05 * m_pcTrQuant->getLambda() );
}
#else
if ( tu.cu->cs->slice->getSliceQp() > 18 )
......
......@@ -2819,7 +2819,7 @@ void IntraSearch::xIntraCodingTUBlock(TransformUnit &tu, const ComponentID &comp
#if JVET_O0105_ICT
if (isLuma(compID))
{
#endif
#else
if (flag && slice.getLmcsChromaResidualScaleFlag() && isChroma(compID))
{
const Area area = tu.Y().valid() ? tu.Y() : Area(recalcPosition(tu.chromaFormat, tu.chType, CHANNEL_TYPE_LUMA, tu.blocks[tu.chType].pos()), recalcSize(tu.chromaFormat, tu.chType, CHANNEL_TYPE_LUMA, tu.blocks[tu.chType].size()));
......@@ -2834,6 +2834,7 @@ void IntraSearch::xIntraCodingTUBlock(TransformUnit &tu, const ComponentID &comp
#endif
tu.setChromaAdj(adj);
}
#endif
//===== get residual signal =====
piResi.copyFrom( piOrg );
if (slice.getLmcsEnabledFlag() && m_pcReshape->getCTUFlag() && compID == COMPONENT_Y)
......@@ -2931,7 +2932,7 @@ void IntraSearch::xIntraCodingTUBlock(TransformUnit &tu, const ComponentID &comp
{
m_pcTrQuant->setLambda( 1.3 * m_pcTrQuant->getLambda() );
}
#endif
#endif
#else
#if JVET_O0376_SPS_JOINTCBCR_FLAG
else if ( sps.getJointCbCrEnabledFlag() && isChroma(compID) && (tu.cu->cs->slice->getSliceQp() > 18) )
......@@ -4323,7 +4324,7 @@ void IntraSearch::reduceHadCandList(static_vector<T, N>& candModeList, static_ve
static_vector<double, FAST_UDI_MAX_RDMODE_NUM> tempCandCostList;
const double minCost = candCostList[0];
bool keepOneMip = candModeList.size() > numModesForFullRD;
int numConv = 0;
int numMip = 0;
for (int idx = 0; idx < candModeList.size() - (keepOneMip?0:1); idx++)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment