[FFmpeg-devel] [PATCH v3 1/4] fftools/qsv: enabling d3d11va/dxva2 device selection
Mark Thompson
sw at jkqxz.net
Sun Apr 26 21:20:27 EEST 2020
On 24/04/2020 15:52, artem.galin at gmail.com wrote:
> From: Artem Galin <artem.galin at intel.com>
>
> child_device_type argument is responsible for selection.
>
> Usage examples: -init_hw_device qsv:hw,child_device_type=d3d11va
> -init_hw_device qsv:hw,child_device_type=dxva2
>
> Signed-off-by: Artem Galin <artem.galin at intel.com>
> ---
> fftools/ffmpeg_opt.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
> index 680f0f1dfb..de5bc51bee 100644
> --- a/fftools/ffmpeg_opt.c
> +++ b/fftools/ffmpeg_opt.c
> @@ -565,7 +565,17 @@ static int opt_init_hw_device(void *optctx, const char *opt, const char *arg)
> printf("\n");
> exit_program(0);
> } else {
> - return hw_device_init_from_string(arg, NULL);
> + HWDevice *dev;
> + int err;
> + if (!arg)
> + return AVERROR(ENOMEM);
> + err = hw_device_init_from_string(arg, &dev);
> + if (err < 0)
> + return err;
> + hw_device_ctx = av_buffer_ref(dev->device_ref);
> + if (!hw_device_ctx)
> + return AVERROR(ENOMEM);
> + return 0;
> }
> }
I fixed the setup which was making you want to hack devices like this. See <http://git.videolan.org/?p=ffmpeg.git;a=commit;h=8abd3b202821e9c491f44d097686402aafdda7c5>.
- Mark
More information about the ffmpeg-devel
mailing list