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.

enumerator MFX_FOURCC_XYUV#

8bit per sample 4:4:4 format packed in 32 bits, X=unused/undefined, ‘X’ channel is 8 MSBs, then ‘Y’, then ‘U’, and then ‘V’ channels. This format should be mapped to VA_FOURCC_XYUV.

enumerator MFX_FOURCC_ABGR16F#

16 bits float point 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_FLOAT or D3DFMT_A16B16G16R16F formats..

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#
enumerator MFX_CONTENT_NOISY_VIDEO#

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.

enumerator MFX_ERROR_JPEG_APP0_MARKER#

Invalid/corrupted APP0 marker.

enumerator MFX_ERROR_JPEG_APP1_MARKER#

Invalid/corrupted APP1 marker.

enumerator MFX_ERROR_JPEG_APP2_MARKER#

Invalid/corrupted APP2 marker.

enumerator MFX_ERROR_JPEG_APP3_MARKER#

Invalid/corrupted APP3 marker.

enumerator MFX_ERROR_JPEG_APP4_MARKER#

Invalid/corrupted APP4 marker.

enumerator MFX_ERROR_JPEG_APP5_MARKER#

Invalid/corrupted APP5 marker.

enumerator MFX_ERROR_JPEG_APP6_MARKER#

Invalid/corrupted APP6 marker.

enumerator MFX_ERROR_JPEG_APP7_MARKER#

Invalid/corrupted APP7 marker.

enumerator MFX_ERROR_JPEG_APP8_MARKER#

Invalid/corrupted APP8 marker.

enumerator MFX_ERROR_JPEG_APP9_MARKER#

Invalid/corrupted APP9 marker.

enumerator MFX_ERROR_JPEG_APP10_MARKER#

Invalid/corrupted APP10 marker.

enumerator MFX_ERROR_JPEG_APP11_MARKER#

Invalid/corrupted APP11 marker.

enumerator MFX_ERROR_JPEG_APP12_MARKER#

Invalid/corrupted APP12 marker.

enumerator MFX_ERROR_JPEG_APP13_MARKER#

Invalid/corrupted APP13 marker.

enumerator MFX_ERROR_JPEG_APP14_MARKER#

Invalid/corrupted APP14 marker.

enumerator MFX_ERROR_JPEG_DQT_MARKER#

Invalid/corrupted DQT marker.

enumerator MFX_ERROR_JPEG_SOF0_MARKER#

Invalid/corrupted SOF0 marker.

enumerator MFX_ERROR_JPEG_DHT_MARKER#

Invalid/corrupted DHT marker.

enumerator MFX_ERROR_JPEG_DRI_MARKER#

Invalid/corrupted DRI marker.

enumerator MFX_ERROR_JPEG_SOS_MARKER#

Invalid/corrupted SOS marker.

enumerator MFX_ERROR_JPEG_UNKNOWN_MARKER#

Unknown Marker.

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_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#

Reserved for future use.

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 mfxExtDirtyRect 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 color 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 color 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 color volume of the input of video processing. If color 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 color volume changes per sequence. If color 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.

enumerator MFX_EXTBUFF_UNIVERSAL_REFLIST_CTRL#

This extended buffer defines additional encoding controls for reference list. See the mfxExtRefListCtrl 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_ENCODESTATS#

See the mfxExtEncodeStats structure for 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#

The hint to enable GPU accelerated copying when it is supported by the library. If the library doesn’t support GPU accelerated copy the operation will be made by CPU.

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 when encoding; Clip does not have valid HDE SEI when decoding.

enumerator MFX_PAYLOAD_IDR#

Insert payload on IDR frames when encoding; Clip has valid HDE SEI when decoding.

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.

enumerator MFX_DATA_TYPE_PTR#

Generic type pointer.

enumerator MFX_DATA_TYPE_FP16#

16-bit half 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.

enumerator MFX_HANDLE_PXP_CONTEXT#

Pointer to PXP context for protected content support.

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.

enumerator MFX_IMPLCAPS_DEVICE_ID_EXTENDED#

Deliver extended device ID information as mfxExtendedDeviceId structure.

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_ALDERLAKE_N#

Code name Alder Lake N.

enumerator MFX_PLATFORM_XEHP_SDV#

Code name XeHP SDV.

enumerator MFX_PLATFORM_DG2#

Code name DG2.

enumerator MFX_PLATFORM_ATS_M#

Code name ATS-M, same media functionality as DG2.

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.

mfxEncodeBlkStatsMemLayout#

enum mfxEncodeBlkStatsMemLayout#

< The enum to specify memory layout for statistics.

Values:

enumerator MFX_ENCODESTATS_MEMORY_LAYOUT_DEFAULT#

The default memory layout for statistics.

mfxEncodeStatsMode#

enum mfxEncodeStatsMode#

Values:

enumerator MFX_ENCODESTATS_MODE_DEFAULT#

Encode mode is selected by the implementation.

enumerator MFX_ENCODESTATS_MODE_ENCODE#

Full encode mode.

EncodeStatsLevel#

Flags to specify what statistics will be reported by the implementation.

enumerator MFX_ENCODESTATS_LEVEL_BLK#

Block level statistics.

enumerator MFX_ENCODESTATS_LEVEL_FRAME#

Frame level statistics.