libbpg-0.9.3
This commit is contained in:
commit
b21307932d
266 changed files with 108670 additions and 0 deletions
474
jctvc/TLibEncoder/TEncSearch.h
Normal file
474
jctvc/TLibEncoder/TEncSearch.h
Normal file
|
@ -0,0 +1,474 @@
|
|||
/* The copyright in this software is being made available under the BSD
|
||||
* License, included below. This software may be subject to other third party
|
||||
* and contributor rights, including patent rights, and no such rights are
|
||||
* granted under this license.
|
||||
*
|
||||
* Copyright (c) 2010-2014, ITU/ISO/IEC
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* * Neither the name of the ITU/ISO/IEC nor the names of its contributors may
|
||||
* be used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/** \file TEncSearch.h
|
||||
\brief encoder search class (header)
|
||||
*/
|
||||
|
||||
#ifndef __TENCSEARCH__
|
||||
#define __TENCSEARCH__
|
||||
|
||||
// Include files
|
||||
#include "TLibCommon/TComYuv.h"
|
||||
#include "TLibCommon/TComMotionInfo.h"
|
||||
#include "TLibCommon/TComPattern.h"
|
||||
#include "TLibCommon/TComPrediction.h"
|
||||
#include "TLibCommon/TComTrQuant.h"
|
||||
#include "TLibCommon/TComPic.h"
|
||||
#include "TLibCommon/TComRectangle.h"
|
||||
#include "TEncEntropy.h"
|
||||
#include "TEncSbac.h"
|
||||
#include "TEncCfg.h"
|
||||
|
||||
|
||||
//! \ingroup TLibEncoder
|
||||
//! \{
|
||||
|
||||
class TEncCu;
|
||||
|
||||
// ====================================================================================================================
|
||||
// Class definition
|
||||
// ====================================================================================================================
|
||||
|
||||
static const UInt MAX_NUM_REF_LIST_ADAPT_SR=2;
|
||||
static const UInt MAX_IDX_ADAPT_SR=33;
|
||||
static const UInt NUM_MV_PREDICTORS=3;
|
||||
|
||||
/// encoder search class
|
||||
class TEncSearch : public TComPrediction
|
||||
{
|
||||
private:
|
||||
TCoeff** m_ppcQTTempCoeff[MAX_NUM_COMPONENT /* 0->Y, 1->Cb, 2->Cr*/];
|
||||
TCoeff* m_pcQTTempCoeff[MAX_NUM_COMPONENT];
|
||||
#if ADAPTIVE_QP_SELECTION
|
||||
TCoeff** m_ppcQTTempArlCoeff[MAX_NUM_COMPONENT];
|
||||
TCoeff* m_pcQTTempArlCoeff[MAX_NUM_COMPONENT];
|
||||
#endif
|
||||
UChar* m_puhQTTempTrIdx;
|
||||
UChar* m_puhQTTempCbf[MAX_NUM_COMPONENT];
|
||||
|
||||
TComYuv* m_pcQTTempTComYuv;
|
||||
TComYuv m_tmpYuvPred; // To be used in xGetInterPredictionError() to avoid constant memory allocation/deallocation
|
||||
|
||||
Char* m_phQTTempCrossComponentPredictionAlpha[MAX_NUM_COMPONENT];
|
||||
Pel* m_pSharedPredTransformSkip[MAX_NUM_COMPONENT];
|
||||
TCoeff* m_pcQTTempTUCoeff[MAX_NUM_COMPONENT];
|
||||
UChar* m_puhQTTempTransformSkipFlag[MAX_NUM_COMPONENT];
|
||||
TComYuv m_pcQTTempTransformSkipTComYuv;
|
||||
#if ADAPTIVE_QP_SELECTION
|
||||
TCoeff* m_ppcQTTempTUArlCoeff[MAX_NUM_COMPONENT];
|
||||
#endif
|
||||
|
||||
protected:
|
||||
// interface to option
|
||||
TEncCfg* m_pcEncCfg;
|
||||
|
||||
// interface to classes
|
||||
TComTrQuant* m_pcTrQuant;
|
||||
TComRdCost* m_pcRdCost;
|
||||
TEncEntropy* m_pcEntropyCoder;
|
||||
|
||||
// ME parameters
|
||||
Int m_iSearchRange;
|
||||
Int m_bipredSearchRange; // Search range for bi-prediction
|
||||
Int m_iFastSearch;
|
||||
Int m_aaiAdaptSR[MAX_NUM_REF_LIST_ADAPT_SR][MAX_IDX_ADAPT_SR];
|
||||
TComMv m_cSrchRngLT;
|
||||
TComMv m_cSrchRngRB;
|
||||
TComMv m_acMvPredictors[NUM_MV_PREDICTORS]; // Left, Above, AboveRight. enum MVP_DIR first NUM_MV_PREDICTORS entries are suitable for accessing.
|
||||
|
||||
// RD computation
|
||||
TEncSbac*** m_pppcRDSbacCoder;
|
||||
TEncSbac* m_pcRDGoOnSbacCoder;
|
||||
DistParam m_cDistParam;
|
||||
|
||||
// Misc.
|
||||
Pel* m_pTempPel;
|
||||
const UInt* m_puiDFilter;
|
||||
Int m_iMaxDeltaQP;
|
||||
|
||||
// AMVP cost computation
|
||||
// UInt m_auiMVPIdxCost[AMVP_MAX_NUM_CANDS+1][AMVP_MAX_NUM_CANDS];
|
||||
UInt m_auiMVPIdxCost[AMVP_MAX_NUM_CANDS+1][AMVP_MAX_NUM_CANDS+1]; //th array bounds
|
||||
|
||||
TComMv m_integerMv2Nx2N[NUM_REF_PIC_LIST_01][MAX_NUM_REF];
|
||||
|
||||
public:
|
||||
TEncSearch();
|
||||
virtual ~TEncSearch();
|
||||
|
||||
Void init( TEncCfg* pcEncCfg,
|
||||
TComTrQuant* pcTrQuant,
|
||||
Int iSearchRange,
|
||||
Int bipredSearchRange,
|
||||
Int iFastSearch,
|
||||
Int iMaxDeltaQP,
|
||||
TEncEntropy* pcEntropyCoder,
|
||||
TComRdCost* pcRdCost,
|
||||
TEncSbac*** pppcRDSbacCoder,
|
||||
TEncSbac* pcRDGoOnSbacCoder );
|
||||
|
||||
protected:
|
||||
|
||||
/// sub-function for motion vector refinement used in fractional-pel accuracy
|
||||
Distortion xPatternRefinement( TComPattern* pcPatternKey,
|
||||
TComMv baseRefMv,
|
||||
Int iFrac, TComMv& rcMvFrac, Bool bAllowUseOfHadamard
|
||||
);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
Pel* piRefY;
|
||||
Int iYStride;
|
||||
Int iBestX;
|
||||
Int iBestY;
|
||||
UInt uiBestRound;
|
||||
UInt uiBestDistance;
|
||||
Distortion uiBestSad;
|
||||
UChar ucPointNr;
|
||||
} IntTZSearchStruct;
|
||||
|
||||
// sub-functions for ME
|
||||
__inline Void xTZSearchHelp ( TComPattern* pcPatternKey, IntTZSearchStruct& rcStruct, const Int iSearchX, const Int iSearchY, const UChar ucPointNr, const UInt uiDistance );
|
||||
__inline Void xTZ2PointSearch ( TComPattern* pcPatternKey, IntTZSearchStruct& rcStrukt, TComMv* pcMvSrchRngLT, TComMv* pcMvSrchRngRB );
|
||||
__inline Void xTZ8PointSquareSearch ( TComPattern* pcPatternKey, IntTZSearchStruct& rcStrukt, TComMv* pcMvSrchRngLT, TComMv* pcMvSrchRngRB, const Int iStartX, const Int iStartY, const Int iDist );
|
||||
__inline Void xTZ8PointDiamondSearch( TComPattern* pcPatternKey, IntTZSearchStruct& rcStrukt, TComMv* pcMvSrchRngLT, TComMv* pcMvSrchRngRB, const Int iStartX, const Int iStartY, const Int iDist );
|
||||
|
||||
Void xGetInterPredictionError( TComDataCU* pcCU, TComYuv* pcYuvOrg, Int iPartIdx, Distortion& ruiSAD, Bool Hadamard );
|
||||
|
||||
public:
|
||||
Void preestChromaPredMode ( TComDataCU* pcCU,
|
||||
TComYuv* pcOrgYuv,
|
||||
TComYuv* pcPredYuv );
|
||||
|
||||
Void estIntraPredQT ( TComDataCU* pcCU,
|
||||
TComYuv* pcOrgYuv,
|
||||
TComYuv* pcPredYuv,
|
||||
TComYuv* pcResiYuv,
|
||||
TComYuv* pcRecoYuv,
|
||||
Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][MAX_CU_SIZE * MAX_CU_SIZE],
|
||||
Distortion& ruiDistC,
|
||||
Bool bLumaOnly
|
||||
DEBUG_STRING_FN_DECLARE(sDebug));
|
||||
|
||||
Void estIntraPredChromaQT ( TComDataCU* pcCU,
|
||||
TComYuv* pcOrgYuv,
|
||||
TComYuv* pcPredYuv,
|
||||
TComYuv* pcResiYuv,
|
||||
TComYuv* pcRecoYuv,
|
||||
Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][MAX_CU_SIZE * MAX_CU_SIZE],
|
||||
Distortion uiPreCalcDistC
|
||||
DEBUG_STRING_FN_DECLARE(sDebug));
|
||||
|
||||
/// encoder estimation - inter prediction (non-skip)
|
||||
Void predInterSearch ( TComDataCU* pcCU,
|
||||
TComYuv* pcOrgYuv,
|
||||
TComYuv* pcPredYuv,
|
||||
TComYuv* pcResiYuv,
|
||||
TComYuv* pcRecoYuv
|
||||
DEBUG_STRING_FN_DECLARE(sDebug),
|
||||
Bool bUseRes = false
|
||||
#if AMP_MRG
|
||||
,Bool bUseMRG = false
|
||||
#endif
|
||||
);
|
||||
|
||||
/// encode residual and compute rd-cost for inter mode
|
||||
Void encodeResAndCalcRdInterCU( TComDataCU* pcCU,
|
||||
TComYuv* pcYuvOrg,
|
||||
TComYuv* pcYuvPred,
|
||||
TComYuv* pcYuvResi,
|
||||
TComYuv* pcYuvResiBest,
|
||||
TComYuv* pcYuvRec,
|
||||
Bool bSkipRes
|
||||
DEBUG_STRING_FN_DECLARE(sDebug) );
|
||||
|
||||
/// set ME search range
|
||||
Void setAdaptiveSearchRange ( Int iDir, Int iRefIdx, Int iSearchRange) { assert(iDir < MAX_NUM_REF_LIST_ADAPT_SR && iRefIdx<Int(MAX_IDX_ADAPT_SR)); m_aaiAdaptSR[iDir][iRefIdx] = iSearchRange; }
|
||||
|
||||
Void xEncPCM (TComDataCU* pcCU, UInt uiAbsPartIdx, Pel* piOrg, Pel* piPCM, Pel* piPred, Pel* piResi, Pel* piReco, UInt uiStride, UInt uiWidth, UInt uiHeight, const ComponentID compID );
|
||||
Void IPCMSearch (TComDataCU* pcCU, TComYuv* pcOrgYuv, TComYuv* rpcPredYuv, TComYuv* rpcResiYuv, TComYuv* rpcRecoYuv );
|
||||
protected:
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
// Intra search
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Void xEncSubdivCbfQT ( TComTU &rTu,
|
||||
Bool bLuma,
|
||||
Bool bChroma );
|
||||
|
||||
Void xEncCoeffQT ( TComTU &rTu,
|
||||
ComponentID component,
|
||||
Bool bRealCoeff );
|
||||
Void xEncIntraHeader ( TComDataCU* pcCU,
|
||||
UInt uiTrDepth,
|
||||
UInt uiAbsPartIdx,
|
||||
Bool bLuma,
|
||||
Bool bChroma );
|
||||
UInt xGetIntraBitsQT ( TComTU &rTu,
|
||||
Bool bLuma,
|
||||
Bool bChroma,
|
||||
Bool bRealCoeff );
|
||||
|
||||
UInt xGetIntraBitsQTChroma ( TComTU &rTu,
|
||||
ComponentID compID,
|
||||
Bool bRealCoeff );
|
||||
|
||||
Void xIntraCodingTUBlock ( TComYuv* pcOrgYuv,
|
||||
TComYuv* pcPredYuv,
|
||||
TComYuv* pcResiYuv,
|
||||
Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][MAX_CU_SIZE * MAX_CU_SIZE],
|
||||
const Bool checkCrossCPrediction,
|
||||
Distortion& ruiDist,
|
||||
const ComponentID compID,
|
||||
TComTU &rTu
|
||||
DEBUG_STRING_FN_DECLARE(sTest)
|
||||
,Int default0Save1Load2 = 0
|
||||
);
|
||||
|
||||
Void xRecurIntraCodingQT ( Bool bLumaOnly,
|
||||
TComYuv* pcOrgYuv,
|
||||
TComYuv* pcPredYuv,
|
||||
TComYuv* pcResiYuv,
|
||||
Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][MAX_CU_SIZE * MAX_CU_SIZE],
|
||||
Distortion& ruiDistY,
|
||||
Distortion& ruiDistC,
|
||||
#if HHI_RQT_INTRA_SPEEDUP
|
||||
Bool bCheckFirst,
|
||||
#endif
|
||||
Double& dRDCost,
|
||||
TComTU &rTu
|
||||
DEBUG_STRING_FN_DECLARE(sDebug));
|
||||
|
||||
Void xSetIntraResultQT ( Bool bLumaOnly,
|
||||
TComYuv* pcRecoYuv,
|
||||
TComTU &rTu);
|
||||
|
||||
Void xStoreCrossComponentPredictionResult ( Pel *pResiLuma,
|
||||
const Pel *pBestLuma,
|
||||
TComTU &rTu,
|
||||
const Int xOffset,
|
||||
const Int yOffset,
|
||||
const Int strideResi,
|
||||
const Int strideBest );
|
||||
|
||||
Char xCalcCrossComponentPredictionAlpha ( TComTU &rTu,
|
||||
const ComponentID compID,
|
||||
const Pel* piResiL,
|
||||
const Pel* piResiC,
|
||||
const Int width,
|
||||
const Int height,
|
||||
const Int strideL,
|
||||
const Int strideC );
|
||||
|
||||
Void xRecurIntraChromaCodingQT ( TComYuv* pcOrgYuv,
|
||||
TComYuv* pcPredYuv,
|
||||
TComYuv* pcResiYuv,
|
||||
Pel resiLuma[NUMBER_OF_STORED_RESIDUAL_TYPES][MAX_CU_SIZE * MAX_CU_SIZE],
|
||||
Distortion& ruiDist,
|
||||
TComTU &rTu
|
||||
DEBUG_STRING_FN_DECLARE(sDebug));
|
||||
|
||||
Void xSetIntraResultChromaQT ( TComYuv* pcRecoYuv, TComTU &rTu);
|
||||
|
||||
Void xStoreIntraResultQT ( const ComponentID first, const ComponentID lastIncl, TComTU &rTu);
|
||||
Void xLoadIntraResultQT ( const ComponentID first, const ComponentID lastIncl, TComTU &rTu);
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
// Inter search (AMP)
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Void xEstimateMvPredAMVP ( TComDataCU* pcCU,
|
||||
TComYuv* pcOrgYuv,
|
||||
UInt uiPartIdx,
|
||||
RefPicList eRefPicList,
|
||||
Int iRefIdx,
|
||||
TComMv& rcMvPred,
|
||||
Bool bFilled = false
|
||||
, Distortion* puiDistBiP = NULL
|
||||
);
|
||||
|
||||
Void xCheckBestMVP ( TComDataCU* pcCU,
|
||||
RefPicList eRefPicList,
|
||||
TComMv cMv,
|
||||
TComMv& rcMvPred,
|
||||
Int& riMVPIdx,
|
||||
UInt& ruiBits,
|
||||
Distortion& ruiCost );
|
||||
|
||||
Distortion xGetTemplateCost ( TComDataCU* pcCU,
|
||||
UInt uiPartIdx,
|
||||
UInt uiPartAddr,
|
||||
TComYuv* pcOrgYuv,
|
||||
TComYuv* pcTemplateCand,
|
||||
TComMv cMvCand,
|
||||
Int iMVPIdx,
|
||||
Int iMVPNum,
|
||||
RefPicList eRefPicList,
|
||||
Int iRefIdx,
|
||||
Int iSizeX,
|
||||
Int iSizeY
|
||||
);
|
||||
|
||||
|
||||
Void xCopyAMVPInfo ( AMVPInfo* pSrc, AMVPInfo* pDst );
|
||||
UInt xGetMvpIdxBits ( Int iIdx, Int iNum );
|
||||
Void xGetBlkBits ( PartSize eCUMode, Bool bPSlice, Int iPartIdx, UInt uiLastMode, UInt uiBlkBit[3]);
|
||||
|
||||
Void xMergeEstimation ( TComDataCU* pcCU,
|
||||
TComYuv* pcYuvOrg,
|
||||
Int iPartIdx,
|
||||
UInt& uiInterDir,
|
||||
TComMvField* pacMvField,
|
||||
UInt& uiMergeIndex,
|
||||
Distortion& ruiCost,
|
||||
TComMvField* cMvFieldNeighbours,
|
||||
UChar* uhInterDirNeighbours,
|
||||
Int& numValidMergeCand
|
||||
);
|
||||
|
||||
Void xRestrictBipredMergeCand ( TComDataCU* pcCU,
|
||||
UInt puIdx,
|
||||
TComMvField* mvFieldNeighbours,
|
||||
UChar* interDirNeighbours,
|
||||
Int numValidMergeCand );
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
// motion estimation
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Void xMotionEstimation ( TComDataCU* pcCU,
|
||||
TComYuv* pcYuvOrg,
|
||||
Int iPartIdx,
|
||||
RefPicList eRefPicList,
|
||||
TComMv* pcMvPred,
|
||||
Int iRefIdxPred,
|
||||
TComMv& rcMv,
|
||||
UInt& ruiBits,
|
||||
Distortion& ruiCost,
|
||||
Bool bBi = false );
|
||||
|
||||
Void xTZSearch ( TComDataCU* pcCU,
|
||||
TComPattern* pcPatternKey,
|
||||
Pel* piRefY,
|
||||
Int iRefStride,
|
||||
TComMv* pcMvSrchRngLT,
|
||||
TComMv* pcMvSrchRngRB,
|
||||
TComMv& rcMv,
|
||||
Distortion& ruiSAD,
|
||||
const TComMv *pIntegerMv2Nx2NPred
|
||||
);
|
||||
|
||||
Void xTZSearchSelective ( TComDataCU* pcCU,
|
||||
TComPattern* pcPatternKey,
|
||||
Pel* piRefY,
|
||||
Int iRefStride,
|
||||
TComMv* pcMvSrchRngLT,
|
||||
TComMv* pcMvSrchRngRB,
|
||||
TComMv& rcMv,
|
||||
Distortion& ruiSAD,
|
||||
const TComMv *pIntegerMv2Nx2NPred
|
||||
);
|
||||
|
||||
Void xSetSearchRange ( TComDataCU* pcCU,
|
||||
TComMv& cMvPred,
|
||||
Int iSrchRng,
|
||||
TComMv& rcMvSrchRngLT,
|
||||
TComMv& rcMvSrchRngRB );
|
||||
|
||||
Void xPatternSearchFast ( TComDataCU* pcCU,
|
||||
TComPattern* pcPatternKey,
|
||||
Pel* piRefY,
|
||||
Int iRefStride,
|
||||
TComMv* pcMvSrchRngLT,
|
||||
TComMv* pcMvSrchRngRB,
|
||||
TComMv& rcMv,
|
||||
Distortion& ruiSAD,
|
||||
const TComMv* pIntegerMv2Nx2NPred
|
||||
);
|
||||
|
||||
Void xPatternSearch ( TComPattern* pcPatternKey,
|
||||
Pel* piRefY,
|
||||
Int iRefStride,
|
||||
TComMv* pcMvSrchRngLT,
|
||||
TComMv* pcMvSrchRngRB,
|
||||
TComMv& rcMv,
|
||||
Distortion& ruiSAD );
|
||||
|
||||
Void xPatternSearchFracDIF (
|
||||
Bool bIsLosslessCoded,
|
||||
TComPattern* pcPatternKey,
|
||||
Pel* piRefY,
|
||||
Int iRefStride,
|
||||
TComMv* pcMvInt,
|
||||
TComMv& rcMvHalf,
|
||||
TComMv& rcMvQter,
|
||||
Distortion& ruiCost,
|
||||
Bool biPred
|
||||
);
|
||||
|
||||
Void xExtDIFUpSamplingH( TComPattern* pcPattern, Bool biPred );
|
||||
Void xExtDIFUpSamplingQ( TComPattern* pcPatternKey, TComMv halfPelRef, Bool biPred );
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
// T & Q & Q-1 & T-1
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
Void xEncodeResidualQT( const ComponentID compID, TComTU &rTu );
|
||||
Void xEstimateResidualQT( TComYuv* pcResi, Double &rdCost, UInt &ruiBits, Distortion &ruiDist, Distortion *puiZeroDist, TComTU &rTu DEBUG_STRING_FN_DECLARE(sDebug) );
|
||||
Void xSetResidualQTData( TComYuv* pcResi, Bool bSpatial, TComTU &rTu );
|
||||
|
||||
UInt xModeBitsIntra ( TComDataCU* pcCU, UInt uiMode, UInt uiPartOffset, UInt uiDepth, UInt uiInitTrDepth, const ChannelType compID );
|
||||
UInt xUpdateCandList( UInt uiMode, Double uiCost, UInt uiFastCandNum, UInt * CandModeList, Double * CandCostList );
|
||||
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
// compute symbol bits
|
||||
// -------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Void xAddSymbolBitsInter ( TComDataCU* pcCU,
|
||||
UInt uiQp,
|
||||
UInt uiTrMode,
|
||||
UInt& ruiBits);
|
||||
|
||||
Void setWpScalingDistParam( TComDataCU* pcCU, Int iRefIdx, RefPicList eRefPicListCur );
|
||||
inline Void setDistParamComp( ComponentID compIdx ) { m_cDistParam.compIdx = compIdx; }
|
||||
|
||||
};// END CLASS DEFINITION TEncSearch
|
||||
|
||||
//! \}
|
||||
|
||||
#endif // __TENCSEARCH__
|
Loading…
Add table
Add a link
Reference in a new issue