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