On 13/06/17 21:19, Michael Niedermayer wrote: > On Mon, Jun 12, 2017 at 11:40:23PM +0100, Mark Thompson wrote: >> (cherry picked from commit 62a1ef9f26c654a3e988aa465c4ac1d776c4c356) >> --- >> Makefile | 1 - >> ffmpeg.h | 2 - >> ffmpeg_opt.c | 20 ++++- >> ffmpeg_vaapi.c | 233 >> --------------------------------------------------------- >> 4 files changed, 16 insertions(+), 240 deletions(-) >> delete mode 100644 ffmpeg_vaapi.c >> >> diff --git a/Makefile b/Makefile >> index 913a890a78..26f9d93d85 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -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 >> diff --git a/ffmpeg.h b/ffmpeg.h >> index 5c115cf9a3..231d362f5f 100644 >> --- a/ffmpeg.h >> +++ b/ffmpeg.h >> @@ -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); >> diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c >> index 6755e09e47..51671e0dd4 100644 >> --- a/ffmpeg_opt.c >> +++ b/ffmpeg_opt.c >> @@ -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, >> @@ -462,10 +462,22 @@ 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_malloc(strlen(prefix) + strlen(arg) + 1); >> + if (!tmp) >> + return AVERROR(ENOMEM); >> + strcpy(tmp, prefix); >> + strcat(tmp, arg); > > You can simplify this with av_asprintf()
Yep, changed. (Also a similar instance in 4/24.) Thanks, - Mark _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel