Browse Source

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.
tags/n4.3
Mark Thompson 4 years ago
parent
commit
79c173cc19
4 changed files with 3 additions and 11 deletions
  1. +0
    -1
      fftools/ffmpeg.c
  2. +0
    -1
      fftools/ffmpeg.h
  3. +2
    -9
      fftools/ffmpeg_opt.c
  4. +1
    -0
      fftools/ffmpeg_qsv.c

+ 0
- 1
fftools/ffmpeg.c View File

@@ -4759,7 +4759,6 @@ static int transcode(void)
}
}

av_buffer_unref(&hw_device_ctx);
hw_device_free_all();

/* finished ! */


+ 0
- 1
fftools/ffmpeg.h View File

@@ -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


+ 2
- 9
fftools/ffmpeg_opt.c View File

@@ -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



+ 1
- 0
fftools/ffmpeg_qsv.c View File

@@ -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)


Loading…
Cancel
Save