mfxExtAVCRefListCtrl

Definition

 

 

typedef struct {

    mfxExtBuffer    Header;

    mfxU16          NumRefIdxL0Active;

    mfxU16          NumRefIdxL1Active;

 

    struct {

        mfxU32      FrameOrder;

        mfxU16      PicStruct;

        mfxU16      ViewId;

        mfxU16      LongTermIdx;

        mfxU16      reserved[3];

    } PreferredRefList[32], RejectedRefList[16], LongTermRefList[16];

 

    mfxU16      ApplyLongTermIdx;

    mfxU16      reserved[15];

} mfxExtAVCRefListCtrl;

 

Description

 

 

The mfxExtAVCRefListCtrl structure configures reference frame options for the H.264 encoder. See Reference List Selection and Long-term Reference frame chapters for more details.

Not all implementations of the SDK encoder support LongTermIdx and ApplyLongTermIdx fields in this structure. The application has to use query mode 1 to determine if such functionality is supported. To do so, the application has to attach this extended buffer to mfxVideoParam structure and call MFXVideoENCODE_Query function. If function returns MFX_ERR_NONE and these fields were set to one, then such functionality is supported. If function fails or sets fields to zero then this functionality is not supported.

 

Members

 

 

Header.BufferId

Must be MFX_EXTBUFF_AVC_REFLIST_CTRL

 

 

NumRefIdxL0Active

Specify the number of reference frames in the active reference list L0. This number should be less or equal to the NumRefFrame parameter from encoding initialization.

 

 

NumRefIdxL1Active

Specify the number of reference frames in the active reference list L1. This number should be less or equal to the NumRefFrame parameter from encoding initialization.

 

 

PreferredRefList

Specify list of frames that should be used to predict the current frame.

 

 

RejectedRefList

Specify list of frames that should not be used for prediction.

 

 

LongTermRefList

Specify list of frames that should be marked as long-term reference frame.

 

 

FrameOrder

PicStruct

Together these fields are used to identify reference picture. Use FrameOrder = MFX_FRAMEORDER_UNKNOWN to mark unused entry.

 

 

ViewID

Reserved and must be zero.

 

 

LongTermIdx

Index that should be used by the SDK encoder to mark long-term reference frame.

 

 

ApplyLongTermIdx

If it is equal to zero, the SDK encoder assigns long-term index according to internal algorithm. If it is equal to one, the SDK encoder uses LongTermIdx value as long-term index.

 

Change History

 

This structure is available since SDK API 1.3.

The SDK API 1.7 adds LongTermIdx and ApplyLongTermIdx fields.