On 05/09/17 23:59, Mark Thompson wrote:
> ---
> Only VAAPI and VDPAU tested, but hopefully mechanical.
> 
> 
> ...
> --- a/libavcodec/h264dec.c
> +++ b/libavcodec/h264dec.c
> @@ -786,6 +786,24 @@ AVCodec ff_h264_decoder = {
>      .capabilities          = /*AV_CODEC_CAP_DRAW_HORIZ_BAND |*/ 
> AV_CODEC_CAP_DR1 |
>                               AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS 
> |
>                               AV_CODEC_CAP_FRAME_THREADS,
> +    .hw_configs            = (const AVCodecHWConfig[]) {
> +#if CONFIG_H264_CUVID_HWACCEL
> +                             { AV_HWDEVICE_TYPE_CUVID,   AV_PIX_FMT_CUVID },
> +#endif

CUVID of course uses a CUDA device, not a (nonexistent) CUVID device.  Fixed 
locally.

> +#if CONFIG_H264_DXVA2_HWACCEL
> +                             { AV_HWDEVICE_TYPE_DXVA2,   AV_PIX_FMT_DXVA2 },
> +#endif
> +#if CONFIG_H264_D3D11VA2_HWACCEL
> +                             { AV_HWDEVICE_TYPE_D3D11VA, AV_PIX_FMT_D3D11 },
> +#endif
> +#if CONFIG_H264_VAAPI_HWACCEL
> +                             { AV_HWDEVICE_TYPE_VAAPI,   AV_PIX_FMT_VAAPI },
> +#endif
> +#if CONFIG_H264_VDPAU_HWACCEL
> +                             { AV_HWDEVICE_TYPE_VDPAU,   AV_PIX_FMT_VDPAU },
> +#endif
> +                             { AV_HWDEVICE_TYPE_NONE },
> +                           },
>      .caps_internal         = FF_CODEC_CAP_INIT_THREADSAFE | 
> FF_CODEC_CAP_EXPORTS_CROPPING,
>      .flush                 = flush_dpb,
>      .init_thread_copy      = 
> ONLY_IF_THREADS_ENABLED(decode_init_thread_copy),
> diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
> index a1619cf4b..1a0460544 100644
> --- a/libavcodec/hevcdec.c
> +++ b/libavcodec/hevcdec.c
> @@ -3113,4 +3113,22 @@ AVCodec ff_hevc_decoder = {
>                               AV_CODEC_CAP_FRAME_THREADS,
>      .profiles              = NULL_IF_CONFIG_SMALL(ff_hevc_profiles),
>      .caps_internal         = FF_CODEC_CAP_EXPORTS_CROPPING | 
> FF_CODEC_CAP_INIT_THREADSAFE,
> +    .hw_configs            = (const AVCodecHWConfig[]) {
> +#if CONFIG_HEVC_CUVID_HWACCEL
> +                             { AV_HWDEVICE_TYPE_CUVID,   AV_PIX_FMT_CUVID },
> +#endif

Likewise.

> +#if CONFIG_HEVC_DXVA2_HWACCEL
> +                             { AV_HWDEVICE_TYPE_DXVA2,   AV_PIX_FMT_DXVA2 },
> +#endif
> +#if CONFIG_HEVC_D3D11VA2_HWACCEL
> +                             { AV_HWDEVICE_TYPE_D3D11VA, AV_PIX_FMT_D3D11 },
> +#endif
> +#if CONFIG_HEVC_VAAPI_HWACCEL
> +                             { AV_HWDEVICE_TYPE_VAAPI,   AV_PIX_FMT_VAAPI },
> +#endif
> +#if CONFIG_HEVC_VDPAU_HWACCEL
> +                             { AV_HWDEVICE_TYPE_VDPAU,   AV_PIX_FMT_VDPAU },
> +#endif
> +                             { AV_HWDEVICE_TYPE_NONE },
> +                           },
>  };
> ...
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to