Hi,

On 2020-04-15 15:07, artem.ga...@gmail.com wrote:
From: Artem Galin <artem.ga...@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.ga...@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 95001a963f..82232c60b3 100644
--- a/fftools/ffmpeg_opt.c
+++ b/fftools/ffmpeg_opt.c
@@ -568,7 +568,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;

This is very similar to what is done in opt_vaapi_device().

Maybe you could modify the "qsv_device" handling to support this ? It will be ifdef'ed out when QSV is not enabled.

There might also be some side effects for other hardware devices. Especially the hw_device_ctx reference doesn't seem to be released (but it's the same in opt_vaapi_device so I might be missing something).

      }
  }
--
2.26.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to