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_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_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.
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_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.
-
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.
-
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.
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.
-
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.
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¶
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
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
mfxMediaAdapterType¶
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.
-
enumerator
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.
-
enumerator
mfxResourceType¶
-
enum
mfxResourceType
¶ Values:
-
enumerator
MFX_RESOURCE_SYSTEM_SURFACE
¶ System memory.
-
enumerator
MFX_RESOURCE_VA_SURFACE
¶ VA surface.
-
enumerator
MFX_RESOURCE_VA_BUFFER
¶ VA buffer.
-
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.
-
enumerator
mfxSkipMode¶
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_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.
-
enumerator
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.
-
enumerator
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.