Contents

Enumerator Reference

Angle

The Angle enumerator itemizes valid rotation angles.

enumerator MFX_ANGLE_0

0 degrees.

enumerator MFX_ANGLE_90

90 degrees.

enumerator MFX_ANGLE_180

180 degrees.

enumerator MFX_ANGLE_270

270 degrees.

BitstreamDataFlag

The BitstreamDataFlag enumerator uses bit-ORed values to itemize additional information about the bitstream buffer.

enumerator MFX_BITSTREAM_NO_FLAG

The bitstream doesn’t contain any flags.

enumerator MFX_BITSTREAM_COMPLETE_FRAME

The bitstream buffer contains a complete frame or complementary field pair of data for the bitstream. For decoding, this means that the decoder can proceed with this buffer without waiting for the start of the next frame, which effectively reduces decoding latency. If this flag is set, but the bitstream buffer contains incomplete frame or pair of field, then decoder will produce corrupted output.

enumerator MFX_BITSTREAM_EOS

The bitstream buffer contains the end of the stream. For decoding, this means that the application does not have any additional bitstream data to send to decoder.

BPSEIControl

The BPSEIControl enumerator is used to control insertion of buffering period SEI in the encoded bitstream.

enumerator MFX_BPSEI_DEFAULT

encoder decides when to insert BP SEI.

enumerator MFX_BPSEI_IFRAME

BP SEI should be inserted with every I-frame

BRCStatus

The BRCStatus enumerator itemizes instructions to the encoder by mfxExtBrc::Update.

enumerator MFX_BRC_OK

CodedFrameSize is acceptable, no further recoding/padding/skip required, proceed to next frame.

enumerator MFX_BRC_BIG_FRAME

Coded frame is too big, recoding required.

enumerator MFX_BRC_SMALL_FRAME

Coded frame is too small, recoding required.

enumerator MFX_BRC_PANIC_BIG_FRAME

Coded frame is too big, no further recoding possible - skip frame.

enumerator MFX_BRC_PANIC_SMALL_FRAME

Coded frame is too small, no further recoding possible - required padding to mfxBRCFrameStatus::MinFrameSize.

BRefControl

The BRefControl enumerator is used to control usage of B frames as reference in AVC encoder.

enumerator MFX_B_REF_UNKNOWN

Default value, it is up to the encoder to use B-frames as reference.

enumerator MFX_B_REF_OFF

Do not use B-frames as reference.

enumerator MFX_B_REF_PYRAMID

Arrange B-frames in so-called “B pyramid” reference structure.

ChromaFormateIdc

The ChromaFormatIdc enumerator itemizes color-sampling formats.

enumerator MFX_CHROMAFORMAT_MONOCHROME

Monochrome.

enumerator MFX_CHROMAFORMAT_YUV420

4:2:0 color.

enumerator MFX_CHROMAFORMAT_YUV422

4:2:2 color.

enumerator MFX_CHROMAFORMAT_YUV444

4:4:4 color.

enumerator MFX_CHROMAFORMAT_YUV400

Equal to monochrome.

enumerator MFX_CHROMAFORMAT_YUV411

4:1:1 color.

enumerator MFX_CHROMAFORMAT_YUV422H

4:2:2 color, horizontal sub-sampling. It is equal to 4:2:2 color.

enumerator MFX_CHROMAFORMAT_YUV422V

4:2:2 color, vertical sub-sampling.

enumerator MFX_CHROMAFORMAT_RESERVED1

Reserved.

enumerator MFX_CHROMAFORMAT_JPEG_SAMPLING

Color sampling specified via mfxInfoMFX::SamplingFactorH and SamplingFactorV.

ChromaSiting

The ChromaSiting enumerator defines chroma location. Use bit-OR’ed values to specify the desired location.

enumerator MFX_CHROMA_SITING_UNKNOWN

Unspecified.

enumerator MFX_CHROMA_SITING_VERTICAL_TOP

Chroma samples are co-sited vertically on the top with the luma samples.

enumerator MFX_CHROMA_SITING_VERTICAL_CENTER

Chroma samples are not co-sited vertically with the luma samples.

enumerator MFX_CHROMA_SITING_VERTICAL_BOTTOM

Chroma samples are co-sited vertically on the bottom with the luma samples.

enumerator MFX_CHROMA_SITING_HORIZONTAL_LEFT

Chroma samples are co-sited horizontally on the left with the luma samples.

enumerator MFX_CHROMA_SITING_HORIZONTAL_CENTER

Chroma samples are not co-sited horizontally with the luma samples.

CodecFormatFourCC

The CodecFormatFourCC enumerator itemizes codecs in the FourCC format.

enumerator MFX_CODEC_AVC

AVC, H.264, or MPEG-4, part 10 codec.

enumerator MFX_CODEC_HEVC

HEVC codec.

enumerator MFX_CODEC_MPEG2

MPEG-2 codec.

enumerator MFX_CODEC_VC1

VC-1 codec.

enumerator MFX_CODEC_VP9

VP9 codec.

enumerator MFX_CODEC_AV1

AV1 codec.

enumerator MFX_CODEC_JPEG

JPEG codec

CodecLevel

The CodecLevel enumerator itemizes codec levels for all codecs.

enumerator MFX_LEVEL_UNKNOWN

Unspecified level.

H.264 Level 1-1.3

enumerator MFX_LEVEL_AVC_1
enumerator MFX_LEVEL_AVC_1b
enumerator MFX_LEVEL_AVC_11
enumerator MFX_LEVEL_AVC_12
enumerator MFX_LEVEL_AVC_13

H.264 Level 2-2.2

enumerator MFX_LEVEL_AVC_2
enumerator MFX_LEVEL_AVC_21
enumerator MFX_LEVEL_AVC_22

H.264 Level 3-3.2

enumerator MFX_LEVEL_AVC_3
enumerator MFX_LEVEL_AVC_31
enumerator MFX_LEVEL_AVC_32

H.264 Level 4-4.2

enumerator MFX_LEVEL_AVC_4
enumerator MFX_LEVEL_AVC_41
enumerator MFX_LEVEL_AVC_42

H.264 Level 5-5.2

enumerator MFX_LEVEL_AVC_5
enumerator MFX_LEVEL_AVC_51
enumerator MFX_LEVEL_AVC_52

H.264 Level 6-6.2

enumerator MFX_LEVEL_AVC_6
enumerator MFX_LEVEL_AVC_61
enumerator MFX_LEVEL_AVC_62

MPEG2 Levels

enumerator MFX_LEVEL_MPEG2_LOW
enumerator MFX_LEVEL_MPEG2_MAIN
enumerator MFX_LEVEL_MPEG2_HIGH
enumerator MFX_LEVEL_MPEG2_HIGH1440

VC-1 Level Low (Simple and Main Profiles)

enumerator MFX_LEVEL_VC1_LOW
enumerator MFX_LEVEL_VC1_MEDIAN
enumerator MFX_LEVEL_VC1_HIGH

VC-1 Advanced Profile Levels

enumerator MFX_LEVEL_VC1_0
enumerator MFX_LEVEL_VC1_1
enumerator MFX_LEVEL_VC1_2
enumerator MFX_LEVEL_VC1_3
enumerator MFX_LEVEL_VC1_4

HEVC Levels

enumerator MFX_LEVEL_HEVC_1
enumerator MFX_LEVEL_HEVC_2
enumerator MFX_LEVEL_HEVC_21
enumerator MFX_LEVEL_HEVC_3
enumerator MFX_LEVEL_HEVC_31
enumerator MFX_LEVEL_HEVC_4
enumerator MFX_LEVEL_HEVC_41
enumerator MFX_LEVEL_HEVC_5
enumerator MFX_LEVEL_HEVC_51
enumerator MFX_LEVEL_HEVC_52
enumerator MFX_LEVEL_HEVC_6
enumerator MFX_LEVEL_HEVC_61
enumerator MFX_LEVEL_HEVC_62

AV1 Levels

enumerator MFX_LEVEL_AV1_2
enumerator MFX_LEVEL_AV1_21
enumerator MFX_LEVEL_AV1_22
enumerator MFX_LEVEL_AV1_23
enumerator MFX_LEVEL_AV1_3
enumerator MFX_LEVEL_AV1_31
enumerator MFX_LEVEL_AV1_32
enumerator MFX_LEVEL_AV1_33
enumerator MFX_LEVEL_AV1_4
enumerator MFX_LEVEL_AV1_41
enumerator MFX_LEVEL_AV1_42
enumerator MFX_LEVEL_AV1_43
enumerator MFX_LEVEL_AV1_5
enumerator MFX_LEVEL_AV1_51
enumerator MFX_LEVEL_AV1_52
enumerator MFX_LEVEL_AV1_53
enumerator MFX_LEVEL_AV1_6
enumerator MFX_LEVEL_AV1_61
enumerator MFX_LEVEL_AV1_62
enumerator MFX_LEVEL_AV1_63
enumerator MFX_LEVEL_AV1_7
enumerator MFX_LEVEL_AV1_71
enumerator MFX_LEVEL_AV1_72
enumerator MFX_LEVEL_AV1_73

CodecProfile

The CodecProfile enumerator itemizes codec profiles for all codecs.

enumerator MFX_PROFILE_UNKNOWN

Unspecified profile.

H.264 Profiles

enumerator MFX_PROFILE_AVC_BASELINE
enumerator MFX_PROFILE_AVC_MAIN
enumerator MFX_PROFILE_AVC_EXTENDED
enumerator MFX_PROFILE_AVC_HIGH
enumerator MFX_PROFILE_AVC_HIGH10
enumerator MFX_PROFILE_AVC_HIGH_422
enumerator MFX_PROFILE_AVC_CONSTRAINED_BASELINE
enumerator MFX_PROFILE_AVC_CONSTRAINED_HIGH

AV1 Profiles

enumerator MFX_PROFILE_AV1_MAIN
enumerator MFX_PROFILE_AV1_HIGH
enumerator MFX_PROFILE_AV1_PRO

VC-1 Profiles

enumerator MFX_PROFILE_VC1_SIMPLE
enumerator MFX_PROFILE_VC1_MAIN
enumerator MFX_PROFILE_VC1_ADVANCED

VP8 Profiles

enumerator MFX_PROFILE_VP8_0
enumerator MFX_PROFILE_VP8_1
enumerator MFX_PROFILE_VP8_2
enumerator MFX_PROFILE_VP8_3

VP9 Profiles

enumerator MFX_PROFILE_VP9_0
enumerator MFX_PROFILE_VP9_1
enumerator MFX_PROFILE_VP9_2
enumerator MFX_PROFILE_VP9_3

H.264 Constraints

Combined with H.264 profile, these flags impose additional constraints. See the H.264 specification for the list of constraints.

enumerator MFX_PROFILE_AVC_CONSTRAINT_SET0
enumerator MFX_PROFILE_AVC_CONSTRAINT_SET1
enumerator MFX_PROFILE_AVC_CONSTRAINT_SET2
enumerator MFX_PROFILE_AVC_CONSTRAINT_SET3
enumerator MFX_PROFILE_AVC_CONSTRAINT_SET4
enumerator MFX_PROFILE_AVC_CONSTRAINT_SET5

JPEG Profiles

enumerator MFX_PROFILE_JPEG_BASELINE

Baseline JPEG profile.

CodingOptionValue

The CodingOptionValue enumerator defines a three-state coding option setting.

enumerator MFX_CODINGOPTION_UNKNOWN

Unspecified.

enumerator MFX_CODINGOPTION_ON

