本文整理汇总了C++中SliceHeader::getNumRefIdxActive方法的典型用法代码示例。如果您正苦于以下问题:C++ SliceHeader::getNumRefIdxActive方法的具体用法?C++ SliceHeader::getNumRefIdxActive怎么用?C++ SliceHeader::getNumRefIdxActive使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SliceHeader
的用法示例。
在下文中一共展示了SliceHeader::getNumRefIdxActive方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ROTRS
// JVT-V043 and some cleanup
ErrVal
RecPicBuffer::getRefLists( RefFrameList& rcList0,
RefFrameList& rcList1,
SliceHeader& rcSliceHeader,
QuarterPelFilter* pcQuarterPelFilter)
{
//===== clear lists =====
RefFrameList rcListTemp0, rcListTemp1;
rcList0.reset();
rcList1.reset();
ROTRS( rcSliceHeader.isIntra(), Err::m_nOK );
PicType ePicType = rcSliceHeader.getPicType();
if( rcSliceHeader.isInterP() )
{
RNOK( xInitRefListPSlice ( rcListTemp0 , ePicType, rcSliceHeader.getNalRefIdc()>0) );
ProcessRef(rcSliceHeader,rcList0,rcListTemp0,pcQuarterPelFilter);//lufeng
AddMultiviewRef (m_cUsedRecPicBufUnitList, rcList0, rcSliceHeader.getNumRefIdxActive(LIST_0), FORWARD, rcSliceHeader, pcQuarterPelFilter);//JVT-W056 Samsung
RNOK( xRefListRemapping ( rcList0, LIST_0, &rcSliceHeader ) );
RNOK( xAdaptListSize ( rcList0, LIST_0, rcSliceHeader ) );
RNOK( xDumpRefList ( rcList0, LIST_0 ) );
}
else // rcSliceHeader.isInterB()
{
RNOK( xInitRefListsBSlice ( rcListTemp0, rcListTemp1 , ePicType , rcSliceHeader.getNalRefIdc()>0) );
ProcessRef(rcSliceHeader,rcList0,rcListTemp0,pcQuarterPelFilter);//lufeng
ProcessRef(rcSliceHeader,rcList1,rcListTemp1,pcQuarterPelFilter);//lufeng
AddMultiviewRef(m_cUsedRecPicBufUnitList, rcList0, rcSliceHeader.getNumRefIdxActive(LIST_0), FORWARD, rcSliceHeader, pcQuarterPelFilter);//JVT-W056 Samsung
AddMultiviewRef(m_cUsedRecPicBufUnitList, rcList1, rcSliceHeader.getNumRefIdxActive(LIST_1), BACKWARD, rcSliceHeader, pcQuarterPelFilter);//JVT-W056 Samsung
RNOK( xRefListRemapping ( rcList0, LIST_0, &rcSliceHeader ) );
RNOK( xRefListRemapping ( rcList1, LIST_1, &rcSliceHeader ) );
RNOK( xAdaptListSize ( rcList0, LIST_0, rcSliceHeader ) );
RNOK( xAdaptListSize ( rcList1, LIST_1, rcSliceHeader ) );
RNOK( xDumpRefList ( rcList0, LIST_0 ) );
RNOK( xDumpRefList ( rcList1, LIST_1 ) );
}
return Err::m_nOK;
}
示例2: min
ErrVal
RecPicBuffer::xAdaptListSize( RefFrameList& rcList,
ListIdx eListIdx,
SliceHeader& rcSliceHeader )
{
UInt uiDefaultListSize = rcSliceHeader.getNumRefIdxActive( eListIdx );
UInt uiMaximumListSize = rcList.getActive();
UInt uiCurrentListSize = min( uiDefaultListSize, uiMaximumListSize );
//===== update slice header =====
rcList. setActive ( uiCurrentListSize );
rcSliceHeader.setNumRefIdxActive( eListIdx, uiCurrentListSize );
if( uiCurrentListSize != rcSliceHeader.getPPS().getNumRefIdxActive( eListIdx ) )
{
rcSliceHeader.setNumRefIdxActiveOverrideFlag( true );
}
return Err::m_nOK;
}