[FFmpeg-devel] [PATCH 1/2] lavc/libaomenc: Show encoder config as a warning in case of failed initialization

Thilo Borgmann thilo.borgmann at mail.de
Sat Jun 12 22:10:30 EEST 2021


Hi,

if init fails, it's likely originating from the library's config. This and 2/2 are for easier debugging in that case instead of having to run again with loglevel DEBUG.

-Thilo
-------------- next part --------------
From c165947450383da4e81ef0b0a1ec82509c698479 Mon Sep 17 00:00:00 2001
From: Matthieu Patou <mpatou at fb.com>
Date: Sat, 12 Jun 2021 20:59:29 +0200
Subject: [PATCH 1/2] lavc/libaomenc: Show encoder config as a warning in case
 of failed initialization

Suggested-By: ffmpeg at fb.com
---
 libavcodec/libaomenc.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavcodec/libaomenc.c b/libavcodec/libaomenc.c
index 779714fdaa..468f2ba775 100644
--- a/libavcodec/libaomenc.c
+++ b/libavcodec/libaomenc.c
@@ -209,10 +209,10 @@ static av_cold void log_encoder_error(AVCodecContext *avctx, const char *desc)
 }
 
 static av_cold void dump_enc_cfg(AVCodecContext *avctx,
-                                 const struct aom_codec_enc_cfg *cfg)
+                                 const struct aom_codec_enc_cfg *cfg,
+                                 int level)
 {
     int width = -30;
-    int level = AV_LOG_DEBUG;
 
     av_log(avctx, level, "aom_codec_enc_cfg\n");
     av_log(avctx, level, "generic settings\n"
@@ -612,7 +612,7 @@ static av_cold int aom_init(AVCodecContext *avctx,
             return AVERROR(EINVAL);
         }
 
-    dump_enc_cfg(avctx, &enccfg);
+    dump_enc_cfg(avctx, &enccfg, AV_LOG_DEBUG);
 
     enccfg.g_w            = avctx->width;
     enccfg.g_h            = avctx->height;
@@ -746,12 +746,14 @@ static av_cold int aom_init(AVCodecContext *avctx,
     if (res < 0)
         return res;
 
-    dump_enc_cfg(avctx, &enccfg);
     /* Construct Encoder Context */
     res = aom_codec_enc_init(&ctx->encoder, iface, &enccfg, flags);
     if (res != AOM_CODEC_OK) {
+        dump_enc_cfg(avctx, &enccfg, AV_LOG_WARNING);
         log_encoder_error(avctx, "Failed to initialize encoder");
         return AVERROR(EINVAL);
+    } else {
+        dump_enc_cfg(avctx, &enccfg, AV_LOG_DEBUG);
     }
 
     // codec control failures are currently treated only as warnings
-- 
2.25.1



More information about the ffmpeg-devel mailing list