Coding option set.

enumerator MFX_CODINGOPTION_OFF

Coding option not set.

enumerator MFX_CODINGOPTION_ADAPTIVE

Reserved.

ColorFourCC

The ColorFourCC enumerator itemizes color formats.

enumerator MFX_FOURCC_NV12

NV12 color planes. Native format for 4:2:0/8b Gen hardware implementation.

enumerator MFX_FOURCC_NV21

Same as NV12 but with weaved V and U values.

enumerator MFX_FOURCC_YV12

YV12 color planes.

enumerator MFX_FOURCC_IYUV

Same as YV12 except that the U and V plane order is reversed.

enumerator MFX_FOURCC_I420

Alias for the IYUV color format.

enumerator MFX_FOURCC_I422

Same as YV16 except that the U and V plane order is reversed

enumerator MFX_FOURCC_NV16

4:2:2 color format with similar to NV12 layout.

enumerator MFX_FOURCC_YUY2

YUY2 color planes.

enumerator MFX_FOURCC_RGB565

2 bytes per pixel, uint16 in little-endian format, where 0-4 bits are blue, bits 5-10 are green and bits 11-15 are red.

enumerator MFX_FOURCC_RGBP

RGB 24 bit planar layout (3 separate channels, 8-bits per sample each). This format should be mapped to D3DFMT_R8G8B8 or VA_FOURCC_RGBP.

enumerator MFX_FOURCC_RGB4

RGB4 (RGB32) color planes. BGRA is the order, ‘B’ is 8 MSBs, then 8 bits for ‘G’ channel, then ‘R’ and ‘A’ channels.

enumerator MFX_FOURCC_BGRA

Alias for the RGB4 color format.

enumerator MFX_FOURCC_P8

Internal color format. The application should use the following functions to create a surface that corresponds to the Direct3D* version in use.

For Direct3D* 9: IDirectXVideoDecoderService::CreateSurface()

For Direct3D* 11: ID3D11Device::CreateBuffer()

enumerator MFX_FOURCC_P8_TEXTURE

Internal color format. The application should use the following functions to create a surface that corresponds to the Direct3D* version in use.

For Direct3D 9: IDirectXVideoDecoderService::CreateSurface()

For Direct3D 11: ID3D11Device::CreateTexture2D()

enumerator MFX_FOURCC_P010

P010 color format. This is 10 bit per sample format with similar to NV12 layout. This format should be mapped to DXGI_FORMAT_P010.

enumerator MFX_FOURCC_I010

10-bit YUV 4:2:0, each component has its own plane.

enumerator MFX_FOURCC_I210

10-bit YUV 4:2:2, each component has its own plane.

enumerator MFX_FOURCC_P016

P016 color format. This is 16 bit per sample format with similar to NV12 layout. This format should be mapped to DXGI_FORMAT_P016.

enumerator MFX_FOURCC_P210

10 bit per sample 4:2:2 color format with similar to NV12 layout.

enumerator MFX_FOURCC_BGR4

RGBA color format. It is similar to MFX_FOURCC_RGB4 but with different order of channels. ‘R’ is 8 MSBs, then 8 bits for ‘G’ channel, then ‘B’ and ‘A’ channels.

enumerator MFX_FOURCC_A2RGB10

10 bits ARGB color format packed in 32 bits. ‘A’ channel is two MSBs, then ‘R’, then ‘G’ and then ‘B’ channels. This format should be mapped to DXGI_FORMAT_R10G10B10A2_UNORM or D3DFMT_A2R10G10B10.

enumerator MFX_FOURCC_ARGB16

10 bits ARGB color format packed in 64 bits. ‘A’ channel is 16 MSBs, then ‘R’, then ‘G’ and then ‘B’ channels. This format should be mapped to DXGI_FORMAT_R16G16B16A16_UINT or D3DFMT_A16B16G16R16 formats.

enumerator MFX_FOURCC_ABGR16

10 bits ABGR color format packed in 64 bits. ‘A’ channel is 16 MSBs, then ‘B’, then ‘G’ and then ‘R’ channels. This format should be mapped to DXGI_FORMAT_R16G16B16A16_UINT or D3DFMT_A16B16G16R16 formats.

enumerator MFX_FOURCC_R16

16 bits single channel color format. This format should be mapped to DXGI_FORMAT_R16_TYPELESS or D3DFMT_R16F.

enumerator MFX_FOURCC_AYUV

YUV 4:4:4, AYUV color format. This format should be mapped to DXGI_FORMAT_AYUV.

enumerator MFX_FOURCC_AYUV_RGB4

RGB4 stored in AYUV surface. This format should be mapped to DXGI_FORMAT_AYUV.

enumerator MFX_FOURCC_UYVY

UYVY color planes. Same as YUY2 except the byte order is reversed.

enumerator MFX_FOURCC_Y210

10 bit per sample 4:2:2 packed color format with similar to YUY2 layout. This format should be mapped to DXGI_FORMAT_Y210.

enumerator MFX_FOURCC_Y410

10 bit per sample 4:4:4 packed color format. This format should be mapped to DXGI_FORMAT_Y410.

enumerator MFX_FOURCC_Y216

16 bit per sample 4:2:2 packed color format with similar to YUY2 layout. This format should be mapped to DXGI_FORMAT_Y216.

enumerator MFX_FOURCC_Y416

16 bit per sample 4:4:4 packed color format. This format should be mapped to DXGI_FORMAT_Y416.

enumerator MFX_FOURCC_BGRP

BGR 24 bit planar layout (3 separate channels, 8-bits per sample each). This format should be mapped to VA_FOURCC_BGRP.

ContentInfo

The ContentInfo enumerator itemizes content types for the encoding session.

enumerator MFX_CONTENT_UNKNOWN
enumerator MFX_CONTENT_FULL_SCREEN_VIDEO
enumerator MFX_CONTENT_NON_VIDEO_SCREEN

Corruption

The Corruption enumerator itemizes the decoding corruption types. It is a bit-OR’ed value of the following.

enumerator MFX_CORRUPTION_NO

No corruption.

enumerator MFX_CORRUPTION_MINOR

Minor corruption in decoding certain macro-blocks.

enumerator MFX_CORRUPTION_MAJOR

Major corruption in decoding the frame - incomplete data, for example.

enumerator MFX_CORRUPTION_ABSENT_TOP_FIELD

Top field of frame is absent in bitstream. Only bottom field has been decoded.

enumerator MFX_CORRUPTION_ABSENT_BOTTOM_FIELD

Bottom field of frame is absent in bitstream. Only top filed has been decoded.

enumerator MFX_CORRUPTION_REFERENCE_FRAME

Decoding used a corrupted reference frame. A corrupted reference frame was used for decoding this frame. For example, if the frame uses a reference frame that was decoded with minor/major corruption flag, then this frame is also marked with a reference corruption flag.

enumerator MFX_CORRUPTION_REFERENCE_LIST

The reference list information of this frame does not match what is specified in the Reference Picture Marking Repetition SEI message. (ITU-T H.264 D.1.8 dec_ref_pic_marking_repetition)

Note

Flag MFX_CORRUPTION_ABSENT_TOP_FIELD/MFX_CORRUPTION_ABSENT_BOTTOM_FIELD is set by the AVC decoder when it detects that one of fields is not present in the bitstream. Which field is absent depends on value of bottom_field_flag (ITU-T* H.264 7.4.3).

DeinterlacingMode

The DeinterlacingMode enumerator itemizes VPP deinterlacing modes.

enumerator MFX_DEINTERLACING_BOB

BOB deinterlacing mode.

enumerator MFX_DEINTERLACING_ADVANCED

Advanced deinterlacing mode.

enumerator MFX_DEINTERLACING_AUTO_DOUBLE

Auto mode with deinterlacing double frame rate output.

enumerator MFX_DEINTERLACING_AUTO_SINGLE

Auto mode with deinterlacing single frame rate output.

enumerator MFX_DEINTERLACING_FULL_FR_OUT

Deinterlace only mode with full frame rate output.

enumerator MFX_DEINTERLACING_HALF_FR_OUT

Deinterlace only Mode with half frame rate output.

enumerator MFX_DEINTERLACING_24FPS_OUT

24 fps fixed output mode.

enumerator MFX_DEINTERLACING_FIXED_TELECINE_PATTERN

Fixed telecine pattern removal mode.

enumerator MFX_DEINTERLACING_30FPS_OUT

30 fps fixed output mode.

enumerator MFX_DEINTERLACING_DETECT_INTERLACE

Only interlace detection.

enumerator MFX_DEINTERLACING_ADVANCED_NOREF

Advanced deinterlacing mode without using of reference frames.

enumerator MFX_DEINTERLACING_ADVANCED_SCD

Advanced deinterlacing mode with scene change detection.

enumerator MFX_DEINTERLACING_FIELD_WEAVING

Field weaving.

ErrorTypes

The ErrorTypes enumerator uses bit-ORed values to itemize bitstream error types.

enumerator MFX_ERROR_NO

No error in bitstream.

enumerator MFX_ERROR_PPS

Invalid/corrupted PPS.

enumerator MFX_ERROR_SPS

Invalid/corrupted SPS.

enumerator MFX_ERROR_SLICEHEADER

Invalid/corrupted slice header.

enumerator MFX_ERROR_SLICEDATA

Invalid/corrupted slice data.

enumerator MFX_ERROR_FRAME_GAP

Missed frames.

ExtendedBufferID

The ExtendedBufferID enumerator itemizes and defines identifiers (BufferId) for extended buffers or video processing algorithm identifiers.

enumerator MFX_EXTBUFF_THREADS_PARAM

mfxExtThreadsParam buffer ID

enumerator MFX_EXTBUFF_CODING_OPTION

This extended buffer defines additional encoding controls. See the mfxExtCodingOption structure for details. The application can attach this buffer to the structure for encoding initialization.

enumerator MFX_EXTBUFF_CODING_OPTION_SPSPPS

This extended buffer defines sequence header and picture header for encoders and decoders. See the mfxExtCodingOptionSPSPPS structure for details. The application can attach this buffer to the mfxVideoParam structure for encoding initialization, and for obtaining raw headers from the decoders and encoders.

enumerator MFX_EXTBUFF_VPP_DONOTUSE

This extended buffer defines a list of VPP algorithms that applications should not use. See the mfxExtVPPDoNotUse structure for details. The application can attach this buffer to the mfxVideoParam structure for video processing initialization.

enumerator MFX_EXTBUFF_VPP_AUXDATA

This extended buffer defines auxiliary information at the VPP output. See the mfxExtVppAuxData structure for details. The application can attach this buffer to the mfxEncodeCtrl structure for per-frame encoding control.

enumerator MFX_EXTBUFF_VPP_DENOISE

Deprecated in 2.2 API version.

enumerator MFX_EXTBUFF_VPP_DENOISE2

The extended buffer defines control parameters for the VPP denoise filter algorithm. See the mfxExtVPPDenoise2 structure for details. The application can attach this buffer to the mfxVideoParam structure for video processing initialization.

enumerator MFX_EXTBUFF_VPP_3DLUT

See the mfxExtVPP3DLut structure for more details.

enumerator MFX_EXTBUFF_VPP_SCENE_ANALYSIS
enumerator MFX_EXTBUFF_VPP_PROCAMP

The extended buffer defines control parameters for the VPP ProcAmp filter algorithm. See the mfxExtVPPProcAmp structure for details. The application can attach this buffer to the mfxVideoParam structure for video processing initialization or to the mfxFrameData structure in the mfxFrameSurface1 structure of output surface for per-frame processing configuration.

