From 1bb171dad3be5e3387233cba347a6eea68e0a763 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net> Date: Sun, 27 Sep 2015 15:04:11 +0300 Subject: [PATCH] vda: use avcodec context parameters --- modules/codec/Makefile.am | 1 - modules/codec/avcodec/vda.c | 31 ++++++++++--------------------- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am index b66da01b6d7b..868bdcc0ae12 100644 --- a/modules/codec/Makefile.am +++ b/modules/codec/Makefile.am @@ -367,7 +367,6 @@ endif libvda_plugin_la_SOURCES = \ video_chroma/copy.c video_chroma/copy.h \ - packetizer/h264_nal.c packetizer/h264_nal.h \ codec/avcodec/vda.c libvda_plugin_la_CFLAGS = $(AM_CFLAGS) $(AVCODEC_CFLAGS) libvda_plugin_la_LDFLAGS = -Wl,-framework,CoreFoundation,-framework,VideoDecodeAcceleration,-framework,QuartzCore diff --git a/modules/codec/avcodec/vda.c b/modules/codec/avcodec/vda.c index 2f248d2f7d97..e5ff1b5e03c5 100644 --- a/modules/codec/avcodec/vda.c +++ b/modules/codec/avcodec/vda.c @@ -37,7 +37,6 @@ #include "avcodec.h" #include "va.h" -#include "../../packetizer/h264_nal.h" #include "../../video_chroma/copy.h" #include <libavcodec/vda.h> @@ -102,41 +101,31 @@ static int Open(vlc_va_t *va, (void) fmt; (void) p_sys; - VLC_UNUSED(avctx); size_t i_profile = 0xFFFF, i_level = 0xFFFF; - bool b_ret = false; - - switch (fmt->i_codec) { - case VLC_CODEC_H264: - b_ret = h264_get_profile_level(fmt, &i_profile, &i_level, NULL); - if (!b_ret) { - msg_Warn( va, "H264 profile and level parsing failed because it didn't arrive yet"); - return VLC_EGENERIC; - } - msg_Dbg( va, "trying to decode MPEG-4 Part 10: profile %zu, level %zu", i_profile, i_level); + switch (avctx->codec_id) { + case AV_CODEC_ID_H264: + msg_Dbg( va, "trying to decode MPEG-4 Part 10: profile %d, level %d", avctx->profile, avctx->level); - switch (i_profile) { - case PROFILE_H264_BASELINE: - case PROFILE_H264_MAIN: - case PROFILE_H264_HIGH: + switch (avctx->profile & ~FF_PROFILE_H264_INTRA) { + case FF_PROFILE_H264_CONSTRAINED_BASELINE: + case FF_PROFILE_H264_BASELINE: + case FF_PROFILE_H264_MAIN: + case FF_PROFILE_H264_HIGH: break; default: - { - msg_Dbg( va, "unsupported H264 profile %zu", i_profile); + msg_Dbg( va, "unsupported H264 profile %d", avctx->profile); return -1; - } } break; default: #ifndef NDEBUG - msg_Err( va, "'%4.4s' is not supported", (char *)&fmt->i_codec); + msg_Err( va, "codec %d is not supported", avctx->codec_id); #endif return VLC_EGENERIC; - break; } vlc_va_sys_t *sys = calloc(1, sizeof (*sys)); -- GitLab