You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See the mfxExtQualityInfoMode structure for details.
@@ -3075,12 +3081,19 @@ MFX_PACK_END()
3075
3081
3076
3082
/*! The FrcAlgm enumerator itemizes frame rate conversion algorithms. See description of mfxExtVPPFrameRateConversion structure for more details. */
3077
3083
enum {
3078
-
MFX_FRCALGM_PRESERVE_TIMESTAMP=0x0001, /*!< Frame dropping/repetition based frame rate conversion algorithm with preserved original
3079
-
time stamps. Any inserted frames will carry MFX_TIMESTAMP_UNKNOWN. */
3080
-
MFX_FRCALGM_DISTRIBUTED_TIMESTAMP=0x0002, /*!< Frame dropping/repetition based frame rate conversion algorithm with distributed time stamps.
3081
-
The algorithm distributes output time stamps evenly according to the output frame rate. */
3082
-
MFX_FRCALGM_FRAME_INTERPOLATION=0x0004/*!< Frame rate conversion algorithm based on frame interpolation. This flag may be combined with
3083
-
MFX_FRCALGM_PRESERVE_TIMESTAMP or MFX_FRCALGM_DISTRIBUTED_TIMESTAMP flags. */
3084
+
MFX_FRCALGM_PRESERVE_TIMESTAMP=0x0001, /*!< Frame dropping/repetition based frame rate conversion algorithm with preserved original
3085
+
time stamps. Any inserted frames will carry MFX_TIMESTAMP_UNKNOWN. */
3086
+
MFX_FRCALGM_DISTRIBUTED_TIMESTAMP=0x0002, /*!< Frame dropping/repetition based frame rate conversion algorithm with distributed time stamps.
3087
+
The algorithm distributes output time stamps evenly according to the output frame rate. */
3088
+
MFX_FRCALGM_FRAME_INTERPOLATION=0x0004, /*!< Frame rate conversion algorithm based on frame interpolation. This flag may be combined with
3089
+
MFX_FRCALGM_PRESERVE_TIMESTAMP or MFX_FRCALGM_DISTRIBUTED_TIMESTAMP flags. */
3090
+
#ifdefONEVPL_EXPERIMENTAL
3091
+
MFX_FRCALGM_AI_FRAME_INTERPOLATION=0x0008/*!< Frame rate conversion algorithm based on AI powered frame interpolation. This flag may be combined with
3092
+
MFX_FRCALGM_PRESERVE_TIMESTAMP or MFX_FRCALGM_DISTRIBUTED_TIMESTAMP flags. This flag can not be combined
3093
+
with MFX_FRCALGM_FRAME_INTERPOLATION. If application sets this flag, the application needs to attach
3094
+
MFX_EXTBUFF_VPP_AI_FRAME_INTERPOLATION for the details of frame interpolation to mfxVideoParam. Refer to
3095
+
mfxExtVPPAIFrameInterpolation for more details.*/
3096
+
#endif
3084
3097
};
3085
3098
3086
3099
MFX_PACK_BEGIN_USUAL_STRUCT()
@@ -5154,6 +5167,46 @@ typedef struct {
5154
5167
MFX_PACK_END()
5155
5168
#endif
5156
5169
5170
+
#ifdefONEVPL_EXPERIMENTAL
5171
+
/* The mfxAIFrameInterpolationMode enumerator specifies the mode of AI based frame interpolation. */
5172
+
typedefenum {
5173
+
MFX_AI_FRAME_INTERPOLATION_MODE_DISABLE=0, /*!< AI based frame interpolation is disabled. The library duplicates the frame if AI frame interpolation is disabled.*/
5174
+
MFX_AI_FRAME_INTERPOLATION_MODE_DEFAULT=1, /*!< Default AI based frame interpolation mode. The library selects the most appropriate AI based frame interpolation mode.*/
5175
+
} mfxAIFrameInterpolationMode;
5176
+
5177
+
/*!
5178
+
A hint structure that configures AI based frame interpolation VPP filter.
5179
+
AI powered frame interpolation feature can reconstruct one or more intermediate frames between two consecutive frames by AI method.
5180
+
On some platforms this filter is not supported. To query its support, the application should use the same approach that it uses to configure VPP filters:
5181
+
Attaching the mfxExtVPPAIFrameInterpolation structure directly to the mfxVideoParam structure and setting the frame rate of input and output (FrameRateExtN and FrameRateExtD),
5182
+
then calling the Query API function. If the filter is supported, the Query function returns a MFX_ERR_NONE status; otherwise, the function returns MFX_ERR_UNSUPPORTED.
5183
+
As a new method of frame interpolation, the application can attach mfxExtVPPAIFrameInterpolation to mfxVideoParam during initialization for frame interpolation, or attach both
5184
+
mfxExtVPPAIFrameInterpolation and mfxExtVPPFrameRateConversion to mfxVideoParam and use which mfxExtVPPAIFrameInterpolation is regarded as a new algorithm of mfxExtVPPFrameRateConversion
5185
+
(MFX_FRCALGM_AI_FRAME_INTERPOLATION).
5186
+
The applications should follow video processing procedures and call the API mfxStatus MFXVideoVPP_RunFrameVPPAsync(Session, Input, Output, Auxdata, Syncp) to process the frames one by one.
5187
+
The below is detailed explanation of video processing procedures in this AI frame interpolation case. If the application does not follow the below input/output sequence, the application could
5188
+
get the unexpected output and get an error return value.
0 commit comments