Configuration Parameter Constraints

The mfxFrameInfo structure is used by both the mfxVideoParam structure during SDK class initialization and the mfxFrameSurface1 structure during the actual SDK class function. The parameter constraints described in the following tables apply.

DECODE, ENCODE, and VPP Constraints

The DECODE, ENCODE, and VPP Constraints table lists parameter constraints common to DECODE, ENCODE, and VPP.

DECODE, ENCODE, and VPP Constraints

Parameters

During SDK Initialization

During SDK Operation

FourCC

Any valid value

The value must be the same as the initialization value. The only exception is VPP in composition mode, where in some cases it is allowed to mix RGB and NV12 surfaces. See mfxExtVPPComposite for more details.

ChromaFormat

Any valid value

The value must be the same as the initialization value.

DECODE Constraints

The DECODE Constraints table lists DECODE parameter constraints.

DECODE Constraints

Parameters

During SDK initialization

During SDK operation

Width

Height

Aligned frame size

The values must be the equal to or larger than the initialization values.

CropX, CropY

CropW, CropH

Ignored

DECODE output. The cropping values are per-frame based.

AspectRatioW

AspectRatioH

Any valid values or unspecified (zero); if unspecified, values from the input bitstream will be used. See note below the table.

DECODE output.

FrameRateExtN

FrameRateExtD

If unspecified, values from the input bitstream will be used. See note below the table.

DECODE output.

PicStruct

Ignored

DECODE output.

Note

If the application explicitly sets FrameRateExtN/FrameRateExtD or AspectRatioW/AspectRatioH during initialization, then the decoder will use these values during decoding regardless of the values from bitstream and does not update them on new SPS. If the application sets them to 0, then the decoder uses values from the stream and updates them on each SPS.

ENCODE Constraints

The ENCODE Constraints table lists ENCODE parameter constraints.

ENCODE Constraints

Parameters

During SDK initialization

During SDK operation

Width

Height

Encoded frame size

The values must be the equal to or larger than the initialization values.

CropX, CropY

CropW, CropH

H.264: Cropped frame size MPEG-2: CropW and CropH

Specify the real width and height (maybe unaligned) of the coded frames. CropX and CropY must be zero.

Ignored

AspectRatioW

AspectRatioH

Any valid values

Ignored

FrameRateExtN

FrameRateExtD

Any valid values

Ignored

PicStruct

MFX_PICSTRUCT_UNKNOWN

MFX_PICSTRUCT_PROGRESSIVE

MFX_PICSTRUCT_FIELD_TFF

MFX_PICSTRUCT_FIELD_BFF

The base value must be the same as the initialization value unless MFX_PICSTRUCT_UNKNOWN is specified during initialization. Add other decorative picture structure flags to indicate additional display attributes. Use MFX_PICSTRUCT_UNKNOWN during initialization for field attributes and MFX_PICSTRUCT_PROGRESSIVE for frame attributes. See the PicStruct enumerator for details.

VPP Constraints

The VPP Constraints table lists VPP parameter constraints.

VPP Constraints

Parameters

During SDK initialization

During SDK operation

Width, Height

Any valid values

The values must be the equal to or larger than the initialization values.

CropX, CropY,
CropW, CropH

Ignored

These parameters specify the region of interest from input to output.

AspectRatioW
AspectRatioH

Ignored

Aspect ratio values will be passed through from input to output.

FrameRateExtN
FrameRateExtD

Any valid values

Frame rate values will be updated with the initialization value at output.

PicStruct

The base value must be the same as the initialization value unless MFX_PICSTRUCT_UNKNOWN is specified during initialization. Other decorative picture structure flags are passed through or added as needed. See the PicStruct enumerator for details.

Specifying Configuration Parameters

The Configuration Parameters table summarizes how to specify the configuration parameters during initialization, encoding, decoding, and video processing.

Configuration Parameters

Structure (param)

ENCODE Init

ENCODE Encoding

DECODE Init

DECODE Decoding

VPP Init

VPP Processing

mfxVideoParam

Protected

R

R

R

IOPattern

M

M

M

ExtParam

O

O

O

NumExtParam

O

O

O

mfxInfoMFX

CodecId

M

M

CodecProfile

O

O/M*

CodecLevel

O

O

NumThread

O

O

TargetUsage

O

GopPicSize

O

GopRefDist

O

GopOptFlag

O

IdrInterval

O

RateControlMethod

O

InitialDelayInKB

O

BufferSizeInKB

O

TargetKbps

M

MaxKbps

O

NumSlice

O

NumRefFrame

O

EncodedOrder

M

mfxFrameInfo

FourCC

M

M

M

M

M

M

Width

M

M

M

M

M

M

Height

M

M

M

M

M

M

CropX

M

Ign

Ign

U

Ign

M

CropY

M

Ign

Ign

U

Ign

M

CropW

M

Ign

Ign

U

Ign

M

CropH

M

Ign

Ign

U

Ign

M

FrameRateExtN

M

Ign

O

U

M

U

FrameRateExtD

M

Ign

O

U

M

U

AspectRatioW

O

Ign

O

U

Ign

PT

AspectRatioH

O

Ign

O

U

Ign

PT

PicStruct

O

M

Ign

U

M

M/U

ChromaFormat

M

M

M

M

Ign

Ign

Legend for the Configuration Parameters table:

Remarks

Ign

Ignored

PT

Pass Through

Does Not Apply

M

Mandated

R

Reserved

O

Optional

U

Updated at output

Note

CodecProfile is mandated for HEVC REXT and SCC profiles and optional for other cases. If the application doesn’t explicitly set CodecProfile during initialization, the HEVC decoder will use a profile up to Main10.