[vlc-devel] [PATCH] vaapi/vp9: use ffmpeg context to read the profile

Mathieu Velten matmaul at gmail.com
Wed Dec 27 12:54:43 CET 2017


Sometimes the profile is not available in the container metadatas (WebM)
and the VP9 packetizer (AVParser) doesn't report this value.
---
 modules/codec/avcodec/vaapi.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c
index ee7fdf8..dccdefe 100644
--- a/modules/codec/avcodec/vaapi.c
+++ b/modules/codec/avcodec/vaapi.c
@@ -103,11 +103,14 @@ static int GetVaProfile(AVCodecContext *ctx, const es_format_t *fmt,
         count = 5;
         break;
     case AV_CODEC_ID_VP9:
-        if (fmt->i_profile == FF_PROFILE_VP9_0)
+        if (ctx->profile == FF_PROFILE_VP9_0)
             i_profile = VAProfileVP9Profile0;
 #if VA_CHECK_VERSION( 0, 39, 0 )
-        else if (fmt->i_profile == FF_PROFILE_VP9_2)
+        else if (ctx->profile == FF_PROFILE_VP9_2)
+        {
             i_profile = VAProfileVP9Profile2;
+            i_vlc_chroma = VLC_CODEC_VAAPI_420_10BPP;
+        }
 #endif
         else
             return VLC_EGENERIC;
-- 
2.14.3



More information about the vlc-devel mailing list