vaapi: Remove H.264 baseline profile
authorMark Thompson <sw@jkqxz.net>
Sun, 8 Oct 2017 13:48:24 +0000 (14:48 +0100)
committerMark Thompson <sw@jkqxz.net>
Sun, 8 Oct 2017 23:11:53 +0000 (00:11 +0100)
This has been deprecated in libva2 because hardware does not and will not
support it.  Therefore never consider it for decode, and for encode assume
the user meant constrained baseline profile instead.

libavcodec/vaapi_decode.c
libavcodec/vaapi_encode_h264.c

index cf58aae..4f0ff84 100644 (file)
@@ -246,7 +246,6 @@ static const struct {
     MAP(MPEG4,       MPEG4_MAIN,      MPEG4Main   ),
     MAP(H264,        H264_CONSTRAINED_BASELINE,
                            H264ConstrainedBaseline),
-    MAP(H264,        H264_BASELINE,   H264Baseline),
     MAP(H264,        H264_MAIN,       H264Main    ),
     MAP(H264,        H264_HIGH,       H264High    ),
 #if VA_CHECK_VERSION(0, 37, 0)
index 549867e..efde80b 100644 (file)
@@ -1175,6 +1175,10 @@ static av_cold int vaapi_encode_h264_init(AVCodecContext *avctx)
     ctx->codec = &vaapi_encode_type_h264;
 
     switch (avctx->profile) {
+    case FF_PROFILE_H264_BASELINE:
+        av_log(avctx, AV_LOG_WARNING, "H.264 baseline profile is not "
+               "supported, using constrained baseline profile instead.\n");
+        avctx->profile = FF_PROFILE_H264_CONSTRAINED_BASELINE;
     case FF_PROFILE_H264_CONSTRAINED_BASELINE:
         ctx->va_profile = VAProfileH264ConstrainedBaseline;
         if (avctx->max_b_frames != 0) {
@@ -1183,14 +1187,6 @@ static av_cold int vaapi_encode_h264_init(AVCodecContext *avctx)
                    "doesn't support encoding with B frames, disabling them.\n");
         }
         break;
-    case FF_PROFILE_H264_BASELINE:
-        ctx->va_profile = VAProfileH264Baseline;
-        if (avctx->max_b_frames != 0) {
-            avctx->max_b_frames = 0;
-            av_log(avctx, AV_LOG_WARNING, "H.264 baseline profile "
-                   "doesn't support encoding with B frames, disabling them.\n");
-        }
-        break;
     case FF_PROFILE_H264_MAIN:
         ctx->va_profile = VAProfileH264Main;
         break;