[x265] cleanup TEncSbac

Satoshi Nakagawa nakagawa424 at oki.com
Wed Feb 12 02:33:23 CET 2014


# HG changeset patch
# User Satoshi Nakagawa <nakagawa424 at oki.com>
# Date 1392168582 -32400
#      Wed Feb 12 10:29:42 2014 +0900
# Node ID 01cde6b3045672dfba2530b97d62c43dec8b579d
# Parent  d6fdfa9f493871eff9283d0968179a8c93063230
cleanup TEncSbac

diff -r d6fdfa9f4938 -r 01cde6b30456 source/Lib/TLibCommon/TComTrQuant.cpp
--- a/source/Lib/TLibCommon/TComTrQuant.cpp	Tue Feb 11 12:57:32 2014 -0600
+++ b/source/Lib/TLibCommon/TComTrQuant.cpp	Wed Feb 12 10:29:42 2014 +0900
@@ -642,9 +642,9 @@
                 baseLevel = (c1Idx < C1FLAG_NUMBER) ? (2 + (c2Idx < C2FLAG_NUMBER)) : 1;
                 if (level >= baseLevel)
                 {
-                    if (level  > 3 * (1 << goRiceParam))
+                    if (goRiceParam < 4 && level > (3 << goRiceParam))
                     {
-                        goRiceParam = std::min<uint32_t>(goRiceParam + 1, 4);
+                        goRiceParam++;
                     }
                 }
                 if (level >= 1)
diff -r d6fdfa9f4938 -r 01cde6b30456 source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp
--- a/source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp	Tue Feb 11 12:57:32 2014 -0600
+++ b/source/Lib/TLibEncoder/TEncBinCoderCABAC.cpp	Wed Feb 12 10:29:42 2014 +0900
@@ -57,11 +57,6 @@
     m_bitIf = bitIf;
 }
 