enumerator MFX_EXTBUFF_VPP_DETAIL

The extended buffer defines control parameters for the VPP detail filter algorithm. See the mfxExtVPPDetail structure for details. The application can attach this buffer to the structure for video processing initialization.

enumerator MFX_EXTBUFF_VIDEO_SIGNAL_INFO

This extended buffer defines video signal type. See the mfxExtVideoSignalInfo structure for details. The application can attach this buffer to the mfxVideoParam structure for encoding initialization, and for retrieving such information from the decoders. If video signal info changes per frame, the application can attach this buffer to the mfxFrameData structure for video processing.

enumerator MFX_EXTBUFF_VIDEO_SIGNAL_INFO_IN

This extended buffer defines video signal type. See the mfxExtVideoSignalInfo structure for details. The application can attach this buffer to the mfxVideoParam structure for the input of video processing if the input video signal information changes in sequence base.

enumerator MFX_EXTBUFF_VIDEO_SIGNAL_INFO_OUT

This extended buffer defines video signal type. See the mfxExtVideoSignalInfo structure for details. The application can attach this buffer to the mfxVideoParam structure for the output of video processing if the output video signal information changes in sequence base.

enumerator MFX_EXTBUFF_VPP_DOUSE

This extended buffer defines a list of VPP algorithms that applications should use. See the mfxExtVPPDoUse structure for details. The application can attach this buffer to the structure for video processing initialization.

enumerator MFX_EXTBUFF_AVC_REFLIST_CTRL

This extended buffer defines additional encoding controls for reference list. See the mfxExtAVCRefListCtrl structure for details. The application can attach this buffer to the mfxVideoParam structure for encoding & decoding initialization, or the mfxEncodeCtrl structure for per-frame encoding configuration.

enumerator MFX_EXTBUFF_VPP_FRAME_RATE_CONVERSION

This extended buffer defines control parameters for the VPP frame rate conversion algorithm. See the mfxExtVPPFrameRateConversion structure for details. The application can attach this buffer to the mfxVideoParam structure for video processing initialization.

enumerator MFX_EXTBUFF_PICTURE_TIMING_SEI

This extended buffer configures the H.264 picture timing SEI message. See the mfxExtPictureTimingSEI structure for details. The application can attach this buffer to the mfxVideoParam structure for encoding initialization, or the mfxEncodeCtrl structure for per-frame encoding configuration.

enumerator MFX_EXTBUFF_AVC_TEMPORAL_LAYERS

This extended buffer configures the structure of temporal layers inside the encoded H.264 bitstream. See the mfxExtAvcTemporalLayers structure for details. The application can attach this buffer to the mfxVideoParam structure for encoding initialization.

enumerator MFX_EXTBUFF_CODING_OPTION2

This extended buffer defines additional encoding controls. See the mfxExtCodingOption2 structure for details. The application can attach this buffer to the structure for encoding initialization.

enumerator MFX_EXTBUFF_VPP_IMAGE_STABILIZATION

This extended buffer defines control parameters for the VPP image stabilization filter algorithm. See the mfxExtVPPImageStab structure for details. The application can attach this buffer to the mfxVideoParam structure for video processing initialization.

enumerator MFX_EXTBUFF_ENCODER_CAPABILITY

This extended buffer is used to retrieve encoder capability. See the mfxExtEncoderCapability structure for details. The application can attach this buffer to the mfxVideoParam structure before calling MFXVideoENCODE_Query function.

enumerator MFX_EXTBUFF_ENCODER_RESET_OPTION

This extended buffer is used to control encoder reset behavior and also to query possible encoder reset outcome. See the mfxExtEncoderResetOption structure for details. The application can attach this buffer to the mfxVideoParam structure before calling MFXVideoENCODE_Query or MFXVideoENCODE_Reset functions.

enumerator MFX_EXTBUFF_ENCODED_FRAME_INFO

This extended buffer is used by the encoder to report additional information about encoded picture. See the mfxExtAVCEncodedFrameInfo structure for details. The application can attach this buffer to the mfxBitstream structure before calling MFXVideoENCODE_EncodeFrameAsync function.

enumerator MFX_EXTBUFF_VPP_COMPOSITE

This extended buffer is used to control composition of several input surfaces in the one output. In this mode, the VPP skips any other filters. The VPP returns error if any mandatory filter is specified and filter skipped warning for optional filter. The only supported filters are deinterlacing and interlaced scaling.

enumerator MFX_EXTBUFF_VPP_VIDEO_SIGNAL_INFO

This extended buffer is used to control transfer matrix and nominal range of YUV frames. The application should provide it during initialization.

enumerator MFX_EXTBUFF_ENCODER_ROI

This extended buffer is used by the application to specify different Region Of Interests during encoding. The application should provide it at initialization or at runtime.

enumerator MFX_EXTBUFF_VPP_DEINTERLACING

This extended buffer is used by the application to specify different deinterlacing algorithms.

enumerator MFX_EXTBUFF_AVC_REFLISTS

This extended buffer specifies reference lists for the encoder.

enumerator MFX_EXTBUFF_DEC_VIDEO_PROCESSING

See the mfxExtDecVideoProcessing structure for details.

enumerator MFX_EXTBUFF_VPP_FIELD_PROCESSING

The extended buffer defines control parameters for the VPP field-processing algorithm. See the mfxExtVPPFieldProcessing structure for details. The application can attach this buffer to the mfxVideoParam structure for video processing initialization or to the mfxFrameData structure during runtime.

enumerator MFX_EXTBUFF_CODING_OPTION3

This extended buffer defines additional encoding controls. See the mfxExtCodingOption3 structure for details. The application can attach this buffer to the structure for encoding initialization.

enumerator MFX_EXTBUFF_CHROMA_LOC_INFO

This extended buffer defines chroma samples location information. See the mfxExtChromaLocInfo structure for details. The application can attach this buffer to the mfxVideoParam structure for encoding initialization.

enumerator MFX_EXTBUFF_MBQP

This extended buffer defines per-macroblock QP. See the mfxExtMBQP structure for details. The application can attach this buffer to the mfxEncodeCtrl structure for per-frame encoding configuration.

enumerator MFX_EXTBUFF_MB_FORCE_INTRA

This extended buffer defines per-macroblock force intra flag. See the mfxExtMBForceIntra structure for details. The application can attach this buffer to the mfxEncodeCtrl structure for per-frame encoding configuration.

enumerator MFX_EXTBUFF_HEVC_TILES

This extended buffer defines additional encoding controls for HEVC tiles. See the mfxExtHEVCTiles structure for details. The application can attach this buffer to the mfxVideoParam structure for encoding initialization.

enumerator MFX_EXTBUFF_MB_DISABLE_SKIP_MAP

This extended buffer defines macroblock map for current frame which forces specified macroblocks to be non skip. See the mfxExtMBDisableSkipMap structure for details. The application can attach this buffer to the mfxEncodeCtrl structure for per-frame encoding configuration.

enumerator MFX_EXTBUFF_HEVC_PARAM

See the mfxExtHEVCParam structure for details.

enumerator MFX_EXTBUFF_DECODED_FRAME_INFO

This extended buffer is used by decoders to report additional information about decoded frame. See the mfxExtDecodedFrameInfo structure for more details.

enumerator MFX_EXTBUFF_TIME_CODE

See the mfxExtTimeCode structure for more details.

enumerator MFX_EXTBUFF_HEVC_REGION

This extended buffer specifies the region to encode. The application can attach this buffer to the mfxVideoParam structure during HEVC encoder initialization.

enumerator MFX_EXTBUFF_PRED_WEIGHT_TABLE

See the mfxExtPredWeightTable structure for details.

enumerator MFX_EXTBUFF_DIRTY_RECTANGLES

See the mfxExtDitrtyRect structure for details.

enumerator MFX_EXTBUFF_MOVING_RECTANGLES

See the mfxExtMoveRect structure for details.

enumerator MFX_EXTBUFF_CODING_OPTION_VPS

See the mfxExtCodingOptionVPS structure for details.

enumerator MFX_EXTBUFF_VPP_ROTATION

See the mfxExtVPPRotation structure for details.

enumerator MFX_EXTBUFF_ENCODED_SLICES_INFO

See the mfxExtEncodedSlicesInfo structure for details.

enumerator MFX_EXTBUFF_VPP_SCALING

See the mfxExtVPPScaling structure for details.

enumerator MFX_EXTBUFF_HEVC_REFLIST_CTRL

This extended buffer defines additional encoding controls for reference list. See the mfxExtAVCRefListCtrl structure for details. The application can attach this buffer to the mfxVideoParam structure for encoding & decoding initialization, or the mfxEncodeCtrl structure for per-frame encoding configuration.

enumerator MFX_EXTBUFF_HEVC_REFLISTS

This extended buffer specifies reference lists for the encoder.

enumerator MFX_EXTBUFF_HEVC_TEMPORAL_LAYERS

This extended buffer configures the structure of temporal layers inside the encoded H.264 bitstream. See the mfxExtAvcTemporalLayers structure for details. The application can attach this buffer to the mfxVideoParam structure for encoding initialization.

enumerator MFX_EXTBUFF_VPP_MIRRORING

See the mfxExtVPPMirroring structure for details.

enumerator MFX_EXTBUFF_MV_OVER_PIC_BOUNDARIES

See the mfxExtMVOverPicBoundaries structure for details.

enumerator MFX_EXTBUFF_VPP_COLORFILL

See the mfxExtVPPColorFill structure for details.

enumerator MFX_EXTBUFF_DECODE_ERROR_REPORT

This extended buffer is used by decoders to report error information before frames get decoded. See the mfxExtDecodeErrorReport structure for more details.

enumerator MFX_EXTBUFF_VPP_COLOR_CONVERSION

See the mfxExtColorConversion structure for details.

enumerator MFX_EXTBUFF_CONTENT_LIGHT_LEVEL_INFO

This extended buffer configures HDR SEI message. See the mfxExtContentLightLevelInfo structure for details.

enumerator MFX_EXTBUFF_MASTERING_DISPLAY_COLOUR_VOLUME

This extended buffer configures HDR SEI message. See the mfxExtMasteringDisplayColourVolume structure for details. If colour volume changes per frame, the application can attach this buffer to the mfxFrameData structure for video processing.

enumerator MFX_EXTBUFF_MASTERING_DISPLAY_COLOUR_VOLUME_IN

This extended buffer configures HDR SEI message. See the mfxExtMasteringDisplayColourVolume structure for details. The application can attach this buffer to the mfxVideoParam structure for the input of video processing if the mastering display colour volume changes per sequence. In this case, this buffer should be together with MFX_EXTBUFF_CONTENT_LIGHT_LEVEL_INFO to indicate the light level and mastering colour volume of the input of video processing. If colour Volume changes per frame instead of per sequence, the application can attach MFX_EXTBUFF_MASTERING_DISPLAY_COLOUR_VOLUME to mfxFrameData for frame based processing.

enumerator MFX_EXTBUFF_MASTERING_DISPLAY_COLOUR_VOLUME_OUT

This extended buffer configures HDR SEI message. See the mfxExtMasteringDisplayColourVolume structure for details. The application can attach this buffer to the mfxVideoParam structure for the output of video processing if the mastering display colour volume changes per sequence. If colour volume changes per frame instead of per sequence, the application can attach the buffer with MFX_EXTBUFF_MASTERING_ DISPLAY_COLOUR_VOLUME to mfxFrameData for frame based processing.

