[FFmpeg-devel] [PATCH] avcodec/d3d12va_vc1: add support for D3D12_VIDEO_DECODE_PROFILE_VC1_D2010 guid.
Xiang, Haihao
haihao.xiang at intel.com
Mon Feb 5 04:20:31 EET 2024
On Wo, 2024-01-31 at 19:30 +0800, Tong Wu wrote:
> From: Aleksoid <Aleksoid1978 at mail.ru>
>
> The VC1_D2010 profile, also known as VC1_VLD2010, has the same functionality
> and specification as the VC1_D profile. Support for this profile serves only
> as a positive indication that the accelerator has been designed with awareness
> of the modifications specified in the August 2010 version of this
> specification.
>
> Hardware accelerator drivers that expose support for this profile must not
> also expose the previously specified VC1_D GUID, unless the accelerator works
> properly with existing software decoders that use VC1_D and that do not
> incorporate
> the corrections added to the August 2010 version of this specification.
>
> As a result, we could give VC1_VLD2010 a higher priority and initialize
> it first.
>
> Signed-off-by: Aleksoid <Aleksoid1978 at mail.ru>
> Signed-off-by: Tong Wu <tong1.wu at intel.com>
> ---
> libavcodec/d3d12va_vc1.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/d3d12va_vc1.c b/libavcodec/d3d12va_vc1.c
> index 3aa2743107..110926be82 100644
> --- a/libavcodec/d3d12va_vc1.c
> +++ b/libavcodec/d3d12va_vc1.c
> @@ -164,12 +164,19 @@ static int d3d12va_vc1_end_frame(AVCodecContext *avctx)
>
> static int d3d12va_vc1_decode_init(AVCodecContext *avctx)
> {
> + int ret;
> D3D12VADecodeContext *ctx = D3D12VA_DECODE_CONTEXT(avctx);
> - ctx->cfg.DecodeProfile = D3D12_VIDEO_DECODE_PROFILE_VC1;
> + ctx->cfg.DecodeProfile = D3D12_VIDEO_DECODE_PROFILE_VC1_D2010;
>
> ctx->max_num_ref = 3;
>
> - return ff_d3d12va_decode_init(avctx);
> + ret = ff_d3d12va_decode_init(avctx);
> + if (ret < 0) {
> + ctx->cfg.DecodeProfile = D3D12_VIDEO_DECODE_PROFILE_VC1;
> + ret = ff_d3d12va_decode_init(avctx);
> + }
> +
> + return ret;
> }
>
> #if CONFIG_WMV3_D3D12VA_HWACCEL
LGTM, will apply
- Haihao
More information about the ffmpeg-devel
mailing list