aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2020-04-13 16:33:21 +0100
committerMark Thompson <sw@jkqxz.net>2020-04-26 18:38:25 +0100
commit79c173cc1900c735b1e256f5755b3e434a080a4f (patch)
tree9bb8fdd3d996f43cf3f5f5e851595e380c62c46e
parent8abd3b202821e9c491f44d097686402aafdda7c5 (diff)
downloadffmpeg-79c173cc1900c735b1e256f5755b3e434a080a4f.tar.gz
ffmpeg: Remove the hw_device_ctx global
The ad-hoc libmfx setup code is the only place its still used, so move it into that file.
-rw-r--r--fftools/ffmpeg.c1
-rw-r--r--fftools/ffmpeg.h1
-rw-r--r--fftools/ffmpeg_opt.c11
-rw-r--r--fftools/ffmpeg_qsv.c1
4 files changed, 3 insertions, 11 deletions
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index 2287af59f0..cf64837b8a 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -4759,7 +4759,6 @@ static int transcode(void)
}
}
- av_buffer_unref(&hw_device_ctx);
hw_device_free_all();
/* finished ! */
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
index 43b5040f73..98700f24e5 100644
--- a/fftools/ffmpeg.h
+++ b/fftools/ffmpeg.h
@@ -615,7 +615,6 @@ extern const AVIOInterruptCB int_cb;
extern const OptionDef options[];
extern const HWAccel hwaccels[];
-extern AVBufferRef *hw_device_ctx;
#if CONFIG_QSV
extern char *qsv_device;
#endif
diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
index 680f0f1dfb..16e321b5a3 100644
--- a/fftools/ffmpeg_opt.c
+++ b/fftools/ffmpeg_opt.c
@@ -139,7 +139,6 @@ const HWAccel hwaccels[] = {
#endif
{ 0 },
};
-AVBufferRef *hw_device_ctx;
HWDevice *filter_hw_device;
char *vstats_filename;
@@ -536,21 +535,15 @@ static int opt_sdp_file(void *optctx, const char *opt, const char *arg)
#if CONFIG_VAAPI
static int opt_vaapi_device(void *optctx, const char *opt, const char *arg)
{
- HWDevice *dev;
const char *prefix = "vaapi:";
char *tmp;
int err;
tmp = av_asprintf("%s%s", prefix, arg);
if (!tmp)
return AVERROR(ENOMEM);
- err = hw_device_init_from_string(tmp, &dev);
+ err = hw_device_init_from_string(tmp, NULL);
av_free(tmp);
- if (err < 0)
- return err;
- hw_device_ctx = av_buffer_ref(dev->device_ref);
- if (!hw_device_ctx)
- return AVERROR(ENOMEM);
- return 0;
+ return err;
}
#endif
diff --git a/fftools/ffmpeg_qsv.c b/fftools/ffmpeg_qsv.c
index 9c4285b6c7..960c88b69d 100644
--- a/fftools/ffmpeg_qsv.c
+++ b/fftools/ffmpeg_qsv.c
@@ -28,6 +28,7 @@
#include "ffmpeg.h"
+static AVBufferRef *hw_device_ctx;
char *qsv_device = NULL;
static int qsv_get_buffer(AVCodecContext *s, AVFrame *frame, int flags)