enumerator MFX_EXTBUFF_ENCODED_UNITS_INFO

See the mfxExtEncodedUnitsInfo structure for details.

enumerator MFX_EXTBUFF_VPP_MCTF

This video processing algorithm identifier is used to enable MCTF via mfxExtVPPDoUse and together with mfxExtVppMctf

enumerator MFX_EXTBUFF_VP9_SEGMENTATION

Extends mfxVideoParam structure with VP9 segmentation parameters. See the mfxExtVP9Segmentation structure for details.

enumerator MFX_EXTBUFF_VP9_TEMPORAL_LAYERS

Extends mfxVideoParam structure with parameters for VP9 temporal scalability. See the mfxExtVP9TemporalLayers structure for details.

enumerator MFX_EXTBUFF_VP9_PARAM

Extends mfxVideoParam structure with VP9-specific parameters. See the mfxExtVP9Param structure for details.

enumerator MFX_EXTBUFF_AVC_ROUNDING_OFFSET

See the mfxExtAVCRoundingOffset structure for details.

enumerator MFX_EXTBUFF_PARTIAL_BITSTREAM_PARAM

See the mfxExtPartialBitstreamParam structure for details.

enumerator MFX_EXTBUFF_BRC
enumerator MFX_EXTBUFF_VP8_CODING_OPTION

This extended buffer describes VP8 encoder configuration parameters. See the mfxExtVP8CodingOption structure for details. The application can attach this buffer to the mfxVideoParam structure for encoding initialization.

enumerator MFX_EXTBUFF_JPEG_QT

This extended buffer defines quantization tables for JPEG encoder.

enumerator MFX_EXTBUFF_JPEG_HUFFMAN

This extended buffer defines Huffman tables for JPEG encoder.

enumerator MFX_EXTBUFF_ENCODER_IPCM_AREA

See the mfxExtEncoderIPCMArea structure for details.

enumerator MFX_EXTBUFF_INSERT_HEADERS

See the mfxExtInsertHeaders structure for details.

enumerator MFX_EXTBUFF_MVC_SEQ_DESC

This extended buffer describes the MVC stream information of view dependencies, view identifiers, and operation points. See the ITU*-T H.264 specification chapter H.7.3.2.1.4 for details.

enumerator MFX_EXTBUFF_MVC_TARGET_VIEWS

This extended buffer defines target views at the decoder output.

enumerator MFX_EXTBUFF_CENC_PARAM

This structure is used to pass decryption status report index for Common Encryption usage model. See the mfxExtCencParam structure for more details.

enumerator MFX_EXTBUFF_DEVICE_AFFINITY_MASK

See the mfxExtDeviceAffinityMask structure for details.

enumerator MFX_EXTBUFF_CROPS

See the mfxExtInCrops structure for details.

enumerator MFX_EXTBUFF_AV1_FILM_GRAIN_PARAM

See the mfxExtAV1FilmGrainParam structure for more details.

enumerator MFX_EXTBUFF_AV1_SEGMENTATION

See the mfxExtAV1Segmentation structure for more details.

enumerator MFX_EXTBUFF_ALLOCATION_HINTS

See the mfxExtAllocationHints structure for more details.

enumerator MFX_EXTBUFF_UNIVERSAL_TEMPORAL_LAYERS

See the mfxExtTemporalLayers structure for more details.

ExtMemBufferType

enumerator MFX_MEMTYPE_PERSISTENT_MEMORY

Memory page for persistent use.

ExtMemFrameType

The ExtMemFrameType enumerator specifies the memory type of frame. It is a bit-ORed value of one of the following. For information on working with video memory surfaces, see the Working with Hardware Acceleration section.

enumerator MFX_MEMTYPE_DXVA2_DECODER_TARGET

Frames are in video memory and belong to video decoder render targets.

enumerator MFX_MEMTYPE_DXVA2_PROCESSOR_TARGET

Frames are in video memory and belong to video processor render targets.

enumerator MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET

Frames are in video memory and belong to video decoder render targets.

enumerator MFX_MEMTYPE_VIDEO_MEMORY_PROCESSOR_TARGET

Frames are in video memory and belong to video processor render targets.

enumerator MFX_MEMTYPE_SYSTEM_MEMORY

The frames are in system memory.

enumerator MFX_MEMTYPE_RESERVED1
enumerator MFX_MEMTYPE_FROM_ENCODE

Allocation request comes from an ENCODE function

enumerator MFX_MEMTYPE_FROM_DECODE

Allocation request comes from a DECODE function

enumerator MFX_MEMTYPE_FROM_VPPIN

Allocation request comes from a VPP function for input frame allocation

enumerator MFX_MEMTYPE_FROM_VPPOUT

Allocation request comes from a VPP function for output frame allocation

enumerator MFX_MEMTYPE_FROM_ENC

Allocation request comes from an ENC function

enumerator MFX_MEMTYPE_INTERNAL_FRAME

Allocation request for internal frames

enumerator MFX_MEMTYPE_EXTERNAL_FRAME

Allocation request for I/O frames

enumerator MFX_MEMTYPE_EXPORT_FRAME

Application requests frame handle export to some associated object. For Linux frame handle can be considered to be exported to DRM Prime FD, DRM FLink or DRM FrameBuffer Handle. Specifics of export types and export procedure depends on external frame allocator implementation

enumerator MFX_MEMTYPE_SHARED_RESOURCE

For DX11 allocation use shared resource bind flag.

enumerator MFX_MEMTYPE_VIDEO_MEMORY_ENCODER_TARGET

Frames are in video memory and belong to video encoder render targets.

Frame Data Flags

enumerator MFX_TIMESTAMP_UNKNOWN

Indicates that time stamp is unknown for this frame/bitstream portion.

enumerator MFX_FRAMEORDER_UNKNOWN

Unused entry or API functions that generate the frame output do not use this frame.

enumerator MFX_FRAMEDATA_TIMESTAMP_UNKNOWN

Indicates the time stamp of this frame is unknown and will be calculated by SDK.

enumerator MFX_FRAMEDATA_ORIGINAL_TIMESTAMP

Indicates the time stamp of this frame is not calculated and is a pass-through of the original time stamp.

FrameType

The FrameType enumerator itemizes frame types. Use bit-ORed values to specify all that apply.

enumerator MFX_FRAMETYPE_UNKNOWN

Frame type is unspecified.

enumerator MFX_FRAMETYPE_I

This frame or the first field is encoded as an I-frame/field.

enumerator MFX_FRAMETYPE_P

This frame or the first field is encoded as an P-frame/field.

enumerator MFX_FRAMETYPE_B

This frame or the first field is encoded as an B-frame/field.

enumerator MFX_FRAMETYPE_S

This frame or the first field is either an SI- or SP-frame/field.

enumerator MFX_FRAMETYPE_REF

This frame or the first field is encoded as a reference.

enumerator MFX_FRAMETYPE_IDR

This frame or the first field is encoded as an IDR.

enumerator MFX_FRAMETYPE_xI

The second field is encoded as an I-field.

enumerator MFX_FRAMETYPE_xP

The second field is encoded as an P-field.

enumerator MFX_FRAMETYPE_xB

The second field is encoded as an S-field.

enumerator MFX_FRAMETYPE_xS

The second field is an SI- or SP-field.

enumerator MFX_FRAMETYPE_xREF

The second field is encoded as a reference.

enumerator MFX_FRAMETYPE_xIDR

The second field is encoded as an IDR.

FrcAlgm

The FrcAlgm enumerator itemizes frame rate conversion algorithms. See description of mfxExtVPPFrameRateConversion structure for more details.

enumerator MFX_FRCALGM_PRESERVE_TIMESTAMP

Frame dropping/repetition based frame rate conversion algorithm with preserved original time stamps. Any inserted frames will carry MFX_TIMESTAMP_UNKNOWN.

enumerator MFX_FRCALGM_DISTRIBUTED_TIMESTAMP

Frame dropping/repetition based frame rate conversion algorithm with distributed time stamps. The algorithm distributes output time stamps evenly according to the output frame rate.

enumerator MFX_FRCALGM_FRAME_INTERPOLATION

Frame rate conversion algorithm based on frame interpolation. This flag may be combined with MFX_FRCALGM_PRESERVE_TIMESTAMP or MFX_FRCALGM_DISTRIBUTED_TIMESTAMP flags.

GeneralConstraintFlags

The GeneralConstraintFlags enumerator uses bit-ORed values to itemize HEVC bitstream indications for specific profiles. Each value indicates for format range extensions profiles. To specify HEVC Main 10 Still Picture profile applications have to set mfxInfoMFX::CodecProfile == MFX_PROFILE_HEVC_MAIN10 and mfxExtHEVCParam::GeneralConstraintFlags == MFX_HEVC_CONSTR_REXT_ONE_PICTURE_ONLY.

enumerator MFX_HEVC_CONSTR_REXT_MAX_12BIT
enumerator MFX_HEVC_CONSTR_REXT_MAX_10BIT
enumerator MFX_HEVC_CONSTR_REXT_MAX_8BIT
enumerator MFX_HEVC_CONSTR_REXT_MAX_422CHROMA
enumerator MFX_HEVC_CONSTR_REXT_MAX_420CHROMA
enumerator MFX_HEVC_CONSTR_REXT_MAX_MONOCHROME
enumerator MFX_HEVC_CONSTR_REXT_INTRA
enumerator MFX_HEVC_CONSTR_REXT_ONE_PICTURE_ONLY
enumerator MFX_HEVC_CONSTR_REXT_LOWER_BIT_RATE

GopOptFlag

The GopOptFlag enumerator itemizes special properties in the GOP (Group of Pictures) sequence.

enumerator MFX_GOP_CLOSED

The encoder generates closed GOP if this flag is set. Frames in this GOP do not use frames in previous GOP as reference.

The encoder generates open GOP if this flag is not set. In this GOP frames prior to the first frame of GOP in display order may use frames from previous GOP as reference. Frames subsequent to the first frame of GOP in display order do not use frames from previous GOP as reference.

The AVC encoder ignores this flag if IdrInterval in mfxInfoMFX structure is set to 0, i.e. if every GOP starts from IDR frame. In this case, GOP is encoded as closed.

This flag does not affect long-term reference frames.

enumerator MFX_GOP_STRICT

The encoder must strictly follow the given GOP structure as defined by parameter GopPicSize, GopRefDist etc in the mfxVideoParam structure. Otherwise, the encoder can adapt the GOP structure for better efficiency, whose range is constrained by parameter GopPicSize and GopRefDist etc. See also description of AdaptiveI and AdaptiveB fields in the mfxExtCodingOption2 structure.

GPUCopy

enumerator MFX_GPUCOPY_DEFAULT

Use default mode for the legacy Intel(r) Media SDK implementation.

enumerator MFX_GPUCOPY_ON

Enable GPU accelerated copying.

enumerator MFX_GPUCOPY_OFF

Disable GPU accelerated copying.

HEVC Profiles

enumerator MFX_PROFILE_HEVC_MAIN
enumerator MFX_PROFILE_HEVC_MAIN10
enumerator MFX_PROFILE_HEVC_MAINSP
enumerator MFX_PROFILE_HEVC_REXT
enumerator MFX_PROFILE_HEVC_SCC

HEVC Tiers

enumerator MFX_TIER_HEVC_MAIN
enumerator MFX_TIER_HEVC_HIGH

HEVCRegionEncoding

The HEVCRegionEncoding enumerator itemizes HEVC region’s encoding.

enumerator MFX_HEVC_REGION_ENCODING_ON
enumerator MFX_HEVC_REGION_ENCODING_OFF

