Skip to content

Commit a4cfaeb

Browse files
authored
[oneVPL] Update to oneVPL Spec v2.6 (#393)
1 parent 96c19da commit a4cfaeb

20 files changed

+429
-79
lines changed

oneapi-doc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"version": "1.1-rev-1",
3-
"vpl_version": "2.5.0",
3+
"vpl_version": "2.6.0",
44
"art_version": "1.0-rev-1"
55
}

releases/index.rst

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,9 @@ oneVPL
306306
* - Version
307307
- Date
308308
- View
309+
* - `oneVPL v2.6.0`_
310+
- 2021-12-3
311+
- `HTML <https://spec.oneapi.io/onevpl/2.6.0/index.html>`__
309312
* - `oneVPL v2.5.0`_
310313
- 2021-8-30
311314
- `HTML <https://spec.oneapi.io/onevpl/2.5.0/index.html>`__
@@ -319,6 +322,41 @@ oneVPL
319322
Release Notes
320323
-------------
321324

325+
oneVPL v2.6.0
326+
~~~~~~~~~~~~~
327+
328+
New in this release:
329+
330+
* New development practice to treat some new API features as
331+
experimental was introduced.
332+
All new experimental API is wrapped with ONE_EXPERIMENTAL macro.
333+
* Experimental API: introduced MFX_HANDLE_PXP_CONTEXT to support
334+
protected content.
335+
* Experimental API: introduced CPUEncToolsProcessing hint to run
336+
adaptive encoding tools on CPU.
337+
* Experimental API: extended device ID reporting to cover
338+
multi-adapter cases.
339+
* Experimental API: introduced common alias for mfxExtAVCRefListCtrl
340+
* Experimental API: mfxExtDecodeErrorReport ErrorTypes enum extended
341+
with new JPEG/MJPEG decode error report.
342+
* Clarified LowPower flag meaning.
343+
* Described that mfxExtThreadsParam can be attached to
344+
mfxInitializationParam during session initialization.
345+
* Refined description of the MFXVideoDECODE_VPP_DecodeFrameAsync
346+
function.
347+
* New dispatcher's config filter property: MediaAdapterType.
348+
* Marked all deprecated fields as MFX_DEPRECATED.
349+
* Introduced priority loading option for custom libraries.
350+
* Clarified AV1 encoder behavior about writing of IVF headers.
351+
* Removed outdated note about loading priority of |msdk_full_name|.
352+
For loading details see
353+
:ref:`onevpl_coexistense`.
354+
* Spelled out mfxVariant type usage for strings.
355+
* New product names for platforms:
356+
357+
* Code name DG2,
358+
* Code name ATS-M.
359+
322360
oneVPL v2.5.0
323361
~~~~~~~~~~~~~
324362

source/elements/oneVPL/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2193,7 +2193,7 @@ INCLUDE_FILE_PATTERNS =
21932193
# recursively expanded use the := operator instead of the = operator.
21942194
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
21952195

2196-
PREDEFINED = MFX_CDECL= MFX_DEPRECATED=
2196+
PREDEFINED = MFX_CDECL= MFX_DEPRECATED= ONEVPL_EXPERIMENTAL
21972197

21982198
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
21992199
# tag can be used to specify a list of macro names that should be expanded. The

