mfxExtCodingOption

Definition

 

 

typedef struct {

      mfxExtBuffer      Header;

 

      mfxU16            reserved1;

      mfxU16            RateDistortionOpt;

      mfxU16            MECostType;

      mfxU16            MESearchType;

      mfxI16Pair        MVSearchWindow;

      mfxU16            EndOfSequence;

      mfxU16            FramePicture;

 

      union {

            struct      {     /* AVC */

                  mfxU16      CAVLC;

                  mfxU16      reserved2[2];

                  mfxU16      RecoveryPointSEI;

                  mfxU16      ViewOutput;

                  mfxU16      NalHrdConformance;

                  mfxU16      SingleSeiNalUnit;

                  mfxU16      VuiVclHrdParameters;

                  mfxU16      RefPicListReordering;

                  mfxU16      ResetRefList;

                  mfxU16      RefPicMarkRep;

                  mfxU16      FieldOutput;

                  mfxU16      IntraPredBlockSize;

                  mfxU16      InterPredBlockSize;

                  mfxU16      MVPrecision;

                  mfxU16      MaxDecFrameBuffering;

                  mfxU16      AUDelimiter;

                  mfxU16      EndOfStream;

                  mfxU16      PicTimingSEI;

                  mfxU16      VuiNalHrdParameters;

            };

      };

} mfxExtCodingOption;

 

Description

 

 

The mfxExtCodingOption structure specifies additional options for encoding.

The application can attach this extended buffer to the mfxVideoParam structure to configure initialization.

 

Members

 

 

Header.BufferId

Must be MFX_EXTBUFF_CODING_OPTION

 

 

RateDistortionOpt

Set this flag if rate distortion optimization is needed. See the CodingOptionValue enumerator for values of this option.

 

 

MECostType

Motion estimation cost type; this value is reserved and must be zero.

 

 

MESearchType

Motion estimation search algorithm; this value is reserved and must be zero.

 

 

MVSearchWindow

Rectangular size of the search window for motion estimation; this parameter is reserved and must be (0, 0).

 

 

EndOfSequence

Deprecated.

 

 

CAVLC

If set, CAVLC is used; if unset, CABAC is used for encoding. See the CodingOptionValue enumerator for values of this option.

 

 

NalHrdConformance

If this option is turned ON, then AVC encoder produces HRD conformant bitstream. If it is turned OFF, then AVC encoder may, but not necessary does, violate HRD conformance. I.e. this option can force encoder to produce HRD conformant stream, but cannot force it to produce unconformant stream.

See the CodingOptionValue enumerator for values of this option.

 

 

SingleSeiNalUnit

If set, encoder puts all SEI messages in the singe NAL unit. It includes both kinds of messages, provided by application and created by encoder. It is three states option, see CodingOptionValue enumerator for values of this option:

UNKNOWN - put each SEI in its own NAL unit,

ON - put all SEI messages in the same  NAL unit,

OFF - the same as unknown

 

 

VuiVclHrdParameters

If set and VBR rate control method is used then VCL HRD parameters are written in bitstream with identical to NAL HRD parameters content. See the CodingOptionValue enumerator for values of this option.

 

 

RefPicListReordering

Set this flag to activate reference picture list reordering; this value is reserved and must be zero.

 

 

ResetRefList

Set this flag to reset the reference list to non-IDR I-frames of a GOP sequence. See the CodingOptionValue enumerator for values of this option.

 

 

RefPicMarkRep

Set this flag to write the reference picture marking repetition SEI message into the output bitstream. See the CodingOptionValue enumerator for values of this option.

 

 

FieldOutput

Set this flag to instruct the AVC encoder to output bitstreams immediately after the encoder encodes a field, in the field-encoding mode. See the CodingOptionValue enumerator for values of this option.

 

 

ViewOutput

Set this flag to instruct the MVC encoder to output each view in separate bitstream buffer. See the CodingOptionValue enumerator for values of this option and SDK Reference Manual for Multi-View Video Coding for more details about usage of this flag.

 

 

IntraPredBlockSize

Minimum block size of intra-prediction; This value is reserved and must be zero.

 

 

InterPredBlockSize

Minimum block size of inter-prediction; This value is reserved and must be zero.

 

 

MVPrecision

Specify the motion estimation precision; this parameter is reserved and must be zero.

 

 

MaxDecFrameBuffering

Specifies the maximum number of frames buffered in a DPB. A value of zero means “unspecified.”

 

 

AUDelimiter

Set this flag to insert the Access Unit Delimiter NAL. See the CodingOptionValue enumerator for values of this option.

 

 

EndOfStream

Deprecated.

 

 

PicTimingSEI

Set this flag to insert the picture timing SEI with pic_struct syntax element. See sub-clauses D.1.2 and D.2.2 of the ISO*/IEC* 14496-10 specification for the definition of this syntax element. See the CodingOptionValue enumerator for values of this option. The default value is ON.

 

 

VuiNalHrdParameters

Set this flag to insert NAL HRD parameters in the VUI header. See the CodingOptionValue enumerator for values of this option.

 

 

FramePicture

Set this flag to encode interlaced fields as interlaced frames; this flag does not affect progressive input frames. See the CodingOptionValue enumerator for values of this option.

 

 

RecoveryPointSEI

Set this flag to insert the recovery point SEI message at the beginning of every intra refresh cycle. See the description of IntRefType in mfxExtCodingOption2 structure for details on how to enable and configure intra refresh.

If intra refresh is not enabled then this flag is ignored.

See the CodingOptionValue enumerator for values of this option.

 

Change History

 

This structure is available since SDK API 1.0.

SDK API 1.3 adds RefPicMarkRep, FieldOutput, NalHrdConformance, SingleSeiNalUnit and VuiVclHrdParameters fields.

SDK API 1.4 adds ViewOutput field.

SDK API 1.6 adds RecoveryPointSEI field.

SDK API 1.17 deprecates EndOfSequence and EndOfStream fields.

 

 

 

 

 

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