typedef struct {

    mfxExtBuffer    Header;

    mfxU32  reserved[5];

    mfxU16  SkipFrame;


    mfxU16  QP;


    mfxU16  FrameType;

    mfxU16  NumExtParam;

    mfxU16  NumPayload;

    mfxU16  reserved2;


    mfxExtBuffer    **ExtParam;

    mfxPayload      **Payload;

} mfxEncodeCtrl;


      The mfxEncodeCtrl structure contains parameters for per-frame based encoding control.




Indicates that current frame should be skipped or number of missed frames before the current frame. See the mfxExtCodingOption2::SkipFrame for details.



If nonzero, this value overwrites the global QP value for the current frame in the constant QP mode.



Encoding frame type; see the FrameType enumerator for details. If the encoder works in the encoded order, the application must specify the frame type. If the encoder works in the display order, only key frames are enforceable.



Number of extra control buffers.



Number of payload records to insert into the bitstream.



Pointer to an array of pointers to external buffers that provide additional information or control to the encoder for this frame or field pair; a typical usage is to pass the VPP auxiliary data generated by the video processing pipeline to the encoder. See the ExtendedBufferID for the list of extended buffers.



Pointer to an array of pointers to user data (MPEG-2) or SEI messages (H.264) for insertion into the bitstream; for field pictures, odd payloads are associated with the first field and even payloads are associated with the second field. See the mfxPayload structure for payload definitions.

Change History



This structure is available since SDK API 1.0. SDK API 1.1 extended the QP field. Since SDK API 1.3 specification of QP in display order mode is allowed.





For more complete information about compiler optimizations, see our Optimization Notice.