Skip to content
Snippets Groups Projects
DepQuant.cpp 81.7 KiB
Newer Older
    const int         qpDQ            = cQP.Qp + 1;
    const int         qpPer           = qpDQ / 6;
    const int         qpRem           = qpDQ - 6 * qpPer;
    const CompArea    &rect           = tu.blocks[compID];
    const int         uiWidth         = rect.width;
    const int         uiHeight        = rect.height;
    uint32_t          scalingListType = getScalingListType(tu.cu->predMode, compID);
    CHECK(scalingListType >= SCALING_LIST_NUM, "Invalid scaling list");
    const uint32_t    uiLog2TrWidth  = g_aucLog2[uiWidth];
    const uint32_t    uiLog2TrHeight = g_aucLog2[uiHeight];

    const bool enableScalingLists = getUseScalingList(uiWidth, uiHeight, (tu.mtsIdx == MTS_SKIP));//4x4 must test scalingLists
    static_cast<DQIntern::DepQuant*>(p)->dequant( tu, dstCoeff, compID, cQP, enableScalingLists, Quant::getDequantCoeff(scalingListType, qpRem, uiLog2TrWidth, uiLog2TrHeight) );
#else
    static_cast<DQIntern::DepQuant*>(p)->dequant( tu, dstCoeff, compID, cQP );