-void TEncBinCABAC::uninit()
-{
-    m_bitIf = 0;
-}
-
 void TEncBinCABAC::start()
 {
     m_low              = 0;
diff -r d6fdfa9f4938 -r 01cde6b30456 source/Lib/TLibEncoder/TEncBinCoderCABAC.h
--- a/source/Lib/TLibEncoder/TEncBinCoderCABAC.h	Tue Feb 11 12:57:32 2014 -0600
+++ b/source/Lib/TLibEncoder/TEncBinCoderCABAC.h	Wed Feb 12 10:29:42 2014 +0900
@@ -55,7 +55,6 @@
     virtual ~TEncBinCABAC();
 
     void  init(TComBitIf* bitIf);
-    void  uninit();
 
     void  start();
     void  finish();
diff -r d6fdfa9f4938 -r 01cde6b30456 source/Lib/TLibEncoder/TEncEntropy.cpp
--- a/source/Lib/TLibEncoder/TEncEntropy.cpp	Tue Feb 11 12:57:32 2014 -0600
+++ b/source/Lib/TLibEncoder/TEncEntropy.cpp	Wed Feb 12 10:29:42 2014 +0900
@@ -450,11 +450,14 @@
         }
         else
         {
+            uint32_t interDir = cu->getInterDir(subPartIdx);
             encodeInterDirPU(cu, subPartIdx);
             for (uint32_t refListIdx = 0; refListIdx < 2; refListIdx++)
             {
-                if (cu->getSlice()->getNumRefIdx(refListIdx) > 0)
+                if (interDir & (1 << refListIdx))
                 {
+                    assert(cu->getSlice()->getNumRefIdx(refListIdx) > 0);
+
                     encodeRefFrmIdxPU(cu, subPartIdx, refListIdx);
                     encodeMvdPU(cu, subPartIdx, refListIdx);
                     encodeMVPIdxPU(cu, subPartIdx, refListIdx);
@@ -489,7 +492,7 @@
             return;
         }
 
-        if (cu->getInterDir(absPartIdx) & (1 << list))
+        assert(cu->getInterDir(absPartIdx) & (1 << list));
         {
             m_entropyCoderIf->codeRefFrmIdx(cu, absPartIdx, list);
         }
@@ -506,7 +509,7 @@
 {
     assert(!cu->isIntra(absPartIdx));
 
-    if (cu->getInterDir(absPartIdx) & (1 << list))
+    assert(cu->getInterDir(absPartIdx) & (1 << list));
     {
         m_entropyCoderIf->codeMvd(cu, absPartIdx, list);
     }
@@ -514,9 +517,9 @@
 
 void TEncEntropy::encodeMVPIdxPU(TComDataCU* cu, uint32_t absPartIdx, int list)
 {
-    if ((cu->getInterDir(absPartIdx) & (1 << list)))
+    assert(cu->getInterDir(absPartIdx) & (1 << list));
     {
-        m_entropyCoderIf->codeMVPIdx(cu, absPartIdx, list);
+        m_entropyCoderIf->codeMVPIdx(cu->getMVPIdx(list, absPartIdx));
     }
 }
 
diff -r d6fdfa9f4938 -r 01cde6b30456 source/Lib/TLibEncoder/TEncEntropy.h
--- a/source/Lib/TLibEncoder/TEncEntropy.h	Tue Feb 11 12:57:32 2014 -0600
+++ b/source/Lib/TLibEncoder/TEncEntropy.h	Wed Feb 12 10:29:42 2014 +0900
@@ -66,9 +66,7 @@
     virtual void setBitstream(TComBitIf* p) = 0;
     virtual void setSlice(TComSlice* p) = 0;
     virtual void resetBits() = 0;
-    virtual void resetCoeffCost() = 0;
     virtual uint32_t getNumberOfWrittenBits() = 0;
-    virtual uint32_t getCoeffCost() = 0;
 
     virtual void codeVPS(TComVPS* vps) = 0;
     virtual void codeSPS(TComSPS* sps) = 0;
@@ -78,7 +76,7 @@
     virtual void codeTilesWPPEntryPoint(TComSlice* slice) = 0;
     virtual void codeTerminatingBit(uint32_t isLast) = 0;
     virtual void codeSliceFinish() = 0;
-    virtual void codeMVPIdx(TComDataCU* cu, uint32_t absPartIdx, int list) = 0;
+    virtual void codeMVPIdx(uint32_t symbol) = 0;
     virtual void codeScalingList(TComScalingList* scalingList) = 0;
 
 public:
@@ -107,7 +105,6 @@
     virtual void codeMvd(TComDataCU* cu, uint32_t absPartIdx, int eRefList) = 0;
     virtual void codeDeltaQP(TComDataCU* cu, uint32_t absPartIdx) = 0;
     virtual void codeCoeffNxN(TComDataCU* cu, TCoeff* pcCoef, uint32_t absPartIdx, uint32_t width, uint32_t height, uint32_t depth, TextType ttype) = 0;
-    virtual void codeTransformSkipFlags(TComDataCU* cu, uint32_t absPartIdx, uint32_t width, uint32_t height, TextType ttype) = 0;
     virtual void codeSAOSign(uint32_t code) = 0;
     virtual void codeSaoMaxUvlc(uint32_t code, uint32_t maxSymbol) = 0;
     virtual void codeSaoMerge(uint32_t code) = 0;
@@ -115,9 +112,6 @@
     virtual void codeSaoUflc(uint32_t length, uint32_t code) = 0;
     virtual void estBit(estBitsSbacStruct* estBitsSbac, int width, int height, TextType ttype) = 0;
 
-    virtual void codeDFFlag(uint32_t code, const char *symbolName) = 0;
-    virtual void codeDFSvlc(int code, const char *symbolName)   = 0;
-
     virtual ~TEncEntropyIf() {}
 };
 
@@ -137,12 +131,8 @@
 
     void    resetBits() { m_entropyCoderIf->resetBits();      }
 
-    void    resetCoeffCost() { m_entropyCoderIf->resetCoeffCost(); }
-
     uint32_t    getNumberOfWrittenBits() { return m_entropyCoderIf->getNumberOfWrittenBits(); }
 
-    uint32_t    getCoeffCost() { return m_entropyCoderIf->getCoeffCost(); }
-
     void    resetEntropy() { m_entropyCoderIf->resetEntropy();  }
 
     void    determineCabacInitIdx() { m_entropyCoderIf->determineCabacInitIdx(); }
diff -r d6fdfa9f4938 -r 01cde6b30456 source/Lib/TLibEncoder/TEncSbac.cpp
--- a/source/Lib/TLibEncoder/TEncSbac.cpp	Tue Feb 11 12:57:32 2014 -0600
+++ b/source/Lib/TLibEncoder/TEncSbac.cpp	Wed Feb 12 10:29:42 2014 +0900
@@ -184,7 +184,6 @@
 // new structure here
     : m_slice(NULL)
     , m_binIf(NULL)
-    , m_coeffCost(0)
 {
     memset(m_contextModels, 0, sizeof(m_contextModels));
 }
@@ -235,7 +234,6 @@
     initBuffer(&m_contextModels[OFF_TRANSFORMSKIP_FLAG_CTX], sliceType, qp, (UChar*)INIT_TRANSFORMSKIP_FLAG, 2 * NUM_TRANSFORMSKIP_FLAG_CTX);
     initBuffer(&m_contextModels[OFF_CU_TRANSQUANT_BYPASS_FLAG_CTX], sliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG, NUM_CU_TRANSQUANT_BYPASS_FLAG_CTX);
     // new structure
-    m_lastQp = qp;
 
     m_binIf->start();
 }
@@ -300,18 +298,6 @@
     }
 }
 
