[FFmpeg-cvslog] lavc/vaapi_encode: Don't return error if the underlying driver doesn't support B frames

Haihao Xiang git at videolan.org
Thu Mar 8 02:31:52 EET 2018


ffmpeg | branch: master | Haihao Xiang <haihao.xiang at intel.com> | Tue Feb  6 16:17:17 2018 +0800| [00ae5c1d3d87efc7f13b86cce80e139c805db179] | committer: Mark Thompson

lavc/vaapi_encode: Don't return error if the underlying driver doesn't support B frames

The underlying driver need not support B frames - since they are enabled
by default for some codecs, it is better to disable them rather than
returning an error in this case.  This makes the default settings usable
for low-power encoding on Intel platforms.

Signed-off-by: Haihao Xiang <haihao.xiang at intel.com>
Signed-off-by: Mark Thompson <sw at jkqxz.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=00ae5c1d3d87efc7f13b86cce80e139c805db179
---

 libavcodec/vaapi_encode.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c
index f5785ce4c5..36c85a3815 100644
--- a/libavcodec/vaapi_encode.c
+++ b/libavcodec/vaapi_encode.c
@@ -1096,10 +1096,10 @@ static av_cold int vaapi_encode_config_attributes(AVCodecContext *avctx)
                 goto fail;
             }
             if (avctx->max_b_frames > 0 && ref_l1 < 1) {
-                av_log(avctx, AV_LOG_ERROR, "B frames are not "
-                       "supported (%#x).\n", attr[i].value);
-                err = AVERROR(EINVAL);
-                goto fail;
+                av_log(avctx, AV_LOG_WARNING, "B frames are not "
+                       "supported (%#x) by the underlying driver.\n",
+                       attr[i].value);
+                avctx->max_b_frames = 0;
             }
         }
         break;



More information about the ffmpeg-cvslog mailing list