Configuration Parameter Constraints#

The mfxFrameInfo structure is used by both the mfxVideoParam structure during oneVPL class initialization and the mfxFrameSurface1 structure during the actual oneVPL class operation. 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

Use During Initialization

Use During 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

Use During Initialization

Use During 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

Use During Initialization

Use During 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 (may be 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

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 Initialization

During 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 following Configuration Parameters tables summarize how to specify the configuration parameters during initialization, encoding, decoding, and video processing.

mfxVideoParam Configuration Parameters#
Structure
(param)
ENCODE
Init
ENCODE
Encoding
DECODE
Init
DECODE
Decoding
VPP
Init
VPP
Processing

Protected

R

R

R

IOPattern

M

M

M

ExtParam

O

O

O

NumExtParam

O

O

O

mfxInfoMFX Configuration Parameters#
Structure
(param)
ENCODE
Init
ENCODE
Encoding
DECODE
Init
DECODE
Decoding
VPP
Init
VPP
Processing

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 Configuration Parameters#
Structure
(param)
ENCODE
Init
ENCODE
Encoding
DECODE
Init
DECODE
Decoding
VPP
Init
VPP
Processing

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

Abbreviations used in configuration parameter tables#

Abbreviation

Meaning

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 does not explicitly set CodecProfile during initialization, the HEVC decoder will use a profile up to Main10.