-void TEncSbac::codeDFFlag(uint32_t code, const char *symbolName)
-{
-    (void)symbolName;
-    WRITE_FLAG(code, symbolName);
-}
-
-void TEncSbac::codeDFSvlc(int code, const char *symbolName)
-{
-    (void)symbolName;
-    WRITE_SVLC(code, symbolName);
-}
-
 #define SCALING_LIST_OUTPUT_RESULT                0 //JCTVC-G880/JCTVC-G1016 quantization matrices
 
 #define PRINT_RPS_INFO                            0 ///< Enable/disable the printing of bits used to send the RPS.
@@ -1361,27 +1347,9 @@
     m_binIf->finish();
 }
 
-void TEncSbac::xWriteUnarySymbol(uint32_t symbol, ContextModel* scmModel, int offset)
-{
-    m_binIf->encodeBin(symbol ? 1 : 0, scmModel[0]);
-
-    if (0 == symbol)
-    {
-        return;
-    }
-
-    while (symbol--)
-    {
-        m_binIf->encodeBin(symbol ? 1 : 0, scmModel[offset]);
-    }
-}
-
 void TEncSbac::xWriteUnaryMaxSymbol(uint32_t symbol, ContextModel* scmModel, int offset, uint32_t maxSymbol)
 {
-    if (maxSymbol == 0)
-    {
-        return;
-    }
+    assert(maxSymbol > 0);
 
     m_binIf->encodeBin(symbol ? 1 : 0, scmModel[0]);
 
@@ -1439,8 +1407,9 @@
     if (codeNumber < (COEF_REMAIN_BIN_REDUCTION << param))
     {
         length = codeNumber >> param;
+        codeNumber -= length << param;
         m_binIf->encodeBinsEP((1 << (length + 1)) - 2, length + 1);
-        m_binIf->encodeBinsEP((codeNumber % (1 << param)), param);
+        m_binIf->encodeBinsEP(codeNumber, param);
     }
     else
     {
@@ -1478,18 +1447,12 @@
 {
     m_binIf->copyState(src->m_binIf);
 
-    this->m_coeffCost = src->m_coeffCost;
-    this->m_lastQp    = src->m_lastQp;
-
     memcpy(m_contextModels, src->m_contextModels, MAX_OFF_CTX_MOD * sizeof(ContextModel));
 }
 
-void TEncSbac::codeMVPIdx(TComDataCU* cu, uint32_t absPartIdx, int eRefList)
+void TEncSbac::codeMVPIdx(uint32_t symbol)
 {
-    int symbol = cu->getMVPIdx(eRefList, absPartIdx);
-    int num = AMVP_MAX_NUM_CANDS;
-
-    xWriteUnaryMaxSymbol(symbol, &m_contextModels[OFF_MVP_IDX_CTX], 1, num - 1);
+    m_binIf->encodeBin(symbol, m_contextModels[OFF_MVP_IDX_CTX]);
 }
 
 void TEncSbac::codePartSize(TComDataCU* cu, uint32_t absPartIdx, uint32_t depth)
@@ -1534,7 +1497,7 @@
     {
         m_binIf->encodeBin(0, m_contextModels[OFF_PART_SIZE_CTX + 0]);
         m_binIf->encodeBin(0, m_contextModels[OFF_PART_SIZE_CTX + 1]);
-        if (depth == g_maxCUDepth - g_addCUDepth && !(cu->getWidth(absPartIdx) == 8 && cu->getHeight(absPartIdx) == 8))
+        if (depth == g_maxCUDepth - g_addCUDepth && !(cu->getWidth(absPartIdx) == 8))
         {
             m_binIf->encodeBin(1, m_contextModels[OFF_PART_SIZE_CTX + 2]);
         }
@@ -1550,7 +1513,7 @@
     }
     case SIZE_NxN:
     {
-        if (depth == g_maxCUDepth - g_addCUDepth && !(cu->getWidth(absPartIdx) == 8 && cu->getHeight(absPartIdx) == 8))
+        if (depth == g_maxCUDepth - g_addCUDepth && !(cu->getWidth(absPartIdx) == 8))
         {
             m_binIf->encodeBin(0, m_contextModels[OFF_PART_SIZE_CTX + 0]);
             m_binIf->encodeBin(0, m_contextModels[OFF_PART_SIZE_CTX + 1]);
@@ -1634,11 +1597,11 @@
  */
 void TEncSbac::codeMergeIndex(TComDataCU* cu, uint32_t absPartIdx)
 {
-    uint32_t unaryIdx = cu->getMergeIndex(absPartIdx);
     uint32_t numCand = cu->getSlice()->getMaxNumMergeCand();
 
     if (numCand > 1)
     {
+        uint32_t unaryIdx = cu->getMergeIndex(absPartIdx);
         m_binIf->encodeBin((unaryIdx != 0), m_contextModels[OFF_MERGE_IDX_EXT_CTX]);
 
         assert(unaryIdx < numCand);
@@ -1776,7 +1739,7 @@
     const uint32_t interDir = cu->getInterDir(absPartIdx) - 1;
     const uint32_t ctx      = cu->getCtxInterDir(absPartIdx);
 
-    if (cu->getPartitionSize(absPartIdx) == SIZE_2Nx2N || cu->getHeight(absPartIdx) != 8)
+    if (cu->getPartitionSize(absPartIdx) == SIZE_2Nx2N || cu->getWidth(absPartIdx) != 8)
     {
         m_binIf->encodeBin(interDir == 2 ? 1 : 0, m_contextModels[OFF_INTER_DIR_CTX + ctx]);
     }
@@ -1788,40 +1751,30 @@
 
 void TEncSbac::codeRefFrmIdx(TComDataCU* cu, uint32_t absPartIdx, int eRefList)
 {
+    int refFrame = cu->getCUMvField(eRefList)->getRefIdx(absPartIdx);
+    m_binIf->encodeBin(refFrame > 0, m_contextModels[OFF_REF_NO_CTX]);
+
+    if (refFrame > 0)
     {
-        int refFrame = cu->getCUMvField(eRefList)->getRefIdx(absPartIdx);
-        int idx = 0;
-        m_binIf->encodeBin((refFrame == 0 ? 0 : 1), m_contextModels[OFF_REF_NO_CTX]);
-
+        uint32_t refNum = cu->getSlice()->getNumRefIdx(eRefList) - 2;
+        if (refNum == 0)
+        {
+            return;
+        }
+        refFrame--;
+        m_binIf->encodeBin(refFrame > 0, m_contextModels[OFF_REF_NO_CTX + 1]);
         if (refFrame > 0)
         {
-            uint32_t refNum = cu->getSlice()->getNumRefIdx(eRefList) - 2;
-            idx++;
-            refFrame--;
-            // TODO: reference codeMergeIndex() to improvement
-            for (uint32_t i = 0; i < refNum; ++i)
-            {
-                const uint32_t symbol = i == refFrame ? 0 : 1;
-                if (i == 0)
-                {
-                    m_binIf->encodeBin(symbol, m_contextModels[OFF_REF_NO_CTX + idx]);
-                }
-                else
-                {
-                    m_binIf->encodeBinEP(symbol);
-                }
-                if (symbol == 0)
-                {
-                    break;
-                }
-            }
+            uint32_t mask = (1 << refFrame) - 2;
+            mask >>= (refFrame == refNum) ? 1 : 0;
+            m_binIf->encodeBinsEP(mask, refFrame - (refFrame == refNum));
         }
     }
 }
 
 void TEncSbac::codeMvd(TComDataCU* cu, uint32_t absPartIdx, int eRefList)
 {
-    if (cu->getSlice()->getMvdL1ZeroFlag() && eRefList == REF_PIC_LIST_1 && cu->getInterDir(absPartIdx) == 3)
+    if (eRefList == REF_PIC_LIST_1 && cu->getSlice()->getMvdL1ZeroFlag() && cu->getInterDir(absPartIdx) == 3)
     {
         return;
     }
@@ -1911,13 +1864,13 @@
     DTRACE_CABAC_T("\n")
 }
 
-void TEncSbac::codeTransformSkipFlags(TComDataCU* cu, uint32_t absPartIdx, uint32_t width, uint32_t height, TextType ttype)
+void TEncSbac::codeTransformSkipFlags(TComDataCU* cu, uint32_t absPartIdx, uint32_t width, TextType ttype)
 {
     if (cu->getCUTransquantBypass(absPartIdx))
     {
         return;
     }
-    if (width != 4 || height != 4)
+    if (width != 4)
     {
         return;
     }
@@ -1998,9 +1951,6 @@
         }
 
         pcmSample = cu->getPCMSampleCr() + chromaOffset;
-        width = cu->getWidth(absPartIdx) / 2;
-        height = cu->getHeight(absPartIdx) / 2;
-        sampleBits = cu->getSlice()->getSPS()->getPCMBitDepthChroma();
 
         for (y = 0; y < height; y++)
         {
@@ -2150,11 +2100,7 @@
     (void)depth;
 #endif // if ENC_DEC_TRACE
 
-    if (width > m_slice->getSPS()->getMaxTrSize())
-    {
-        width  = m_slice->getSPS()->getMaxTrSize();
-        height = m_slice->getSPS()->getMaxTrSize();
-    }
+    assert(width <= m_slice->getSPS()->getMaxTrSize());
 
     // compute number of significant coefficients
     uint32_t numSig = TEncEntropy::countNonZeroCoeffs(coeff, width * height);
@@ -2163,7 +2109,7 @@
         return;
     if (cu->getSlice()->getPPS()->getUseTransformSkip())
     {
-        codeTransformSkipFlags(cu, absPartIdx, width, height, ttype);
+        codeTransformSkipFlags(cu, absPartIdx, width, ttype);
     }
     ttype = ttype == TEXT_LUMA ? TEXT_LUMA : TEXT_CHROMA;
 
@@ -2232,7 +2178,7 @@
 
     const int lastScanSet      = scanPosLast >> LOG2_SCAN_SET_SIZE;
     uint32_t c1 = 1;
-    uint32_t goRiceParam           = 0;
+    uint32_t goRiceParam;
     int  scanPosSig            = scanPosLast;
 
     for (int subSet = lastScanSet; subSet >= 0; subSet--)
@@ -2339,9 +2285,9 @@
 
             if (c1 == 0)
             {
-                baseCtxMod = (ttype == TEXT_LUMA) ? &m_contextModels[OFF_ABS_FLAG_CTX + ctxSet] : &m_contextModels[OFF_ABS_FLAG_CTX + NUM_ABS_FLAG_CTX_LUMA + ctxSet];
                 if (firstC2FlagIdx != -1)
                 {
+                    baseCtxMod = (ttype == TEXT_LUMA) ? &m_contextModels[OFF_ABS_FLAG_CTX + ctxSet] : &m_contextModels[OFF_ABS_FLAG_CTX + NUM_ABS_FLAG_CTX_LUMA + ctxSet];
                     uint32_t symbol = absCoeff[firstC2FlagIdx] > 2;
                     m_binIf->encodeBin(symbol, baseCtxMod[0]);
                 }
@@ -2366,9 +2312,9 @@
                     if (absCoeff[idx] >= baseLevel)
                     {
                         xWriteCoefRemainExGolomb(absCoeff[idx] - baseLevel, goRiceParam);
-                        if (absCoeff[idx] > 3 * (1 << goRiceParam))
+                        if (goRiceParam < 4 && absCoeff[idx] > (3 << goRiceParam))
                         {
-                            goRiceParam = std::min<uint32_t>(goRiceParam + 1, 4);
+                            goRiceParam++;
                         }
                     }
                     if (absCoeff[idx] >= 2)
@@ -2483,13 +2429,14 @@
 void TEncSbac::estSignificantCoeffGroupMapBit(estBitsSbacStruct* estBitsSbac, TextType ttype)
 {
     assert((ttype == TEXT_LUMA) || (ttype == TEXT_CHROMA));
-    int firstCtx = 0, numCtx = NUM_SIG_CG_FLAG_CTX;
+    const int firstCtx = 0, numCtx = NUM_SIG_CG_FLAG_CTX;
+    const ContextModel * const baseCoeffGroupCtx = &m_contextModels[OFF_SIG_CG_FLAG_CTX + (ttype ? NUM_SIG_CG_FLAG_CTX : 0)];
 
     for (int ctxIdx = firstCtx; ctxIdx < firstCtx + numCtx; ctxIdx++)
     {
         for (uint32_t bin = 0; bin < 2; bin++)
         {
-            estBitsSbac->significantCoeffGroupBits[ctxIdx][bin] = sbacGetEntropyBits(m_contextModels[OFF_SIG_CG_FLAG_CTX + ((ttype ? NUM_SIG_CG_FLAG_CTX : 0) + ctxIdx)].m_state, bin);
+            estBitsSbac->significantCoeffGroupBits[ctxIdx][bin] = sbacGetEntropyBits(baseCoeffGroupCtx[ctxIdx].m_state, bin);
         }
     }
 }
@@ -2504,7 +2451,7 @@
 {
     int firstCtx = 1, numCtx = 8;
 
-    if (X265_MAX(width, height) >= 16)
+    if (width >= 16)
     {
         firstCtx = (ttype == TEXT_LUMA) ? 21 : 12;
         numCtx = (ttype == TEXT_LUMA) ? 6 : 3;
diff -r d6fdfa9f4938 -r 01cde6b30456 source/Lib/TLibEncoder/TEncSbac.h
--- a/source/Lib/TLibEncoder/TEncSbac.h	Tue Feb 11 12:57:32 2014 -0600
+++ b/source/Lib/TLibEncoder/TEncSbac.h	Wed Feb 12 10:29:42 2014 +0900
@@ -64,8 +64,6 @@
 
     void  init(TEncBinCABAC* p)       { m_binIf = p; }
 
-    void  uninit()                    { m_binIf = 0; }
-
     //  Virtual list
     void  resetEntropy();
     void  determineCabacInitIdx();
@@ -80,10 +78,6 @@
     void  setSlice(TComSlice* p)      { m_slice = p; }
 
     // SBAC RD
-    void  resetCoeffCost()            { m_coeffCost = 0;  }
-
-    uint32_t  getCoeffCost()              { return m_coeffCost;  }
-
     void  load(TEncSbac* scr);
     void  loadIntraDirModeLuma(TEncSbac* scr);
     void  store(TEncSbac* dest);
@@ -125,7 +119,6 @@
 
 private:
 
-    void  xWriteUnarySymbol(uint32_t symbol, ContextModel* scmModel, int offset);
     void  xWriteUnaryMaxSymbol(uint32_t symbol, ContextModel* scmModel, int offset, uint32_t maxSymbol);
     void  xWriteEpExGolomb(uint32_t symbol, uint32_t count);
     void  xWriteCoefRemainExGolomb(uint32_t symbol, uint32_t &param);
@@ -133,16 +126,12 @@
     void  xCopyFrom(TEncSbac* src);
     void  xCopyContextsFrom(TEncSbac* src);
 
-    void codeDFFlag(uint32_t /*code*/, const char* /*symbolName*/);
-    void codeDFSvlc(int /*code*/, const char* /*symbolName*/);
     void xCodeScalingList(TComScalingList* scalingList, uint32_t sizeId, uint32_t listId);
 
 public:
 
     TComSlice*    m_slice;
     TEncBinCABAC* m_binIf;
-    //SBAC RD
-    uint32_t          m_coeffCost;
 
     //--Adaptive loop filter
 
@@ -153,7 +142,7 @@
     void codeMergeFlag(TComDataCU* cu, uint32_t absPartIdx);
     void codeMergeIndex(TComDataCU* cu, uint32_t absPartIdx);
     void codeSplitFlag(TComDataCU* cu, uint32_t absPartIdx, uint32_t depth);
-    void codeMVPIdx(TComDataCU* cu, uint32_t absPartIdx, int eRefList);
+    void codeMVPIdx(uint32_t symbol);
 
     void codePartSize(TComDataCU* cu, uint32_t absPartIdx, uint32_t depth);
     void codePredMode(TComDataCU* cu, uint32_t absPartIdx);
@@ -174,7 +163,7 @@
 
     void codeLastSignificantXY(uint32_t posx, uint32_t posy, int width, int height, TextType ttype, uint32_t scanIdx);
     void codeCoeffNxN(TComDataCU* cu, TCoeff* coef, uint32_t absPartIdx, uint32_t width, uint32_t height, uint32_t depth, TextType ttype);
-    void codeTransformSkipFlags(TComDataCU* cu, uint32_t absPartIdx, uint32_t width, uint32_t height, TextType ttype);
+    void codeTransformSkipFlags(TComDataCU* cu, uint32_t absPartIdx, uint32_t width, TextType ttype);
 
     // -------------------------------------------------------------------------------------------------------------------
     // for RD-optimizatioon
@@ -190,7 +179,6 @@
 
 private:
 
-    uint32_t                 m_lastQp;
     ContextModel         m_contextModels[MAX_OFF_CTX_MOD];
 };
 }


More information about the x265-devel mailing list