HEVCRegionType

The HEVCRegionType enumerator itemizes type of HEVC region.

enumerator MFX_HEVC_REGION_SLICE

Slice type.

ImageStabMode

The ImageStabMode enumerator itemizes image stabilization modes. See description of mfxExtVPPImageStab structure for more details.

enumerator MFX_IMAGESTAB_MODE_UPSCALE

Upscale mode.

enumerator MFX_IMAGESTAB_MODE_BOXING

Boxing mode.

InsertHDRPayload

The InsertHDRPayload enumerator itemizes HDR payloads insertion rules.

enumerator MFX_PAYLOAD_OFF

Do not insert payload.

enumerator MFX_PAYLOAD_IDR

Insert payload on IDR frames.

InterpolationMode

The InterpolationMode enumerator specifies type of interpolation method used by VPP scaling filter.

enumerator MFX_INTERPOLATION_DEFAULT

Default interpolation mode for scaling. Library selects the most appropriate scaling method.

enumerator MFX_INTERPOLATION_NEAREST_NEIGHBOR

Nearest neighbor interpolation method.

enumerator MFX_INTERPOLATION_BILINEAR

Bilinear interpolation method.

enumerator MFX_INTERPOLATION_ADVANCED

Advanced interpolation method is defined by each implementation and usually gives best quality.

DataType

enum mfxDataType

The mfxDataType enumerates data type for mfxDataType.

Values:

enumerator MFX_DATA_TYPE_UNSET

Undefined type.

enumerator MFX_DATA_TYPE_U8

8-bit unsigned integer.

enumerator MFX_DATA_TYPE_I8

8-bit signed integer.

enumerator MFX_DATA_TYPE_U16

16-bit unsigned integer.

enumerator MFX_DATA_TYPE_I16

16-bit signed integer.

enumerator MFX_DATA_TYPE_U32

32-bit unsigned integer.

enumerator MFX_DATA_TYPE_I32

32-bit signed integer.

enumerator MFX_DATA_TYPE_U64

64-bit unsigned integer.

enumerator MFX_DATA_TYPE_I64

64-bit signed integer.

enumerator MFX_DATA_TYPE_F32

32-bit single precision floating point.

enumerator MFX_DATA_TYPE_F64

64-bit double precision floating point.

3DLutChannelMapping

enum mfx3DLutChannelMapping

The mfx3DLutChannelMapping enumerator specifies the channel mapping of 3DLUT.

Values:

enumerator MFX_3DLUT_CHANNEL_MAPPING_DEFAULT

Default 3DLUT channel mapping. The library selects the most appropriate 3DLUT channel mapping.

enumerator MFX_3DLUT_CHANNEL_MAPPING_RGB_RGB

3DLUT RGB channels map to RGB channels.

enumerator MFX_3DLUT_CHANNEL_MAPPING_YUV_RGB

3DLUT YUV channels map to RGB channels.

enumerator MFX_3DLUT_CHANNEL_MAPPING_VUY_RGB

3DLUT VUY channels map to RGB channels.

3DLutMemoryLayout

enum mfx3DLutMemoryLayout

The mfx3DLutMemoryLayout enumerator specifies the memory layout of 3DLUT.

Values:

enumerator MFX_3DLUT_MEMORY_LAYOUT_DEFAULT

Default 3DLUT memory layout. The library selects the most appropriate 3DLUT memory layout.

enumerator MFX_3DLUT_MEMORY_LAYOUT_VENDOR

The enumeration to separate default above and vendor specific.

enumerator MFX_3DLUT_MEMORY_LAYOUT_INTEL_17LUT

Intel specific memory layout. The enumerator indicates the attributes and memory layout of 3DLUT. 3DLUT size is 17(the number of elements per dimension), 4 channels(3 valid channels, 1 channel is reserved), every channel must be 16-bit unsigned integer. 3DLUT contains 17x17x32 entries with holes that are not filled. Take RGB as example, the nodes RxGx17 to RxGx31 are not filled, are “don’t care” bits, and not accessed for the 17x17x17 nodes.

enumerator MFX_3DLUT_MEMORY_LAYOUT_INTEL_33LUT

Intel specific memory layout. The enumerator indicates the attributes and memory layout of 3DLUT. 3DLUT size is 33(the number of elements per dimension), 4 channels(3 valid channels, 1 channel is reserved), every channel must be 16-bit unsigned integer. 3DLUT contains 33x33x64 entries with holes that are not filled. Take RGB as example, the nodes RxGx33 to RxGx63 are not filled, are “don’t care” bits, and not accessed for the 33x33x33 nodes.

enumerator MFX_3DLUT_MEMORY_LAYOUT_INTEL_65LUT

Intel specific memory layout. The enumerator indicates the attributes and memory layout of 3DLUT. 3DLUT size is 65(the number of elements per dimension), 4 channels(3 valid channels, 1 channel is reserved), every channel must be 16-bit unsigned integer. 3DLUT contains 65x65x128 entries with holes that are not filled. Take RGB as example, the nodes RxGx65 to RxGx127 are not filled, are “don’t care” bits, and not accessed for the 65x65x65 nodes.

IntraPredBlockSize/InterPredBlockSize

IntraPredBlockSize/InterPredBlockSize specifies minimum block size of inter-prediction.

enumerator MFX_BLOCKSIZE_UNKNOWN

Unspecified.

enumerator MFX_BLOCKSIZE_MIN_16X16

16x16 minimum block size.

enumerator MFX_BLOCKSIZE_MIN_8X8

8x8 minimum block size. May be 16x16 or 8x8.

enumerator MFX_BLOCKSIZE_MIN_4X4

4x4 minimum block size. May be 16x16, 8x8, or 4x4.

IntraRefreshTypes

The IntraRefreshTypes enumerator itemizes types of intra refresh.

enumerator MFX_REFRESH_NO

Encode without refresh.

enumerator MFX_REFRESH_VERTICAL

Vertical refresh, by column of MBs.

enumerator MFX_REFRESH_HORIZONTAL

Horizontal refresh, by rows of MBs.

enumerator MFX_REFRESH_SLICE

Horizontal refresh by slices without overlapping.

IOPattern

The IOPattern enumerator itemizes memory access patterns for API functions. Use bit-ORed values to specify input and output access patterns.

enumerator MFX_IOPATTERN_IN_VIDEO_MEMORY

Input to functions is a video memory surface.

enumerator MFX_IOPATTERN_IN_SYSTEM_MEMORY

Input to functions is a linear buffer directly in system memory or in system memory through an external allocator.

enumerator MFX_IOPATTERN_OUT_VIDEO_MEMORY

Output to functions is a video memory surface.

enumerator MFX_IOPATTERN_OUT_SYSTEM_MEMORY

Output to functions is a linear buffer directly in system memory or in system memory through an external allocator.

JPEGColorFormat

The JPEGColorFormat enumerator itemizes the JPEG color format options.

enumerator MFX_JPEG_COLORFORMAT_UNKNOWN
enumerator MFX_JPEG_COLORFORMAT_YCbCr

Unknown color format. The decoder tries to determine color format from available in bitstream information. If such information is not present, then MFX_JPEG_COLORFORMAT_YCbCr color format is assumed.

enumerator MFX_JPEG_COLORFORMAT_RGB

Bitstream contains Y, Cb and Cr components.

JPEGScanType

The JPEGScanType enumerator itemizes the JPEG scan types.

enumerator MFX_SCANTYPE_UNKNOWN

Unknown scan type.

enumerator MFX_SCANTYPE_INTERLEAVED

Interleaved scan.

enumerator MFX_SCANTYPE_NONINTERLEAVED

Non-interleaved scan.

LongTermIdx

The LongTermIdx specifies long term index of picture control

enumerator MFX_LONGTERM_IDX_NO_IDX

Long term index of picture is undefined.

LookAheadDownSampling

The LookAheadDownSampling enumerator is used to control down sampling in look ahead bitrate control mode in AVC encoder.

enumerator MFX_LOOKAHEAD_DS_UNKNOWN

Default value, it is up to the encoder what down sampling value to use.

enumerator MFX_LOOKAHEAD_DS_OFF

Do not use down sampling, perform estimation on original size frames. This is the slowest setting that produces the best quality.

enumerator MFX_LOOKAHEAD_DS_2x

Down sample frames two times before estimation.

enumerator MFX_LOOKAHEAD_DS_4x

Down sample frames four times before estimation. This option may significantly degrade quality.

MBQPMode

The MBQPMode enumerator itemizes QP update modes.

enumerator MFX_MBQP_MODE_QP_VALUE

QP array contains QP values.

enumerator MFX_MBQP_MODE_QP_DELTA

QP array contains deltas for QP.

enumerator MFX_MBQP_MODE_QP_ADAPTIVE

QP array contains deltas for QP or absolute QP values.

mfxComponentType

enum mfxComponentType

Describes type of workload passed to MFXQueryAdapters.

Values:

enumerator MFX_COMPONENT_ENCODE

Encode workload.

enumerator MFX_COMPONENT_DECODE

Decode workload.

enumerator MFX_COMPONENT_VPP

VPP workload.

mfxHandleType

enum mfxHandleType

The mfxHandleType enumerator itemizes system handle types that implementations might use.

Values:

enumerator MFX_HANDLE_DIRECT3D_DEVICE_MANAGER9

Pointer to the IDirect3DDeviceManager9 interface. See Working with Microsoft* DirectX* Applications for more details on how to use this handle.

enumerator MFX_HANDLE_D3D9_DEVICE_MANAGER

Pointer to the IDirect3DDeviceManager9 interface. See Working with Microsoft* DirectX* Applications for more details on how to use this handle.

enumerator MFX_HANDLE_RESERVED1
enumerator MFX_HANDLE_D3D11_DEVICE

Pointer to the ID3D11Device interface. See Working with Microsoft* DirectX* Applications for more details on how to use this handle.

enumerator MFX_HANDLE_VA_DISPLAY

Pointer to VADisplay interface. See Working with VA-API Applications for more details on how to use this handle.

enumerator MFX_HANDLE_RESERVED3
enumerator MFX_HANDLE_VA_CONFIG_ID

Pointer to VAConfigID interface. It represents external VA config for Common Encryption usage model.

enumerator MFX_HANDLE_VA_CONTEXT_ID

Pointer to VAContextID interface. It represents external VA context for Common Encryption usage model.

enumerator MFX_HANDLE_CM_DEVICE

Pointer to CmDevice interface ( Intel(r) C for Metal Runtime ).

enumerator MFX_HANDLE_HDDLUNITE_WORKLOADCONTEXT

Pointer to HddlUnite::WorkloadContext interface.

mfxIMPL

typedef mfxI32 mfxIMPL

This enumerator itemizes implementation types. The implementation type is a bit OR’ed value of the base type and any decorative flags.

Note

This enumerator is for legacy dispatcher compatibility only. The new dispatcher does not use it.

enumerator MFX_IMPL_AUTO

Auto Selection/In or Not Supported/Out.

enumerator MFX_IMPL_SOFTWARE

Pure software implementation.

enumerator MFX_IMPL_HARDWARE

Hardware accelerated implementation (default device).

enumerator MFX_IMPL_AUTO_ANY

Auto selection of any hardware/software implementation.

enumerator MFX_IMPL_HARDWARE_ANY

Auto selection of any hardware implementation.

enumerator MFX_IMPL_HARDWARE2

Hardware accelerated implementation (2nd device).

enumerator MFX_IMPL_HARDWARE3

