38 #include "../TLibCommon/CommonDef.h"
47 Void xTraceVPSHeader ()
49 fprintf( g_hTrace,
"=========== Video Parameter Set ===========\n" );
52 Void xTraceSPSHeader ()
54 fprintf( g_hTrace,
"=========== Sequence Parameter Set ===========\n" );
57 Void xTracePPSHeader ()
59 fprintf( g_hTrace,
"=========== Picture Parameter Set ===========\n");
62 Void xTraceSliceHeader ()
64 fprintf( g_hTrace,
"=========== Slice ===========\n");
67 Void xTraceAccessUnitDelimiter ()
69 fprintf( g_hTrace,
"=========== Access Unit Delimiter ===========\n");
77 xTraceAccessUnitDelimiter();
80 assert (pictureType < 3);
121 if(calledFromSliceHeader)
126 WRITE_CODE( (deltaRPS >=0 ? 0: 1), 1,
"delta_rps_sign" );
127 WRITE_UVLC( abs(deltaRPS) - 1,
"abs_delta_rps_minus1");
132 WRITE_CODE( (refIdc==1? 1: 0), 1,
"used_by_curr_pic_flag" );
241 Bool pps_extension_present_flag=
false;
250 pps_extension_present_flag|=pps_extension_flags[i];
253 WRITE_FLAG( (pps_extension_present_flag?1:0),
"pps_extension_present_flag" );
255 if (pps_extension_present_flag)
257 #if ENC_DEC_TRACE || RExt__DECODER_DEBUG_BIT_STATISTICS
258 static const TChar *syntaxStrings[]={
"pps_range_extension_flag",
259 "pps_multilayer_extension_flag",
260 "pps_extension_6bits[0]",
261 "pps_extension_6bits[1]",
262 "pps_extension_6bits[2]",
263 "pps_extension_6bits[3]",
264 "pps_extension_6bits[4]",
265 "pps_extension_6bits[5]" };
270 WRITE_FLAG( pps_extension_flags[i]?1:0, syntaxStrings[i] );
275 if (pps_extension_flags[i])
307 assert(pps_extension_flags[i]==
false);
319 fprintf( g_hTrace,
"----------- vui_parameters -----------\n");
362 WRITE_FLAG(defaultDisplayWindow.getWindowEnabledFlag(),
"default_display_window_flag");
363 if( defaultDisplayWindow.getWindowEnabledFlag() )
404 if( commonInfPresentFlag )
430 for( i = 0; i <= maxNumSubLayersMinus1; i ++ )
433 Bool fixedPixRateWithinCvsFlag =
true;
439 if( fixedPixRateWithinCvsFlag )
452 for( nalOrVcl = 0; nalOrVcl < 2; nalOrVcl ++ )
497 WRITE_FLAG( conf.getWindowEnabledFlag(),
"conformance_window_flag" );
498 if (conf.getWindowEnabledFlag())
512 const Bool subLayerOrderingInfoPresentFlag = 1;
513 WRITE_FLAG(subLayerOrderingInfoPresentFlag,
"sps_sub_layer_ordering_info_present_flag");
519 if (!subLayerOrderingInfoPresentFlag)
557 WRITE_UVLC(rpsList->getNumberOfReferencePictureSets(),
"num_short_term_ref_pic_sets" );
558 for(
Int i=0; i < rpsList->getNumberOfReferencePictureSets(); i++)
583 Bool sps_extension_present_flag=
false;
592 sps_extension_present_flag|=sps_extension_flags[i];
595 WRITE_FLAG( (sps_extension_present_flag?1:0),
"sps_extension_present_flag" );
597 if (sps_extension_present_flag)
599 #if ENC_DEC_TRACE || RExt__DECODER_DEBUG_BIT_STATISTICS
600 static const TChar *syntaxStrings[]={
"sps_range_extension_flag",
601 "sps_multilayer_extension_flag",
602 "sps_extension_6bits[0]",
603 "sps_extension_6bits[1]",
604 "sps_extension_6bits[2]",
605 "sps_extension_6bits[3]",
606 "sps_extension_6bits[4]",
607 "sps_extension_6bits[5]" };
612 WRITE_FLAG( sps_extension_flags[i]?1:0, syntaxStrings[i] );
617 if (sps_extension_flags[i])
637 assert(sps_extension_flags[i]==
false);
652 WRITE_FLAG( 1,
"vps_base_layer_internal_flag" );
653 WRITE_FLAG( 1,
"vps_base_layer_available_flag" );
658 WRITE_CODE( 0xffff, 16,
"vps_reserved_0xffff_16bits" );
660 const Bool subLayerOrderingInfoPresentFlag = 1;
661 WRITE_FLAG(subLayerOrderingInfoPresentFlag,
"vps_sub_layer_ordering_info_present_flag");
667 if (!subLayerOrderingInfoPresentFlag)
723 xTraceSliceHeader ();
732 Int bitsSliceSegmentAddress = 0;
733 while(maxSliceSegmentAddress>(1<<bitsSliceSegmentAddress))
735 bitsSliceSegmentAddress++;
742 WRITE_FLAG( sliceSegmentRsAddress==0,
"first_slice_segment_in_pic_flag" );
752 if(sliceSegmentRsAddress>0)
754 WRITE_CODE( sliceSegmentRsAddress, bitsSliceSegmentAddress,
"slice_segment_address" );
781 for (
Int picIdx = 0; picIdx < rps->getNumberOfPictures(); picIdx++)
783 assert (!rps->getUsed(picIdx));
789 WRITE_FLAG( 0,
"short_term_ref_pic_set_sps_flag");
794 WRITE_FLAG( 1,
"short_term_ref_pic_set_sps_flag");
807 Int numLtrpInSH = rps->getNumberOfLongtermPictures();
809 Int numLtrpInSPS = 0;
818 for(
Int k = rps->getNumberOfPictures()-1; k > rps->getNumberOfPictures()-rps->getNumberOfLongtermPictures()-1; k--)
822 ltrpInSPS[numLtrpInSPS] = ltrpIndex;
830 numLtrpInSH -= numLtrpInSPS;
832 assert (numLtrpInSH==0 || numLtrpInSPS==0);
834 Int bitsForLtrpInSPS = 0;
841 WRITE_UVLC( numLtrpInSPS,
"num_long_term_sps");
843 WRITE_UVLC( numLtrpInSH,
"num_long_term_pics");
846 Int prevDeltaMSB = 0, prevLSB = 0;
847 Int offset = rps->getNumberOfNegativePictures() + rps->getNumberOfPositivePictures();
851 for(
Int i=rps->getNumberOfPictures()-1 ; i > offset-1; i--, counter++)
853 if (counter < numLtrpInSPS)
855 if (bitsForLtrpInSPS > 0)
857 WRITE_CODE( ltrpInSPS[counter], bitsForLtrpInSPS,
"lt_idx_sps[i]");
863 WRITE_FLAG( rps->getUsed(i),
"used_by_curr_pic_lt_flag");
865 WRITE_FLAG( rps->getDeltaPocMSBPresentFlag(i),
"delta_poc_msb_present_flag");
867 if(rps->getDeltaPocMSBPresentFlag(i))
869 Bool deltaFlag =
false;
871 if( (i == rps->getNumberOfPictures()-1) || (i == rps->getNumberOfPictures()-1-numLtrpInSPS) || (rps->getPocLSBLT(i) != prevLSB) )
877 WRITE_UVLC( rps->getDeltaPocMSBCycleLT(i),
"delta_poc_msb_cycle_lt[i]" );
881 Int differenceInDeltaMSB = rps->getDeltaPocMSBCycleLT(i) - prevDeltaMSB;
882 assert(differenceInDeltaMSB >= 0);
883 WRITE_UVLC( differenceInDeltaMSB,
"delta_poc_msb_cycle_lt[i]" );
885 prevLSB = rps->getPocLSBLT(i);
886 prevDeltaMSB = rps->getDeltaPocMSBCycleLT(i);
909 WRITE_FLAG( overrideFlag ? 1 : 0,
"num_ref_idx_active_override_flag");
938 if (numRpsCurrTempList0 > 1)
941 numRpsCurrTempList0 --;
942 while ( numRpsCurrTempList0 >>= 1)
959 if ( numRpsCurrTempList1 > 1 )
962 numRpsCurrTempList1 --;
963 while ( numRpsCurrTempList1 >>= 1)
987 Bool encCabacInitFlag = (sliceType!=encCABACTableIdx && encCABACTableIdx!=
I_SLICE) ?
true :
false;
989 WRITE_FLAG( encCabacInitFlag?1:0,
"cabac_init_flag" );
1063 WRITE_UVLC(0,
"slice_segment_header_extension_length");
1069 if(profilePresentFlag)
1075 for (
Int i = 0; i < maxNumSubLayersMinus1; i++)
1081 if (maxNumSubLayersMinus1 > 0)
1083 for (
Int i = maxNumSubLayersMinus1; i < 8; i++)
1089 for(
Int i = 0; i < maxNumSubLayersMinus1; i++)
1102 #if ENC_DEC_TRACE || RExt__DECODER_DEBUG_BIT_STATISTICS
1104 #define PTL_TRACE_TEXT(txt) bIsSubLayer?("sub_layer_" txt) : ("general_" txt)
1107 #define PTL_TRACE_TEXT(txt) txt
1113 for(
Int j = 0; j < 32; j++)
1155 #undef PTL_TRACE_TEXT
1173 if ( offset > maxOffset )
1180 UInt offsetLenMinus1 = 0;
1181 while (maxOffset >= (1u << (offsetLenMinus1 + 1)))
1184 assert(offsetLenMinus1 + 1 < 32);
1190 WRITE_UVLC(offsetLenMinus1,
"offset_len_minus1");
1326 iDQp = (iDQp + 78 + qpBdOffsetY + (qpBdOffsetY/2)) % (52 + qpBdOffsetY) - 26 - (qpBdOffsetY/2);
1361 Bool bDenomCoded =
false;
1362 UInt uiTotalSignalledWeightFlags = 0;
1366 for (
Int iNumRef=0 ; iNumRef<iNbRef ; iNumRef++ )
1372 for (
Int iRefIdx=0 ; iRefIdx<pcSlice->
getNumRefIdx(eRefPicList) ; iRefIdx++ )
1384 WRITE_SVLC( iDeltaDenom,
"delta_chroma_log2_weight_denom" );
1388 WRITE_FLAG( wp[
COMPONENT_Y].bPresentFlag, iNumRef==0?
"luma_weight_l0_flag[i]":
"luma_weight_l1_flag[i]" );
1393 for (
Int iRefIdx=0 ; iRefIdx<pcSlice->
getNumRefIdx(eRefPicList) ; iRefIdx++ )
1397 WRITE_FLAG( wp[
COMPONENT_Cb].bPresentFlag, iNumRef==0?
"chroma_weight_l0_flag[i]":
"chroma_weight_l1_flag[i]" );
1402 for (
Int iRefIdx=0 ; iRefIdx<pcSlice->
getNumRefIdx(eRefPicList) ; iRefIdx++ )
1408 WRITE_SVLC( iDeltaWeight, iNumRef==0?
"delta_luma_weight_l0[i]":
"delta_luma_weight_l1[i]" );
1420 WRITE_SVLC( iDeltaWeight, iNumRef==0?
"delta_chroma_weight_l0[i]":
"delta_chroma_weight_l1[i]" );
1423 Int pred = ( range - ( ( range*wp[j].
iWeight)>>(wp[j].uiLog2WeightDenom) ) );
1425 WRITE_SVLC( iDeltaChroma, iNumRef==0?
"delta_chroma_offset_l0[i]":
"delta_chroma_offset_l1[i]" );
1431 assert(uiTotalSignalledWeightFlags<=24);
1448 WRITE_FLAG( scalingListPredModeFlag,
"scaling_list_pred_mode_flag" );
1449 if(!scalingListPredModeFlag)
1486 for(
Int i=0;i<coefNum;i++)
1488 data = src[scan[i]] - nextCoef;
1489 nextCoef = src[scan[i]];
1499 WRITE_SVLC( data,
"scaling_list_delta_coef");
Bool getPCMFilterDisableFlag() const
Bool getOnePictureOnlyConstraintFlag() const
Void codeProfileTier(const ProfileTierLevel *ptl, const Bool bIsSubLayer)
Int getNumberOfPositivePictures() const
Bool getNalHrdParametersPresentFlag() const
Int getNumTileRowsMinus1() const
Bool getPicOutputFlag() const
static const Int MAX_NUM_REF_PICS
max. number of pictures used for reference
Bool getCrossComponentPredictionEnabledFlag() const
Void codeTransformSubdivFlag(UInt uiSymbol, UInt uiCtx)
Int getPicInitQPMinus26() const
UInt getDuCpbRemovalDelayLengthMinus1() const
UInt getNumberOfWrittenBits()
static const Int SCALING_LIST_NUM
list number for quantization matrix
UInt getMaxNuhReservedZeroLayerId() const
SliceType
supported slice type
Bool getFixedPicRateFlag(Int layer) const
Bool getVclHrdParametersPresentFlag() const
UInt getMaxLatencyIncrease(UInt tLayer) const
Bool getPersistentRiceAdaptationEnabledFlag() const
Bool getSPSTemporalMVPEnabledFlag() const
Int getLog2MinCodingBlockSize() const
Bool getUsedByCurrPicLtSPSFlag(Int i) const
Bool getUseStrongIntraSmoothing() const
UInt getCtuTsToRsAddrMap(Int ctuTsAddr) const
UInt getMaxTLayers() const
Int * getScalingListAddress(UInt sizeId, UInt listId)
get matrix coefficient
SliceType getSliceType() const
Void codeMvd(TComDataCU *pcCU, UInt uiAbsPartIdx, RefPicList eRefList)
UInt getCpbSizeValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl) const
Bool getVideoFullRangeFlag() const
Int getNumTileColumnsMinus1() const
UInt getHrdOpSetIdx(UInt i) const
Void printDeltaPOC() const
UInt getNumberOfCtusInFrame() const
UInt getSubstreamSize(Int idx)
Void codeSplitFlag(TComDataCU *pcCU, UInt uiAbsPartIdx, UInt uiDepth)
Bool getCprmsPresentFlag(UInt i) const
Int getUsed(Int bufferNum) const
#define WRITE_CODE(value, length, name)
Int getNumTicksPocDiffOneMinus1() const
const TComPPSRExt & getPpsRangeExtension() const
Bool getLayerIdIncludedFlag(UInt opsIdx, UInt id) const
Bool getTransformSkipContextEnabledFlag() const
Void codeSPS(const TComSPS *pcSPS)
Bool getSliceChromaQpFlag() const
Void codeExplicitRdpcmMode(TComTU &rTu, const ComponentID compID)
static const Int MRG_MAX_NUM_CANDS
MERGE.
const TComSPSRExt & getSpsRangeExtension() const
pure virtual class for basic bit handling
Void xCodePredWeightTable(TComSlice *pcSlice)
Code weighted prediction tables.
UInt getTimeScale() const
UInt getBitDepthConstraint() const
Bool getNeutralChromaIndicationFlag() const
static const Int SCALING_LIST_START_VALUE
start value for dpcm mode
Int getNumExtraSliceHeaderBits() const
UInt getBitsForPOC() const
Void setBitstream(TComBitIf *p)
const ChromaQpAdj & getChromaQpOffsetListEntry(Int cuChromaQpOffsetIdxPlus1) const
Bool getUseChromaQpAdj() const
Bool getCabacInitPresentFlag() const
UInt getNumHrdParameters() const
Bool getScalingListPresentFlag() const
Bool getHrdParametersPresentFlag() const
Void codeAUD(TComBitIf &bs, const Int pictureType)
Bool getMvdL1ZeroFlag() const
static Int getWinUnitY(Int chromaFormatIdc)
Void resetEntropy(const TComSlice *pSlice)
Void codeIntraDirChroma(TComDataCU *pcCU, UInt uiAbsPartIdx)
Void codePredMode(TComDataCU *pcCU, UInt uiAbsPartIdx)
Int getMaxBytesPerPicDenom() const
Void xCodeScalingList(const TComScalingList *scalingList, UInt sizeId, UInt listId)
UInt getPCMLog2MaxSize() const
Bool getRestrictedRefPicListsFlag() const
Int getMaxBitsPerMinCuDenom() const
const TComRPSList * getRPSList() const
Bool getNonPackedConstraintFlag() const
Int getDeblockingFilterBetaOffsetDiv2() const
UInt getMaxCUHeight() const
Void codeSliceHeader(TComSlice *pcSlice)
Bool getLowDelayHrdFlag(Int layer) const
UInt getMaxDecPicBuffering(UInt tlayer) const
Int getLog2MaxMvLengthVertical() const
UInt getDuCpbSizeValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl) const
Int getTransferCharacteristics() const
TComRefPicListModification * getRefPicListModification()
Bool getPPSDeblockingFilterDisabledFlag() const
get offset for deblocking filter disabled
Void codeChromaQpAdjustment(TComDataCU *pcCU, UInt uiAbsPartIdx)
Reference Picture Lists class.
Window & getDefaultDisplayWindow()
UInt getLog2MaxTransformSkipBlockSize() const
Int getDeblockingFilterTcOffsetDiv2() const
Bool settingsDifferFromDefaults() const
ChromaFormat getChromaFormatIdc() const
Int getScalingListDC(UInt sizeId, UInt listId) const
get DC value
Bool getMotionVectorsOverPicBoundariesFlag() const
Bool getTransquantBypassEnabledFlag() const
Int getChromaQpOffsetListLen() const
Int getNumRefIdx(RefPicList e) const
Level::Tier getTierFlag() const
ProfileTierLevel * getSubLayerPTL(Int i)
Int getChromaSampleLocTypeBottomField() const
UInt getTileRowHeight(UInt rowIdx) const
Bool getSubLayerProfilePresentFlag(Int i) const
Bool getRefPicListModificationFlagL1() const
Bool getFrameOnlyConstraintFlag() const
static const Int MAX_VPS_NUM_HRD_PARAMETERS
Bool getSaoEnabledFlag(ChannelType chType) const
Bool getLongTermRefsPresent() const
Bool getInterlacedSourceFlag() const
Bool getSignDataHidingEnabledFlag() const
TComVUI * getVuiParameters()
UInt getDiffCuChromaQpOffsetDepth() const
Bool getTilesEnabledFlag() const
Void xWriteRbspTrailingBits()
#define WRITE_FLAG(value,name)
Void codeVPS(const TComVPS *pcVPS)
Int getRefIdc(Int bufferNum) const
get the reference idc value at uiBufferNum
Void xWriteSvlc(Int iCode)
Int getDeltaRIdxMinus1() const
UInt getLtRefPicPocLsbSps(UInt index) const
Bool getFieldSeqFlag() const
Bool getDependentSliceSegmentFlag() const
Void codeTilesWPPEntryPoint(TComSlice *pSlice)
Void codeScalingList(const TComScalingList &scalingList)
ProfileTierLevel * getGeneralPTL()
Bool getListsModificationPresentFlag() const
Bool getLoopFilterAcrossSlicesEnabledFlag() const
UInt getNumRefIdxL1DefaultActive() const
Bool getTilesFixedStructureFlag() const
Void codeTerminatingBit(UInt uilsLast)
UInt getMaxOpSets() const
ChromaFormat getChromaFormatConstraint() const
UInt getMaxNumMergeCand() const
Bool getTemporalIdNestingFlag() const
Bool getSubLayerLevelPresentFlag(Int i) const
Int getMinSpatialSegmentationIdc() const
Int getQpBDOffset(ChannelType type) const
TComScalingList & getScalingList()
Bool getScalingListPredModeFlag(UInt sizeId, UInt listId) const
UInt getLog2SaoOffsetScale(ChannelType type) const
Bool getUseTransformSkip() const
const TComReferencePictureSet * getRPS()
Bool getLowerBitRateConstraintFlag() const
Bool getSubPicCpbParamsPresentFlag() const
Void codeIntraDirLumaAng(TComDataCU *pcCU, UInt absPartIdx, Bool isMultiple)
static const Int MAX_MATRIX_COEF_NUM
max coefficient number for quantization matrix
Bool getRefPicListModificationFlagL0() const
Bool getProgressiveSourceFlag() const
Bool getColourDescriptionPresentFlag() const
Void codeCoeffNxN(TComTU &rTu, TCoeff *pcCoef, const ComponentID compID)
UInt getQuadtreeTUMaxDepthIntra() const
Bool getSubPicCpbParamsInPicTimingSEIFlag() const
Bool getOverscanInfoPresentFlag() const
UInt getCpbSizeScale() const
UInt getPicHeightInLumaSamples() const
Bool getCbrFlag(Int layer, Int cpbcnt, Int nalOrVcl) const
TimingInfo * getTimingInfo()
UInt getNumberOfSubstreamSizes()
Int getDeltaPOC(Int bufferNum) const
UInt getPCMLog2MinSize() const
Int getMatrixCoefficients() const
Int getAspectRatioIdc() const
Bool getPocProportionalToTimingFlag() const
Bool getTransformSkipRotationEnabledFlag() const
UInt getMaxLatencyIncreasePlus1(UInt tlayer) const
Reference Picture Set set class.
UInt * g_scanOrder[SCAN_NUMBER_OF_GROUP_TYPES][SCAN_NUMBER_OF_TYPES][MAX_CU_DEPTH][MAX_CU_DEPTH]
Bool getFrameFieldInfoPresentFlag() const
Int getBitDepth(ChannelType type) const
Bool getTemporalNestingFlag() const
Int TCoeff
transform coefficient
Void codeInterDir(TComDataCU *pcCU, UInt uiAbsPartIdx)
Bool getLFCrossSliceBoundaryFlag()
UInt getNumLongTermRefPicSPS() const
RefPicList
reference list index
Bool getColFromL0Flag() const
Bool getEnableTMVPFlag() const
Bool getCabacBypassAlignmentEnabledFlag() const
Int getProfileSpace() const
const TComPTL * getPTL() const
UInt getMaxCuDQPDepth() const
Void getWpScaling(RefPicList e, Int iRefIdx, WPScalingParam *&wp)
get tables for weighted prediction
ChromaFormat
chroma formats (according to semantics of chroma_format_idc)
Void codeShortTermRefPicSet(const TComReferencePictureSet *pcRPS, Bool calledFromSliceHeader, Int idx)
UInt getInitialCpbRemovalDelayLengthMinus1() const
Bool getTimingInfoPresentFlag() const
UInt getQuadtreeTULog2MinSize() const
UInt getDpbOutputDelayLengthMinus1() const
Void codeHrdParameters(const TComHRD *hrd, Bool commonInfPresentFlag, UInt maxNumSubLayersMinus1)
UInt getSliceSegmentCurStartCtuTsAddr() const
COEFF_SCAN_TYPE
coefficient scanning type used in ACS
Bool getNoOutputPriorPicsFlag() const
const UInt g_scalingListSize[SCALING_LIST_SIZE_NUM]
Void codeInterModeFlag(TComDataCU *pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiEncMode)
Bool getAspectRatioInfoPresentFlag() const
UInt getNumRefIdxL0DefaultActive() const
const TComPPS * getPPS() const
Int getDeblockingFilterBetaOffsetDiv2() const
get beta offset for deblocking filter
UInt getPicWidthInLumaSamples() const
Void codePartSize(TComDataCU *pcCU, UInt uiAbsPartIdx, UInt uiDepth)
Bool getIdrPicFlag() const
Int getLog2MaxMvLengthHorizontal() const
UInt getTileColumnWidth(UInt columnIdx) const
Profile::Name getProfileIdc() const
Level::Name getLevelIdc() const
ChromaFormat getChromaFormat() const
Void codePPS(const TComPPS *pcPPS)
Bool getProfileCompatibilityFlag(Int i) const
Bool getIntraSmoothingDisabledFlag() const
Bool getScalingListPresentFlag() const
#define PTL_TRACE_TEXT(txt)
Bool getDeblockingFilterControlPresentFlag() const
Bool getEntropyCodingSyncEnabledFlag() const
TimingInfo * getTimingInfo()
Int getLog2DiffMaxMinCodingBlockSize() const
Bool getVideoSignalTypePresentFlag() const
UInt getCpbRemovalDelayLengthMinus1() const
Void codeRefFrmIdx(TComDataCU *pcCU, UInt uiAbsPartIdx, RefPicList eRefList)
Bool getScalingListFlag() const
Void setCabacInitFlag(Bool val)
set CABAC initial flag
Int getVideoFormat() const
Int getNumberOfReferencePictureSets() const
UInt getDpbOutputDelayDuLengthMinus1() const
Void codeTransformSkipFlags(TComTU &rTu, ComponentID component)
Int getColourPrimaries() const
Bool getFixedPicRateWithinCvsFlag(Int layer) const
Void estBit(estBitsSbacStruct *pcEstBitsSbac, Int width, Int height, ChannelType chType, COEFF_SCAN_TYPE scanType)
Int getNumberOfNegativePictures() const
SliceType getEncCABACTableIdx() const
Bool getRdpcmEnabledFlag(const RDPCMSignallingMode signallingMode) const
Bool getDependentSliceSegmentsEnabledFlag() const
Int getQpOffset(ComponentID compID) const
static Int getWinUnitX(Int chromaFormatIdc)
UInt getDuBitRateValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl) const
Void codeSkipFlag(TComDataCU *pcCU, UInt uiAbsPartIdx)
UInt getBitRateValueMinus1(Int layer, Int cpbcnt, Int nalOrVcl) const
UInt getMaxDecPicBuffering(UInt tLayer) const
Bool getSliceHeaderExtensionPresentFlag() const
UInt getRefPicSetIdxL1(UInt idx) const
Void codeDeltaQP(TComDataCU *pcCU, UInt uiAbsPartIdx)
Void codeCrossComponentPrediction(TComTU &rTu, ComponentID compID)
UInt getLog2ParallelMergeLevelMinus2() const
Bool getChromaLocInfoPresentFlag() const
#define WRITE_SVLC(value,name)
TComScalingList & getScalingList()
Window & getConformanceWindow()
Void codeMVPIdx(TComDataCU *pcCU, UInt uiAbsPartIdx, RefPicList eRefList)
Void codeVUI(const TComVUI *pcVUI, const TComSPS *pcSPS)
Bool getBitstreamRestrictionFlag() const
UInt getPCMBitDepth(ChannelType type) const
Void codeIPCMInfo(TComDataCU *pcCU, UInt uiAbsPartIdx)
Void codeCUTransquantBypassFlag(TComDataCU *pcCU, UInt uiAbsPartIdx)
UInt getQuadtreeTULog2MaxSize() const
UInt getMaxTLayers() const
Bool settingsDifferFromDefaults(const bool bTransformSkipEnabledFlag) const
Int getNumRpsCurrTempList() const
Int getSliceChromaQpDelta(ComponentID compID) const
Bool getRapPicFlag() const
Bool getTileUniformSpacingFlag() const
UInt getCpbCntMinus1(Int layer) const
Bool getLoopFilterAcrossTilesEnabledFlag() const
Void codeMergeFlag(TComDataCU *pcCU, UInt uiAbsPartIdx)
UInt getNumReorderPics(UInt tLayer) const
UInt getPicDurationInTcMinus1(Int layer) const
#define WRITE_UVLC(value,name)
SChar getRefQP(UInt uiCurrAbsIdxInCtu) const
Bool getDeblockingFilterOverrideFlag() const
Bool getConstrainedIntraPred() const
CAVLC encoder class (header)
Bool getChromaQpOffsetListEnabledFlag() const
UInt getColRefIdx() const
Bool getInterRPSPrediction() const
Void codeQtRootCbf(TComDataCU *pcCU, UInt uiAbsPartIdx)
Void codeQtCbf(TComTU &rTu, const ComponentID compID, const Bool lowestLevel)
UInt getQuadtreeTUMaxDepthInter() const
Bool getOverscanAppropriateFlag() const
Reference Picture Set class.
Bool getDeblockingFilterDisable() const
Void setNumRefIdx(RefPicList e, Int i)
TComHRD * getHrdParameters(UInt i)
Void codeMergeIndex(TComDataCU *pcCU, UInt uiAbsPartIdx)
static const Int MAX_VPS_NUH_RESERVED_ZERO_LAYER_ID_PLUS1
Void codePTL(const TComPTL *pcPTL, Bool profilePresentFlag, Int maxNumSubLayersMinus1)
Int getDeblockingFilterTcOffsetDiv2() const
get tc offset for deblocking filter
Bool getIntraConstraintFlag() const
UInt getNumUnitsInTick() const
UInt getDuCpbSizeScale() const
Int getChromaSampleLocTypeTopField() const
Bool getDeblockingFilterOverrideEnabledFlag() const
UInt getRefMatrixId(UInt sizeId, UInt listId) const
get reference matrix ID
TComHRD * getHrdParameters()
Bool getVuiParametersPresentFlag() const
Bool getExtendedPrecisionProcessingFlag() const
Int getNumReorderPics(UInt tlayer) const
UInt getRefPicSetIdxL0(UInt idx) const
UInt getMaxCUWidth() const
UInt getBitRateScale() const
Bool getOutputFlagPresentFlag() const
Bool findMatchingLTRP(TComSlice *pcSlice, UInt *ltrpsIndex, Int ltrpPOC, Bool usedFlag)
Void codeQtCbfZero(TComTU &rTu, const ChannelType chType)
const TComSPS * getSPS() const
Bool getHighPrecisionOffsetsEnabledFlag() const
struct ChromaQpAdj::@2::@3 comp
UInt getTickDivisorMinus2() const