source/elements/oneVPL/include/vpl/mfxcommon.h

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,13 @@ enum {
161161

162162
MFX_PACK_BEGIN_USUAL_STRUCT()
163163
/*! Specifies options for threads created by this session. Attached to the
164-
mfxInitParam structure during legacy Intel(r) Media SDK session initialization. */
164+
mfxInitParam structure during legacy Intel(r) Media SDK session initialization
165+
or to mfxInitializationParam by the dispatcher in MFXCreateSession function. */
165166
typedef struct {
166167
mfxExtBuffer Header; /*!< Extension buffer header. Header.BufferId must be equal to MFX_EXTBUFF_THREADS_PARAM. */
167168

168169
mfxU16 NumThread; /*!< The number of threads. */
169-
mfxI32 SchedulingType; /*!< Scheduling policy for all threads. */
170+
mfxI32 SchedulingType; /*!< Scheduling policy for all threads.*/
170171
mfxI32 Priority; /*!< Priority for all threads. */
171172
mfxU16 reserved[55]; /*!< Reserved for future use. */
172173
} mfxExtThreadsParam;
@@ -197,6 +198,8 @@ enum {
197198
MFX_PLATFORM_ALDERLAKE_P = 44, /*!< Code name Alder Lake P. */
198199
MFX_PLATFORM_ARCTICSOUND_P = 45,
199200
MFX_PLATFORM_XEHP_SDV = 45, /*!< Code name XeHP SDV. */
201+
MFX_PLATFORM_DG2 = 46, /*!< Code name DG2. */
202+
MFX_PLATFORM_ATS_M = 46, /*!< Code name ATS-M, same media functionality as DG2. */
200203
MFX_PLATFORM_KEEMBAY = 50, /*!< Code name Keem Bay. */
201204
};
202205

@@ -459,14 +462,51 @@ typedef struct {
459462
} mfxImplementedFunctions;
460463
MFX_PACK_END()
461464

465+
#ifdef ONEVPL_EXPERIMENTAL
466+
467+
#define MFX_EXTENDEDDEVICEID_VERSION MFX_STRUCT_VERSION(1, 0)
468+
469+
MFX_PACK_BEGIN_USUAL_STRUCT()
470+
/*! Specifies variouse physical device properties for device matching and identification outside of oneVPL. */
471+
typedef struct {
472+
mfxStructVersion Version; /*!< Version of the structure. */
473+
mfxU16 VendorID; /*!< PCI vendor ID. */
474+
mfxU16 DeviceID; /*!< PCI device ID. */
475+
mfxU32 PCIDomain; /*!< PCI bus domain. Equals to '0' if OS doesn't support it or
476+
has sequential numbering of buses accross domains. */
477+
mfxU32 PCIBus; /*!< The number of the bus that the physical device is located on. */
478+
mfxU32 PCIDevice; /*!< The index of the physical device on the bus. */
479+
mfxU32 PCIFunction; /*!< The function number of the device on the physical device. */
480+
mfxU8 DeviceLUID[8]; /*!< LUID of DXGI adapter. */
481+
mfxU32 LUIDDeviceNodeMask; /*!< Bitfield identifying the node within a linked
482+
device adapter corresponding to the device. */
483+
mfxU32 LUIDValid; /*!< Boolean value that will be 1 if DeviceLUID contains a valid LUID
484+
and LUIDDeviceNodeMask contains a valid node mask,
485+
and 0 if they do not. */
486+
mfxU32 DRMRenderNodeNum; /*!< Number of the DRM render node from the path /dev/dri/RenderD<num>.
487+
Value equals to 0 means that this field doesn't contain valid DRM Render
488+
Node number.*/
489+
mfxU32 DRMPrimaryNodeNum; /*!< Number of the DRM primary node from the path /dev/dri/card<num>.
490+
Value equals to 0x7FFFFFFF means that this field doesn't contain valid DRM Primary
491+
Node number.*/
492+
mfxU8 reserved1[20]; /*!< Reserved for future use. */
493+
mfxChar DeviceName[MFX_STRFIELD_LEN]; /*!< Null-terminated string in utf-8 with the name of the device. */
494+
} mfxExtendedDeviceId;
495+
MFX_PACK_END()
496+
497+
#endif
462498

463499
/* The mfxImplCapsDeliveryFormat enumerator specifies delivery format of the implementation capability. */
464500
typedef enum {
465501
MFX_IMPLCAPS_IMPLDESCSTRUCTURE = 1, /*!< Deliver capabilities as mfxImplDescription structure. */
466502
MFX_IMPLCAPS_IMPLEMENTEDFUNCTIONS = 2, /*!< Deliver capabilities as mfxImplementedFunctions structure. */
467-
MFX_IMPLCAPS_IMPLPATH = 3 /*!< Deliver pointer to the null-terminated string with the path to the
503+
MFX_IMPLCAPS_IMPLPATH = 3, /*!< Deliver pointer to the null-terminated string with the path to the
468504
implementation. String is delivered in a form of buffer of
469505
mfxChar type. */
506+
#ifdef ONEVPL_EXPERIMENTAL
507+
MFX_IMPLCAPS_DEVICE_ID_EXTENDED = 4 /*!< Deliver extended device ID information as mfxExtendedDeviceId
508+
structure.*/
509+
#endif
470510
} mfxImplCapsDeliveryFormat;
471511

472512
MFX_PACK_BEGIN_STRUCT_W_PTR()

source/elements/oneVPL/include/vpl/mfxdefs.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#define __MFXDEFS_H__
99

1010
#define MFX_VERSION_MAJOR 2
11-
#define MFX_VERSION_MINOR 5
11+
#define MFX_VERSION_MINOR 6
1212

1313
// MFX_VERSION - version of API that 'assumed' by build may be provided externally
1414
// if it omitted then latest stable API derived from Major.Minor is assumed
@@ -208,7 +208,7 @@ typedef enum {
208208
} mfxVariantType;
209209

210210
MFX_PACK_BEGIN_STRUCT_W_PTR()
211-
/*! The mfxVariantType enumerator data types for mfxVarianf type. */
211+
/*! The mfxVariantType enumerator data types for mfxVariant type. */
212212
typedef struct {
213213
mfxStructVersion Version; /*!< Version of the structure. */
214214
mfxVariantType Type; /*!< Value type. */
@@ -224,7 +224,7 @@ typedef struct {
224224
mfxI64 I64; /*!< mfxI64 data. */
225225
mfxF32 F32; /*!< mfxF32 data. */
226226
mfxF64 F64; /*!< mfxF64 data. */
227-
mfxHDL Ptr; /*!< Pointer. */
227+
mfxHDL Ptr; /*!< Pointer. When this points to a string the string must be null terminated. */
228228
} Data; /*!< Value data member. */
229229
} mfxVariant;
230230
MFX_PACK_END()

source/elements/oneVPL/include/vpl/mfxstructures.h

Lines changed: 72 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ enum {
128128
MFX_FOURCC_RGB565 = MFX_MAKEFOURCC('R','G','B','2'), /*!< 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. */
129129
/*! 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. */
130130
MFX_FOURCC_RGBP = MFX_MAKEFOURCC('R','G','B','P'),
131-
MFX_FOURCC_RGB3 = MFX_MAKEFOURCC('R','G','B','3'), /* Deprecated */
131+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_FOURCC_RGB3) = MFX_MAKEFOURCC('R','G','B','3'), /* Deprecated. */
132132
MFX_FOURCC_RGB4 = MFX_MAKEFOURCC('R','G','B','4'), /*!< RGB4 (RGB32) color planes. BGRA is the order, ‘B’ is 8 MSBs, then 8 bits for ‘G’ channel, then ‘R’ and ‘A’ channels. */
133133
/*!
134134
Internal color format. The application should use the following functions to create a surface that corresponds to the Direct3D* version in use.
@@ -353,6 +353,9 @@ typedef enum {
353353
MFX_HANDLE_VA_CONTEXT_ID = 7, /*!< Pointer to VAContextID interface. It represents external VA context for Common Encryption usage model. */
354354
MFX_HANDLE_CM_DEVICE = 8, /*!< Pointer to CmDevice interface ( Intel(r) C for Metal Runtime ). */
355355
MFX_HANDLE_HDDLUNITE_WORKLOADCONTEXT = 9, /*!< Pointer to HddlUnite::WorkloadContext interface. */
356+
#ifdef ONEVPL_EXPERIMENTAL
357+
MFX_HANDLE_PXP_CONTEXT = 10, /*!< Pointer to PXP context for protected content support. */
358+
#endif
356359
} mfxHandleType;
357360