Hardware accelerated implementation (3rd device).

enumerator MFX_IMPL_HARDWARE4

Hardware accelerated implementation (4th device).

enumerator MFX_IMPL_RUNTIME

This value cannot be used for session initialization. It may be returned by the MFXQueryIMPL function to show that the session has been initialized in run-time mode.

enumerator MFX_IMPL_VIA_ANY

Hardware acceleration can go through any supported OS infrastructure. This is the default value. The default value is used by the legacy Intel(r) Media SDK if none of the MFX_IMPL_VIA_xxx flags are specified by the application.

enumerator MFX_IMPL_VIA_D3D9

Hardware acceleration goes through the Microsoft* Direct3D* 9 infrastructure.

enumerator MFX_IMPL_VIA_D3D11

Hardware acceleration goes through the Microsoft* Direct3D* 11 infrastructure.

enumerator MFX_IMPL_VIA_VAAPI

Hardware acceleration goes through the Linux* VA-API infrastructure.

enumerator MFX_IMPL_VIA_HDDLUNITE

Hardware acceleration goes through the HDDL* Unite*.

enumerator MFX_IMPL_UNSUPPORTED

One of the MFXQueryIMPL returns.

MFX_IMPL_BASETYPE(x)

The application can use the macro MFX_IMPL_BASETYPE(x) to obtain the base implementation type.

mfxImplCapsDeliveryFormat

enum mfxImplCapsDeliveryFormat

Values:

enumerator MFX_IMPLCAPS_IMPLDESCSTRUCTURE

Deliver capabilities as mfxImplDescription structure.

enumerator MFX_IMPLCAPS_IMPLEMENTEDFUNCTIONS

Deliver capabilities as mfxImplementedFunctions structure.

enumerator MFX_IMPLCAPS_IMPLPATH

Deliver pointer to the null-terminated string with the path to the implementation. String is delivered in a form of buffer of mfxChar type.

mfxMediaAdapterType

enum mfxMediaAdapterType

The mfxMediaAdapterType enumerator itemizes types of graphics adapters.

Values:

enumerator MFX_MEDIA_UNKNOWN

Unknown type.

enumerator MFX_MEDIA_INTEGRATED

Integrated graphics adapter.

enumerator MFX_MEDIA_DISCRETE

Discrete graphics adapter.

mfxMemoryFlags

enum mfxMemoryFlags

The mfxMemoryFlags enumerator specifies memory access mode.

Values:

enumerator MFX_MAP_READ

The surface is mapped for reading.

enumerator MFX_MAP_WRITE

The surface is mapped for writing.

enumerator MFX_MAP_READ_WRITE

The surface is mapped for reading and writing.

enumerator MFX_MAP_NOWAIT

The mapping would be done immediately without any implicit synchronizations.

Attention

This flag is optional.

MfxNalUnitType

Specifies NAL unit types supported by the HEVC encoder.

enumerator MFX_HEVC_NALU_TYPE_UNKNOWN

The encoder will decide what NAL unit type to use.

enumerator MFX_HEVC_NALU_TYPE_TRAIL_N

See Table 7-1 of the ITU-T H.265 specification for the definition of these type.

enumerator MFX_HEVC_NALU_TYPE_TRAIL_R

See Table 7-1 of the ITU-T H.265 specification for the definition of these type.

enumerator MFX_HEVC_NALU_TYPE_RADL_N

See Table 7-1 of the ITU-T H.265 specification for the definition of these type.

enumerator MFX_HEVC_NALU_TYPE_RADL_R

See Table 7-1 of the ITU-T H.265 specification for the definition of these type.

enumerator MFX_HEVC_NALU_TYPE_RASL_N

See Table 7-1 of the ITU-T H.265 specification for the definition of these type.

enumerator MFX_HEVC_NALU_TYPE_RASL_R

See Table 7-1 of the ITU-T H.265 specification for the definition of these type.

enumerator MFX_HEVC_NALU_TYPE_IDR_W_RADL

See Table 7-1 of the ITU-T H.265 specification for the definition of these type.

enumerator MFX_HEVC_NALU_TYPE_IDR_N_LP

See Table 7-1 of the ITU-T H.265 specification for the definition of these type.

enumerator MFX_HEVC_NALU_TYPE_CRA_NUT

See Table 7-1 of the ITU-T H.265 specification for the definition of these type.

mfxPriority

enum mfxPriority

The mfxPriority enumerator describes the session priority.

Values:

enumerator MFX_PRIORITY_LOW

Low priority: the session operation halts when high priority tasks are executing and more than 75% of the CPU is being used for normal priority tasks.

enumerator MFX_PRIORITY_NORMAL

Normal priority: the session operation is halted if there are high priority tasks.

enumerator MFX_PRIORITY_HIGH

High priority: the session operation blocks other lower priority session operations.

mfxResourceType

enum mfxResourceType

Values:

enumerator MFX_RESOURCE_SYSTEM_SURFACE

System memory.

enumerator MFX_RESOURCE_VA_SURFACE_PTR

Pointer to VA surface index.

enumerator MFX_RESOURCE_VA_SURFACE

Pointer to VA surface index.

enumerator MFX_RESOURCE_VA_BUFFER_PTR

Pointer to VA buffer index.

enumerator MFX_RESOURCE_VA_BUFFER

Pointer to VA buffer index.

enumerator MFX_RESOURCE_DX9_SURFACE

IDirect3DSurface9.

enumerator MFX_RESOURCE_DX11_TEXTURE

ID3D11Texture2D.

enumerator MFX_RESOURCE_DX12_RESOURCE

ID3D12Resource.

enumerator MFX_RESOURCE_DMA_RESOURCE

DMA resource.

enumerator MFX_RESOURCE_HDDLUNITE_REMOTE_MEMORY

HDDL Unite Remote memory handle.

mfxSkipMode

enum mfxSkipMode

The mfxSkipMode enumerator describes the decoder skip-mode options.

Values:

enumerator MFX_SKIPMODE_NOSKIP
enumerator MFX_SKIPMODE_MORE

Do not skip any frames.

enumerator MFX_SKIPMODE_LESS

Skip more frames.

mfxStatus

enum mfxStatus

Itemizes status codes returned by API functions.

Values:

enumerator MFX_ERR_NONE

No error.

enumerator MFX_ERR_UNKNOWN

Unknown error.

enumerator MFX_ERR_NULL_PTR

Null pointer.

enumerator MFX_ERR_UNSUPPORTED

Unsupported feature.

enumerator MFX_ERR_MEMORY_ALLOC

Failed to allocate memory.

enumerator MFX_ERR_NOT_ENOUGH_BUFFER

Insufficient buffer at input/output.

enumerator MFX_ERR_INVALID_HANDLE

Invalid handle.

enumerator MFX_ERR_LOCK_MEMORY

Failed to lock the memory block.

enumerator MFX_ERR_NOT_INITIALIZED

Member function called before initialization.

enumerator MFX_ERR_NOT_FOUND

The specified object is not found.

enumerator MFX_ERR_MORE_DATA

Expect more data at input.

enumerator MFX_ERR_MORE_SURFACE

Expect more surface at output.

enumerator MFX_ERR_ABORTED

Operation aborted.

enumerator MFX_ERR_DEVICE_LOST

Lose the hardware acceleration device.

enumerator MFX_ERR_INCOMPATIBLE_VIDEO_PARAM

Incompatible video parameters.

enumerator MFX_ERR_INVALID_VIDEO_PARAM

Invalid video parameters.

enumerator MFX_ERR_UNDEFINED_BEHAVIOR

Undefined behavior.

enumerator MFX_ERR_DEVICE_FAILED

Device operation failure.

enumerator MFX_ERR_MORE_BITSTREAM

Expect more bitstream buffers at output.

enumerator MFX_ERR_GPU_HANG

Device operation failure caused by GPU hang.

enumerator MFX_ERR_REALLOC_SURFACE

Bigger output surface required.

enumerator MFX_ERR_RESOURCE_MAPPED

Write access is already acquired and user requested another write access, or read access with MFX_MEMORY_NO_WAIT flag.

enumerator MFX_ERR_NOT_IMPLEMENTED

Feature or function not implemented.

enumerator MFX_WRN_IN_EXECUTION

The previous asynchronous operation is in execution.

enumerator MFX_WRN_DEVICE_BUSY

The hardware acceleration device is busy.

enumerator MFX_WRN_VIDEO_PARAM_CHANGED

The video parameters are changed during decoding.

enumerator MFX_WRN_PARTIAL_ACCELERATION

Software acceleration is used.

enumerator MFX_WRN_INCOMPATIBLE_VIDEO_PARAM

Incompatible video parameters.

enumerator MFX_WRN_VALUE_NOT_CHANGED

The value is saturated based on its valid range.

enumerator MFX_WRN_OUT_OF_RANGE

The value is out of valid range.

enumerator MFX_WRN_FILTER_SKIPPED

One of requested filters has been skipped.

enumerator MFX_ERR_NONE_PARTIAL_OUTPUT

Frame is not ready, but bitstream contains partial output.

enumerator MFX_WRN_ALLOC_TIMEOUT_EXPIRED

Timeout expired for internal frame allocation.

enumerator MFX_TASK_DONE

Task has been completed.

enumerator MFX_TASK_WORKING

There is some more work to do.

enumerator MFX_TASK_BUSY

Task is waiting for resources.

enumerator MFX_ERR_MORE_DATA_SUBMIT_TASK

Return MFX_ERR_MORE_DATA but submit internal asynchronous task.

MirroringType

The MirroringType enumerator itemizes mirroring types.

enumerator MFX_MIRRORING_DISABLED
enumerator MFX_MIRRORING_HORIZONTAL
enumerator MFX_MIRRORING_VERTICAL

DenoiseMode

The mfxDenoiseMode enumerator itemizes denoise modes.

enum mfxDenoiseMode

The mfxDenoiseMode enumerator specifies the mode of denoise.

Values:

enumerator MFX_DENOISE_MODE_DEFAULT

Default denoise mode. The library selects the most appropriate denoise mode.

enumerator MFX_DENOISE_MODE_VENDOR

The enumeration to separate common denoise mode above and vendor specific.

enumerator MFX_DENOISE_MODE_INTEL_HVS_AUTO_BDRATE

Indicates auto BD rate improvement in pre-processing before video encoding, ignore Strength.

enumerator MFX_DENOISE_MODE_INTEL_HVS_AUTO_SUBJECTIVE

Indicates auto subjective quality improvement in pre-processing before video encoding, ignore Strength.

enumerator MFX_DENOISE_MODE_INTEL_HVS_AUTO_ADJUST

Indicates auto adjust subjective quality in post-processing (after decoding) for video playback, ignore Strength.

enumerator MFX_DENOISE_MODE_INTEL_HVS_PRE_MANUAL

Indicates manual mode for pre-processing before video encoding, allow to adjust the denoise strength manually.

enumerator MFX_DENOISE_MODE_INTEL_HVS_POST_MANUAL

Indicates manual mode for post-processing for video playback, allow to adjust the denoise strength manually.

MPEG-2 Profiles

enumerator MFX_PROFILE_MPEG2_SIMPLE
enumerator MFX_PROFILE_MPEG2_MAIN
enumerator MFX_PROFILE_MPEG2_HIGH

Multi-view Video Coding Extension Profiles

enumerator MFX_PROFILE_AVC_MULTIVIEW_HIGH

Multi-view high profile.

enumerator MFX_PROFILE_AVC_STEREO_HIGH

Stereo high profile.

MVPrecision

