diff options
author | Mark Thompson <sw@jkqxz.net> | 2020-04-13 16:33:21 +0100 |
---|---|---|
committer | Mark Thompson <sw@jkqxz.net> | 2020-04-26 18:38:25 +0100 |
commit | 79c173cc1900c735b1e256f5755b3e434a080a4f (patch) | |
tree | 9bb8fdd3d996f43cf3f5f5e851595e380c62c46e | |
parent | 8abd3b202821e9c491f44d097686402aafdda7c5 (diff) | |
download | ffmpeg-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.c | 1 | ||||
-rw-r--r-- | fftools/ffmpeg.h | 1 | ||||
-rw-r--r-- | fftools/ffmpeg_opt.c | 11 | ||||
-rw-r--r-- | fftools/ffmpeg_qsv.c | 1 |
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) |