Skip to content

Commit

Permalink
ffmpeg: Enable generic hwaccel support for VAAPI
Browse files Browse the repository at this point in the history
(cherry picked from commit 62a1ef9)
  • Loading branch information
fhvwy committed Jun 14, 2017
1 parent 06043cc commit be51073
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 240 deletions.
1 change: 0 additions & 1 deletion Makefile
Expand Up @@ -34,7 +34,6 @@ $(foreach prog,$(AVBASENAMES),$(eval OBJS-$(prog)-$(CONFIG_OPENCL) += cmdutils_o
OBJS-ffmpeg += ffmpeg_opt.o ffmpeg_filter.o ffmpeg_hw.o
OBJS-ffmpeg-$(CONFIG_VIDEOTOOLBOX) += ffmpeg_videotoolbox.o
OBJS-ffmpeg-$(CONFIG_LIBMFX) += ffmpeg_qsv.o
OBJS-ffmpeg-$(CONFIG_VAAPI) += ffmpeg_vaapi.o
ifndef CONFIG_VIDEOTOOLBOX
OBJS-ffmpeg-$(CONFIG_VDA) += ffmpeg_videotoolbox.o
endif
Expand Down
2 changes: 0 additions & 2 deletions ffmpeg.h
Expand Up @@ -665,8 +665,6 @@ int dxva2_init(AVCodecContext *s);
int vda_init(AVCodecContext *s);
int videotoolbox_init(AVCodecContext *s);
int qsv_init(AVCodecContext *s);
int vaapi_decode_init(AVCodecContext *avctx);
int vaapi_device_init(const char *device);
int cuvid_init(AVCodecContext *s);

HWDevice *hw_device_get_by_name(const char *name);
Expand Down
18 changes: 14 additions & 4 deletions ffmpeg_opt.c
Expand Up @@ -87,8 +87,8 @@ const HWAccel hwaccels[] = {
AV_HWDEVICE_TYPE_NONE },
#endif
#if CONFIG_VAAPI
{ "vaapi", vaapi_decode_init, HWACCEL_VAAPI, AV_PIX_FMT_VAAPI,
AV_HWDEVICE_TYPE_NONE },
{ "vaapi", hwaccel_decode_init, HWACCEL_VAAPI, AV_PIX_FMT_VAAPI,
AV_HWDEVICE_TYPE_VAAPI },
#endif
#if CONFIG_CUVID
{ "cuvid", cuvid_init, HWACCEL_CUVID, AV_PIX_FMT_CUDA,
Expand Down Expand Up @@ -462,10 +462,20 @@ 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;
err = vaapi_device_init(arg);
tmp = av_asprintf("%s%s", prefix, arg);
if (!tmp)
return AVERROR(ENOMEM);
err = hw_device_init_from_string(tmp, &dev);
av_free(tmp);
if (err < 0)
exit_program(1);
return err;
hw_device_ctx = av_buffer_ref(dev->device_ref);
if (!hw_device_ctx)
return AVERROR(ENOMEM);
return 0;
}
#endif
Expand Down
233 changes: 0 additions & 233 deletions ffmpeg_vaapi.c

This file was deleted.

0 comments on commit be51073

Please sign in to comment.