358361
/*! The mfxMemoryFlags enumerator specifies memory access mode. */
@@ -616,7 +619,7 @@ MFX_PACK_BEGIN_USUAL_STRUCT()
616619
typedef struct {
617620
mfxU32 reserved[7]; /*!< Reserved for future use. */
618621

619-
/*! For encoders, set this flag to ON to reduce power consumption and GPU usage. See the CodingOptionValue enumerator for values
622+
/*! Hint to enable low power consumption mode for encoders. See the CodingOptionValue enumerator for values
620623
of this option. Use the Query API function to check if this feature is supported. */
621624
mfxU16 LowPower;
622625
/*! Specifies a multiplier for bitrate control parameters. Affects the following variables: InitialDelayInKB, BufferSizeInKB,
@@ -1166,7 +1169,7 @@ typedef struct {
11661169
mfxU16 MECostType; /*!< Motion estimation cost type. This value is reserved and must be zero. */
11671170
mfxU16 MESearchType; /*!< Motion estimation search algorithm. This value is reserved and must be zero. */
11681171
mfxI16Pair MVSearchWindow; /*!< Rectangular size of the search window for motion estimation. This parameter is reserved and must be (0, 0). */
1169-
mfxU16 EndOfSequence; /* Deprecated */
1172+
MFX_DEPRECATED mfxU16 EndOfSequence; /* Deprecated */
11701173
mfxU16 FramePicture; /*!< Set this flag to encode interlaced fields as interlaced frames. This flag does not affect progressive input frames. See the CodingOptionValue enumerator for values of this option. */
11711174

11721175
mfxU16 CAVLC; /*!< If set, CAVLC is used; if unset, CABAC is used for encoding. See the CodingOptionValue enumerator for values of this option. */
@@ -1228,7 +1231,7 @@ typedef struct {
12281231
mfxU16 MaxDecFrameBuffering; /*!< Specifies the maximum number of frames buffered in a DPB. A value of zero means unspecified. */
12291232

12301233
mfxU16 AUDelimiter; /*!< Set this flag to insert the Access Unit Delimiter NAL. See the CodingOptionValue enumerator for values of this option. */
1231-
mfxU16 EndOfStream; /* Deprecated */
1234+
MFX_DEPRECATED mfxU16 EndOfStream; /* Deprecated */
12321235
/*!
12331236
Set this flag to insert the picture timing SEI with pic_struct syntax element. See sub-clauses D.1.2 and D.2.2 of the ISO/IEC 14496-10
12341237
specification for the definition of this syntax element. See the CodingOptionValue enumerator for values of this option.
@@ -1693,7 +1696,7 @@ typedef struct {
16931696
mfxU16 EnableNalUnitType;
16941697

16951698
union {
1696-
mfxU16 ExtBrcAdaptiveLTR; /* Deprecated */
1699+
MFX_DEPRECATED mfxU16 ExtBrcAdaptiveLTR; /* Deprecated */
16971700

16981701
/*!
16991702
If this flag is set to ON, encoder will mark, modify, or remove LTR frames based on encoding parameters and content
@@ -1715,7 +1718,19 @@ typedef struct {
17151718
If this flag is set to OFF, regular reference frames are used for encoding.
17161719
*/
17171720
mfxU16 AdaptiveRef;
1721+
1722+
#ifdef ONEVPL_EXPERIMENTAL
1723+
/*!
1724+
The tri-state option specifies hint for the library to execute encoding tools processing on CPU.
1725+
It may give better encoding quality, but leads to higher CPU utilization.
1726+
The library can ignore MFX_CODINGOPTION_ON if processing on CPU is not supported.
1727+
*/
1728+
mfxU16 CPUEncToolsProcessing;
1729+
mfxU16 reserved[160];
1730+
#else
17181731
mfxU16 reserved[161];
1732+
#endif
1733+
17191734
} mfxExtCodingOption3;
17201735
MFX_PACK_END()
17211736

@@ -1786,9 +1801,9 @@ enum {
17861801
The application can attach this buffer to the mfxVideoParam structure for video processing initialization.
17871802
*/
17881803
MFX_EXTBUFF_VPP_DENOISE2 = MFX_MAKEFOURCC('D','N','I','2'),
1789-
MFX_EXTBUFF_VPP_DENOISE = MFX_MAKEFOURCC('D','N','I','S'), /*!< Deprecated in 2.2 API version.*/
1790-
MFX_EXTBUFF_VPP_SCENE_ANALYSIS = MFX_MAKEFOURCC('S','C','L','Y'),
1791-
MFX_EXTBUFF_VPP_SCENE_CHANGE = MFX_EXTBUFF_VPP_SCENE_ANALYSIS, /* Deprecated */
1804+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_EXTBUFF_VPP_DENOISE) = MFX_MAKEFOURCC('D','N','I','S'), /*!< Deprecated in 2.2 API version.*/
1805+
MFX_EXTBUFF_VPP_SCENE_ANALYSIS = MFX_MAKEFOURCC('S','C','L','Y'), /*!< Reserved for future use. */
1806+
MFX_DEPRECATED_ENUM_FIELD_INSIDE(MFX_EXTBUFF_VPP_SCENE_CHANGE) = MFX_EXTBUFF_VPP_SCENE_ANALYSIS, /* Deprecated. */
17921807
/*!
17931808
The extended buffer defines control parameters for the VPP ProcAmp filter algorithm. See the mfxExtVPPProcAmp structure for details.
17941809
The application can attach this buffer to the mfxVideoParam structure for video processing initialization or to the mfxFrameData
@@ -2124,6 +2139,14 @@ enum {
21242139
See the mfxExtTemporalLayers structure for more details.
21252140
*/
21262141
MFX_EXTBUFF_UNIVERSAL_TEMPORAL_LAYERS = MFX_MAKEFOURCC('U', 'T', 'M', 'P'),
2142+
#ifdef ONEVPL_EXPERIMENTAL
2143+
/*!
2144+
This extended buffer defines additional encoding controls for reference list. See the mfxExtRefListCtrl structure for details.
2145+
The application can attach this buffer to the mfxVideoParam structure for encoding & decoding initialization, or
2146+
the mfxEncodeCtrl structure for per-frame encoding configuration.
2147+
*/
2148+
MFX_EXTBUFF_UNIVERSAL_REFLIST_CTRL = MFX_EXTBUFF_AVC_REFLIST_CTRL,
2149+
#endif
21272150
/*!
21282151
See the mfxExtVPP3DLut structure for more details.
21292152
*/
@@ -2355,8 +2378,8 @@ typedef struct {
23552378

23562379
union{
23572380
struct{
2358-
mfxU32 SpatialComplexity; /* Deprecated */
2359-
mfxU32 TemporalComplexity; /* Deprecated */
2381+
MFX_DEPRECATED mfxU32 SpatialComplexity; /* Deprecated */
2382+
MFX_DEPRECATED mfxU32 TemporalComplexity; /* Deprecated */
23602383
};
23612384
struct{
23622385
/*!
@@ -2368,8 +2391,8 @@ typedef struct {
23682391
mfxU16 reserved[3];
23692392
};
23702393
};
2371-
mfxU16 SceneChangeRate; /* Deprecated */
2372-
mfxU16 RepeatedFrame; /* Deprecated */
2394+
MFX_DEPRECATED mfxU16 SceneChangeRate; /* Deprecated */
2395+
MFX_DEPRECATED mfxU16 RepeatedFrame; /* Deprecated */
23732396
} mfxExtVppAuxData;
23742397
MFX_PACK_END()
23752398

@@ -3616,14 +3639,38 @@ MFX_PACK_END()
36163639

36173640
/*! The ErrorTypes enumerator uses bit-ORed values to itemize bitstream error types. */
36183641
enum {
3619-
MFX_ERROR_NO = 0, /*!< No error in bitstream. */
3620-
MFX_ERROR_PPS = (1 << 0), /*!< Invalid/corrupted PPS. */
3621-
MFX_ERROR_SPS = (1 << 1), /*!< Invalid/corrupted SPS. */
3622-
MFX_ERROR_SLICEHEADER = (1 << 2), /*!< Invalid/corrupted slice header. */
3623-
MFX_ERROR_SLICEDATA = (1 << 3), /*!< Invalid/corrupted slice data. */
3624-
MFX_ERROR_FRAME_GAP = (1 << 4), /*!< Missed frames. */
3642+
MFX_ERROR_NO = 0, /*!< No error in bitstream. */
3643+
MFX_ERROR_PPS = (1 << 0), /*!< Invalid/corrupted PPS. */
3644+
MFX_ERROR_SPS = (1 << 1), /*!< Invalid/corrupted SPS. */
3645+
MFX_ERROR_SLICEHEADER = (1 << 2), /*!< Invalid/corrupted slice header. */
3646+
MFX_ERROR_SLICEDATA = (1 << 3), /*!< Invalid/corrupted slice data. */
3647+
MFX_ERROR_FRAME_GAP = (1 << 4), /*!< Missed frames. */
3648+
#ifdef ONEVPL_EXPERIMENTAL
3649+
MFX_ERROR_JPEG_APP0_MARKER = (1 << 5), /*!< Invalid/corrupted APP0 marker. */
3650+
MFX_ERROR_JPEG_APP1_MARKER = (1 << 6), /*!< Invalid/corrupted APP1 marker. */
3651+
MFX_ERROR_JPEG_APP2_MARKER = (1 << 7), /*!< Invalid/corrupted APP2 marker. */
3652+
MFX_ERROR_JPEG_APP3_MARKER = (1 << 8), /*!< Invalid/corrupted APP3 marker. */
3653+
MFX_ERROR_JPEG_APP4_MARKER = (1 << 9), /*!< Invalid/corrupted APP4 marker. */
3654+
MFX_ERROR_JPEG_APP5_MARKER = (1 << 10), /*!< Invalid/corrupted APP5 marker. */
3655+
MFX_ERROR_JPEG_APP6_MARKER = (1 << 11), /*!< Invalid/corrupted APP6 marker. */
3656+
MFX_ERROR_JPEG_APP7_MARKER = (1 << 12), /*!< Invalid/corrupted APP7 marker. */
3657+
MFX_ERROR_JPEG_APP8_MARKER = (1 << 13), /*!< Invalid/corrupted APP8 marker. */
3658+
MFX_ERROR_JPEG_APP9_MARKER = (1 << 14), /*!< Invalid/corrupted APP9 marker. */
3659+
MFX_ERROR_JPEG_APP10_MARKER = (1 << 15), /*!< Invalid/corrupted APP10 marker. */
3660+
MFX_ERROR_JPEG_APP11_MARKER = (1 << 16), /*!< Invalid/corrupted APP11 marker. */
3661+
MFX_ERROR_JPEG_APP12_MARKER = (1 << 17), /*!< Invalid/corrupted APP12 marker. */
3662+
MFX_ERROR_JPEG_APP13_MARKER = (1 << 18), /*!< Invalid/corrupted APP13 marker. */
3663+
MFX_ERROR_JPEG_APP14_MARKER = (1 << 19), /*!< Invalid/corrupted APP14 marker. */
3664+
MFX_ERROR_JPEG_DQT_MARKER = (1 << 20), /*!< Invalid/corrupted DQT marker. */
3665+
MFX_ERROR_JPEG_SOF0_MARKER = (1 << 21), /*!< Invalid/corrupted SOF0 marker. */
3666+
MFX_ERROR_JPEG_DHT_MARKER = (1 << 22), /*!< Invalid/corrupted DHT marker. */
3667+
MFX_ERROR_JPEG_DRI_MARKER = (1 << 23), /*!< Invalid/corrupted DRI marker. */
3668+
MFX_ERROR_JPEG_SOS_MARKER = (1 << 24), /*!< Invalid/corrupted SOS marker. */
3669+
MFX_ERROR_JPEG_UNKNOWN_MARKER = (1 << 25), /*!< Unknown Marker. */
3670+
#endif
36253671
};
36263672

3673+
36273674
MFX_PACK_BEGIN_USUAL_STRUCT()
36283675
/*!
36293676
Used by the decoders to report bitstream error information right after DecodeHeader or DecodeFrameAsync.
@@ -3889,6 +3936,10 @@ typedef mfxExtAVCRefListCtrl mfxExtHEVCRefListCtrl;
38893936
typedef mfxExtAVCRefLists mfxExtHEVCRefLists;
38903937
typedef mfxExtAvcTemporalLayers mfxExtHEVCTemporalLayers;
38913938

3939+
#ifdef ONEVPL_EXPERIMENTAL
3940+
typedef mfxExtAVCRefListCtrl mfxExtRefListCtrl;
3941+
#endif
3942+
38923943
/* The MirroringType enumerator itemizes mirroring types. */
38933944
enum
38943945
{
@@ -4357,7 +4408,9 @@ MFX_PACK_BEGIN_USUAL_STRUCT()
43574408
typedef struct {
43584409
mfxExtBuffer Header; /*!< Extension buffer header. Header.BufferId must be equal to MFX_EXTBUFF_AV1_BITSTREAM_PARAM. */
43594410

4360-
mfxU16 WriteIVFHeaders; /*!< Tri-state option to control IVF headers insertion, default is ON. */
4411+
mfxU16 WriteIVFHeaders; /*!< Tri-state option to control IVF headers insertion, default is ON.
4412+
Writing IVF headers is enabled in the encoder when mfxExtAV1BitstreamParam is attached and its value is ON or zero.
4413+
Writing IVF headers is disabled by default in the encoder when mfxExtAV1BitstreamParam is not attached. */
43614414

43624415
mfxU16 reserved[31];
43634416
} mfxExtAV1BitstreamParam;

0 commit comments

Comments
 (0)