The MVPrecision enumerator specifies the motion estimation precision

enumerator MFX_MVPRECISION_UNKNOWN
enumerator MFX_MVPRECISION_INTEGER
enumerator MFX_MVPRECISION_HALFPEL
enumerator MFX_MVPRECISION_QUARTERPEL

NominalRange

The NominalRange enumerator itemizes pixel’s value nominal range.

enumerator MFX_NOMINALRANGE_UNKNOWN

Range is not defined.

enumerator MFX_NOMINALRANGE_0_255

Range is from 0 to 255.

enumerator MFX_NOMINALRANGE_16_235

Range is from 16 to 235.

PartialBitstreamOutput

The PartialBitstreamOutput enumerator indicates flags of partial bitstream output type.

enumerator MFX_PARTIAL_BITSTREAM_NONE

Do not use partial output

enumerator MFX_PARTIAL_BITSTREAM_SLICE

Partial bitstream output will be aligned to slice granularity

enumerator MFX_PARTIAL_BITSTREAM_BLOCK

Partial bitstream output will be aligned to user-defined block size granularity

enumerator MFX_PARTIAL_BITSTREAM_ANY

Partial bitstream output will be return any coded data available at the end of SyncOperation timeout

PayloadCtrlFlags

The PayloadCtrlFlags enumerator itemizes additional payload properties.

enumerator MFX_PAYLOAD_CTRL_SUFFIX

Insert this payload into HEVC Suffix SEI NAL-unit.

PicStruct

The PicStruct enumerator itemizes picture structure. Use bit-OR’ed values to specify the desired picture type.

enumerator MFX_PICSTRUCT_UNKNOWN

Unspecified or mixed progressive/interlaced/field pictures.

enumerator MFX_PICSTRUCT_PROGRESSIVE

Progressive picture.

enumerator MFX_PICSTRUCT_FIELD_TFF

Top field in first interlaced picture.

enumerator MFX_PICSTRUCT_FIELD_BFF

Bottom field in first interlaced picture.

enumerator MFX_PICSTRUCT_FIELD_REPEATED

First field repeated: pic_struct=5 or 6 in H.264.

enumerator MFX_PICSTRUCT_FRAME_DOUBLING

Double the frame for display: pic_struct=7 in H.264.

enumerator MFX_PICSTRUCT_FRAME_TRIPLING

Triple the frame for display: pic_struct=8 in H.264.

enumerator MFX_PICSTRUCT_FIELD_SINGLE

Single field in a picture.

enumerator MFX_PICSTRUCT_FIELD_TOP

Top field in a picture: pic_struct = 1 in H.265.

enumerator MFX_PICSTRUCT_FIELD_BOTTOM

Bottom field in a picture: pic_struct = 2 in H.265.

enumerator MFX_PICSTRUCT_FIELD_PAIRED_PREV

Paired with previous field: pic_struct = 9 or 10 in H.265.

enumerator MFX_PICSTRUCT_FIELD_PAIRED_NEXT

Paired with next field: pic_struct = 11 or 12 in H.265

PicType

The PicType enumerator itemizes picture type.

enumerator MFX_PICTYPE_UNKNOWN

Picture type is unknown.

enumerator MFX_PICTYPE_FRAME

Picture is a frame.

enumerator MFX_PICTYPE_TOPFIELD

Picture is a top field.

enumerator MFX_PICTYPE_BOTTOMFIELD

Picture is a bottom field.

PlatformCodeName

enumerator MFX_PLATFORM_UNKNOWN

Unknown platform.

enumerator MFX_PLATFORM_SANDYBRIDGE

Intel(r) microarchitecture code name Sandy Bridge.

enumerator MFX_PLATFORM_IVYBRIDGE

Intel(r) microarchitecture code name Ivy Bridge.

enumerator MFX_PLATFORM_HASWELL

Code name Haswell.

enumerator MFX_PLATFORM_BAYTRAIL

Code name Bay Trail.

enumerator MFX_PLATFORM_BROADWELL

Intel(r) microarchitecture code name Broadwell.

enumerator MFX_PLATFORM_CHERRYTRAIL

Code name Cherry Trail.

enumerator MFX_PLATFORM_SKYLAKE

Intel(r) microarchitecture code name Skylake.

enumerator MFX_PLATFORM_APOLLOLAKE

Code name Apollo Lake.

enumerator MFX_PLATFORM_KABYLAKE

Code name Kaby Lake.

enumerator MFX_PLATFORM_GEMINILAKE

Code name Gemini Lake.

enumerator MFX_PLATFORM_COFFEELAKE

Code name Coffee Lake.

enumerator MFX_PLATFORM_CANNONLAKE

Code name Cannon Lake.

enumerator MFX_PLATFORM_ICELAKE

Code name Ice Lake.

enumerator MFX_PLATFORM_JASPERLAKE

Code name Jasper Lake.

enumerator MFX_PLATFORM_ELKHARTLAKE

Code name Elkhart Lake.

enumerator MFX_PLATFORM_TIGERLAKE

Code name Tiger Lake.

enumerator MFX_PLATFORM_ROCKETLAKE

Code name Rocket Lake.

enumerator MFX_PLATFORM_ALDERLAKE_S

Code name Alder Lake S.

enumerator MFX_PLATFORM_ALDERLAKE_P

Code name Alder Lake P.

enumerator MFX_PLATFORM_XEHP_SDV

Code name XeHP SDV.

enumerator MFX_PLATFORM_KEEMBAY

Code name Keem Bay.

PRefType

The PRefType enumerator itemizes models of reference list construction and DPB management when GopRefDist=1.

enumerator MFX_P_REF_DEFAULT

Allow encoder to decide.

enumerator MFX_P_REF_SIMPLE

Regular sliding window used for DPB removal process.

enumerator MFX_P_REF_PYRAMID

Let N be the max reference list’s size. Encoder treats each N’s frame as a ‘strong’ reference and the others as ‘weak’ references. The encoder uses a ‘weak’ reference only for prediction of the next frame and removes it from DPB immediately after use. ‘Strong’ references are removed from DPB by a sliding window.

Protected

The Protected enumerator describes the protection schemes.

enumerator MFX_PROTECTION_CENC_WV_CLASSIC

The protection scheme is based on the Widevine* DRM from Google*.

enumerator MFX_PROTECTION_CENC_WV_GOOGLE_DASH

The protection scheme is based on the Widevine* Modular DRM* from Google*.

RateControlMethod

The RateControlMethod enumerator itemizes bitrate control methods.

enumerator MFX_RATECONTROL_CBR

Use the constant bitrate control algorithm.

enumerator MFX_RATECONTROL_VBR

Use the variable bitrate control algorithm.

enumerator MFX_RATECONTROL_CQP

Use the constant quantization parameter algorithm.

enumerator MFX_RATECONTROL_AVBR

Use the average variable bitrate control algorithm.

enumerator MFX_RATECONTROL_LA

Use the VBR algorithm with look ahead. It is a special bitrate control mode in the AVC encoder that has been designed to improve encoding quality. It works by performing extensive analysis of several dozen frames before the actual encoding and as a side effect significantly increases encoding delay and memory consumption.

The only available rate control parameter in this mode is mfxInfoMFX::TargetKbps. Two other parameters, MaxKbps and InitialDelayInKB, are ignored. To control LA depth the application can use mfxExtCodingOption2::LookAheadDepth parameter.

This method is not HRD compliant.

enumerator MFX_RATECONTROL_ICQ

Use the Intelligent Constant Quality algorithm. This algorithm improves subjective video quality of encoded stream. Depending on content, it may or may not decrease objective video quality. Only one control parameter is used - quality factor, specified by mfxInfoMFX::ICQQuality.

enumerator MFX_RATECONTROL_VCM

Use the Video Conferencing Mode algorithm. This algorithm is similar to the VBR and uses the same set of parameters mfxInfoMFX::InitialDelayInKB, TargetKbpsandMaxKbps. It is tuned for IPPP GOP pattern and streams with strong temporal correlation between frames. It produces better objective and subjective video quality in these conditions than other bitrate control algorithms. It does not support interlaced content, B-frames and produced stream is not HRD compliant.

enumerator MFX_RATECONTROL_LA_ICQ

Use Intelligent Constant Quality algorithm with look ahead. Quality factor is specified by mfxInfoMFX::ICQQuality. To control LA depth the application can use mfxExtCodingOption2::LookAheadDepth parameter.

This method is not HRD compliant.

enumerator MFX_RATECONTROL_LA_HRD

MFX_RATECONTROL_LA_EXT has been removed

Use HRD compliant look ahead rate control algorithm.

enumerator MFX_RATECONTROL_QVBR

Use the variable bitrate control algorithm with constant quality. This algorithm trying to achieve the target subjective quality with the minimum number of bits, while the bitrate constraint and HRD compliance are satisfied. It uses the same set of parameters as VBR and quality factor specified by mfxExtCodingOption3::QVBRQuality.

ROImode

The ROImode enumerator itemizes QP adjustment mode for ROIs.

enumerator MFX_ROI_MODE_PRIORITY

Priority mode.

enumerator MFX_ROI_MODE_QP_DELTA

QP mode

enumerator MFX_ROI_MODE_QP_VALUE

Absolute QP

Rotation

The Rotation enumerator itemizes the JPEG rotation options.

enumerator MFX_ROTATION_0

No rotation.

enumerator MFX_ROTATION_90

90 degree rotation.

enumerator MFX_ROTATION_180

180 degree rotation.

enumerator MFX_ROTATION_270

270 degree rotation.

SampleAdaptiveOffset

The SampleAdaptiveOffset enumerator uses bit-ORed values to itemize corresponding HEVC encoding feature.

enumerator MFX_SAO_UNKNOWN

Use default value for platform/TargetUsage.

enumerator MFX_SAO_DISABLE

Disable SAO. If set during Init leads to SPS sample_adaptive_offset_enabled_flag = 0. If set during Runtime, leads to to slice_sao_luma_flag = 0 and slice_sao_chroma_flag = 0 for current frame.

enumerator MFX_SAO_ENABLE_LUMA

Enable SAO for luma (slice_sao_luma_flag = 1).

enumerator MFX_SAO_ENABLE_CHROMA

Enable SAO for chroma (slice_sao_chroma_flag = 1).

ScalingMode

The ScalingMode enumerator itemizes variants of scaling filter implementation.

enumerator MFX_SCALING_MODE_DEFAULT

Default scaling mode. The library selects the most appropriate scaling method.

enumerator MFX_SCALING_MODE_LOWPOWER

Low power scaling mode which is applicable for library implementations. The exact scaling algorithm is defined by the library.

enumerator MFX_SCALING_MODE_QUALITY

The best quality scaling mode.

enumerator MFX_SCALING_MODE_VENDOR

The enumeration to separate common scaling controls above and vendor specific.

enumerator MFX_SCALING_MODE_INTEL_GEN_COMPUTE
enumerator MFX_SCALING_MODE_INTEL_GEN_VDBOX

The mode to run scaling operation on Execution Units (EUs).

enumerator MFX_SCALING_MODE_INTEL_GEN_VEBOX

The special optimization mode where scaling operation running on SFC (Scaler & Format Converter) is coupled with VDBOX (also known as Multi-Format Codec fixed-function engine). This mode is applicable for DECODE_VPP domain functions.

ScenarioInfo

The ScenarioInfo enumerator itemizes scenarios for the encoding session.

enumerator MFX_SCENARIO_UNKNOWN
enumerator MFX_SCENARIO_DISPLAY_REMOTING
enumerator MFX_SCENARIO_VIDEO_CONFERENCE
enumerator MFX_SCENARIO_ARCHIVE
enumerator MFX_SCENARIO_LIVE_STREAMING
enumerator MFX_SCENARIO_CAMERA_CAPTURE
enumerator MFX_SCENARIO_VIDEO_SURVEILLANCE
enumerator MFX_SCENARIO_GAME_STREAMING
enumerator MFX_SCENARIO_REMOTE_GAMING

SegmentFeature

The SegmentFeature enumerator indicates features enabled for the segment. These values are used with the mfxVP9SegmentParam::FeatureEnabled parameter.

enumerator MFX_VP9_SEGMENT_FEATURE_QINDEX

Quantization index delta.

enumerator MFX_VP9_SEGMENT_FEATURE_LOOP_FILTER

Loop filter level delta.

enumerator MFX_VP9_SEGMENT_FEATURE_REFERENCE

Reference frame.

enumerator MFX_VP9_SEGMENT_FEATURE_SKIP

Skip.

SegmentIdBlockSize

The SegmentIdBlockSize enumerator indicates the block size represented by each segment_id in segmentation map. These values are used with the mfxExtVP9Segmentation::SegmentIdBlockSize parameter.

enumerator MFX_VP9_SEGMENT_ID_BLOCK_SIZE_UNKNOWN

Unspecified block size.

enumerator MFX_VP9_SEGMENT_ID_BLOCK_SIZE_8x8

8x8 block size.

enumerator MFX_VP9_SEGMENT_ID_BLOCK_SIZE_16x16

16x16 block size.

enumerator MFX_VP9_SEGMENT_ID_BLOCK_SIZE_32x32

32x32 block size.

enumerator MFX_VP9_SEGMENT_ID_BLOCK_SIZE_64x64

64x64 block size.

SkipFrame

The SkipFrame enumerator is used to define usage of mfxEncodeCtrl::SkipFrame parameter.

enumerator MFX_SKIPFRAME_NO_SKIP

Frame skipping is disabled, mfxEncodeCtrl::SkipFrame is ignored.

enumerator MFX_SKIPFRAME_INSERT_DUMMY

Skipping is allowed, when mfxEncodeCtrl::SkipFrame is set encoder inserts into bitstream frame where all macroblocks are encoded as skipped. Only non-reference P- and B-frames can be skipped. If GopRefDist = 1 and mfxEncodeCtrl::SkipFrame is set for reference P-frame, it will be encoded as non-reference.

enumerator MFX_SKIPFRAME_INSERT_NOTHING

Similar to MFX_SKIPFRAME_INSERT_DUMMY, but when mfxEncodeCtrl::SkipFrame is set encoder inserts nothing into bitstream.

enumerator MFX_SKIPFRAME_BRC_ONLY

mfxEncodeCtrl::SkipFrame indicates number of missed frames before the current frame. Affects only BRC, current frame will be encoded as usual.

TargetUsage

The TargetUsage enumerator itemizes a range of numbers from MFX_TARGETUSAGE_1, best quality, to MFX_TARGETUSAGE_7, best speed. It indicates trade-offs between quality and speed. The application can use any number in the range. The actual number of supported target usages depends on implementation. If the specified target usage is not supported, the encoder will use the closest supported value.

enumerator MFX_TARGETUSAGE_1

Best quality

enumerator MFX_TARGETUSAGE_2
enumerator MFX_TARGETUSAGE_3
enumerator MFX_TARGETUSAGE_4

Balanced quality and speed.

enumerator MFX_TARGETUSAGE_5
enumerator MFX_TARGETUSAGE_6
enumerator MFX_TARGETUSAGE_7

Best speed

enumerator MFX_TARGETUSAGE_UNKNOWN

Unspecified target usage.

enumerator MFX_TARGETUSAGE_BEST_QUALITY

Best quality.

enumerator MFX_TARGETUSAGE_BALANCED

Balanced quality and speed.

enumerator MFX_TARGETUSAGE_BEST_SPEED

Best speed.

TelecinePattern

The TelecinePattern enumerator itemizes telecine patterns.

enumerator MFX_TELECINE_PATTERN_32

3:2 telecine.

enumerator MFX_TELECINE_PATTERN_2332

2:3:3:2 telecine.

enumerator MFX_TELECINE_PATTERN_FRAME_REPEAT

One frame repeat telecine.

enumerator MFX_TELECINE_PATTERN_41

4:1 telecine.

enumerator MFX_TELECINE_POSITION_PROVIDED

User must provide position inside a sequence of 5 frames where the artifacts start.

TimeStampCalc

The TimeStampCalc enumerator itemizes time-stamp calculation methods.

enumerator MFX_TIMESTAMPCALC_UNKNOWN

The time stamp calculation is based on the input frame rate if time stamp is not explicitly specified.

enumerator MFX_TIMESTAMPCALC_TELECINE

Adjust time stamp to 29.97fps on 24fps progressively encoded sequences if telecine attributes are available in the bitstream and time stamp is not explicitly specified. The input frame rate must be specified.

TransferMatrix

The TransferMatrix enumerator itemizes color transfer matrices.

enumerator MFX_TRANSFERMATRIX_UNKNOWN

Transfer matrix is not specified

enumerator MFX_TRANSFERMATRIX_BT709

Transfer matrix from ITU-R BT.709 standard.

enumerator MFX_TRANSFERMATRIX_BT601

Transfer matrix from ITU-R BT.601 standard.

TrellisControl

The TrellisControl enumerator is used to control trellis quantization in AVC encoder. The application can turn it on or off for any combination of I, P, and B frames by combining different enumerator values. For example, MFX_TRELLIS_I | MFX_TRELLIS_B turns it on for I and B frames.

enumerator MFX_TRELLIS_UNKNOWN

Default value, it is up to the encoder to turn trellis quantization on or off.

enumerator MFX_TRELLIS_OFF

Turn trellis quantization off for all frame types.

enumerator MFX_TRELLIS_I

Turn trellis quantization on for I-frames.

enumerator MFX_TRELLIS_P

Turn trellis quantization on for P-frames.

enumerator MFX_TRELLIS_B

Turn trellis quantization on for B-frames.

VP9ReferenceFrame

The VP9ReferenceFrame enumerator itemizes reference frame type by the mfxVP9SegmentParam::ReferenceFrame parameter.

enumerator MFX_VP9_REF_INTRA

Intra.

enumerator MFX_VP9_REF_LAST

Last.

enumerator MFX_VP9_REF_GOLDEN

Golden.

enumerator MFX_VP9_REF_ALTREF

Alternative reference.

VPPFieldProcessingMode

The VPPFieldProcessingMode enumerator is used to control VPP field processing algorithm.

enumerator MFX_VPP_COPY_FRAME

Copy the whole frame.

enumerator MFX_VPP_COPY_FIELD

Copy only one field.

enumerator MFX_VPP_SWAP_FIELDS

Swap top and bottom fields.

WeightedPred

The WeightedPred enumerator itemizes weighted prediction modes.

enumerator MFX_WEIGHTED_PRED_UNKNOWN

Allow encoder to decide.

enumerator MFX_WEIGHTED_PRED_DEFAULT

Use default weighted prediction.

enumerator MFX_WEIGHTED_PRED_EXPLICIT

Use explicit weighted prediction.

enumerator MFX_WEIGHTED_PRED_IMPLICIT

Use implicit weighted prediction (for B-frames only).

FilmGrainFlags

The FilmGrainFlags enumerator itemizes flags in AV1 film grain parameters.

enumerator MFX_FILM_GRAIN_NO

Film grain isn’t added to this frame.

enumerator MFX_FILM_GRAIN_APPLY

Film grain is added to this frame.

enumerator MFX_FILM_GRAIN_UPDATE

New set of film grain parameters is sent for this frame.

enumerator MFX_FILM_GRAIN_CHROMA_SCALING_FROM_LUMA

Chroma scaling is inferred from luma scaling.

enumerator MFX_FILM_GRAIN_OVERLAP

Overlap between film grain blocks is applied.

enumerator MFX_FILM_GRAIN_CLIP_TO_RESTRICTED_RANGE

Clipping to the restricted (studio) range is applied after adding the film grain.

mfxHyperMode

enum mfxHyperMode

The mfxHyperMode enumerator describes HyperMode implementation behavior.

Values:

enumerator MFX_HYPERMODE_OFF

Don’t use HyperMode implementation.

enumerator MFX_HYPERMODE_ON

Enable HyperMode implementation and return error if some issue on initialization.

enumerator MFX_HYPERMODE_ADAPTIVE

Enable HyperMode implementation and switch to single fallback if some issue on initialization.

mfxPoolAllocationPolicy

enum mfxPoolAllocationPolicy

Specifies the surface pool allocation policies.

Values:

enumerator MFX_ALLOCATION_OPTIMAL

Recommends to limit max pool size by sum of requested surfaces asked by components.

enumerator MFX_ALLOCATION_UNLIMITED

Dynamic allocation with no limit.

enumerator MFX_ALLOCATION_LIMITED

Max pool size is limited by NumberToPreAllocate + DeltaToAllocateOnTheFly.

mfxVPPPoolType

enum mfxVPPPoolType

Values:

enumerator MFX_VPP_POOL_IN

Input pool.

enumerator MFX_VPP_POOL_OUT

Output pool.

mfxAV1SegmentIdBlockSize

The mfxAV1SegmentIdBlockSize enumerator indicates the block size represented by each segment_id in segmentation map.

enum mfxAV1SegmentIdBlockSize

The AV1 SegmentIdBlockSize enumerator indicates the block size represented by each segment_id in segmentation map. These values are used with the mfxExtAV1Segmentation::SegmentIdBlockSize parameter.

Values:

enumerator MFX_AV1_SEGMENT_ID_BLOCK_SIZE_UNSPECIFIED

Unspecified block size.

enumerator MFX_AV1_SEGMENT_ID_BLOCK_SIZE_4x4

block size 4x4

enumerator MFX_AV1_SEGMENT_ID_BLOCK_SIZE_8x8

block size 8x8

enumerator MFX_AV1_SEGMENT_ID_BLOCK_SIZE_16x16

block size 16x16

enumerator MFX_AV1_SEGMENT_ID_BLOCK_SIZE_32x32

block size 32x32

enumerator MFX_AV1_SEGMENT_ID_BLOCK_SIZE_64x64

block size 64x64

enumerator MFX_AV1_SEGMENT_ID_BLOCK_SIZE_128x128

block size 128x128

AV1SegmentFeature

The AV1SegmentFeature enumerator indicates features enabled for the segment.

enumerator MFX_AV1_SEGMENT_FEATURE_ALT_QINDEX

use alternate Quantizer.

enumerator MFX_AV1_SEGMENT_FEATURE_ALT_LF_Y_VERT

use alternate loop filter value on y plane vertical.

enumerator MFX_AV1_SEGMENT_FEATURE_ALT_LF_Y_HORZ

use alternate loop filter value on y plane horizontal.

enumerator MFX_AV1_SEGMENT_FEATURE_ALT_LF_U

use alternate loop filter value on u plane.

enumerator MFX_AV1_SEGMENT_FEATURE_ALT_LF_V

use alternate loop filter value on v plane.

enumerator MFX_AV1_SEGMENT_FEATURE_REFERENCE

use segment reference frame.

enumerator MFX_AV1_SEGMENT_FEATURE_SKIP

use segment (0,0) + skip mode.

enumerator MFX_AV1_SEGMENT_FEATURE_GLOBALMV

use global motion vector.