[FFmpeg-devel] [PATCH] avcodec/libaomenc: add init cleanup flag

James Almer jamrial at gmail.com
Thu Aug 25 20:16:18 EEST 2022


Signed-off-by: James Almer <jamrial at gmail.com>
---
There doesn't seem to be any proper API to check if an encoder is open.

 libavcodec/libaomenc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/libaomenc.c b/libavcodec/libaomenc.c
index 485f554165..fb9a6ff8b2 100644
--- a/libavcodec/libaomenc.c
+++ b/libavcodec/libaomenc.c
@@ -400,7 +400,7 @@ static av_cold int aom_free(AVCodecContext *avctx)
 #if defined(AOM_CTRL_AV1E_GET_NUM_OPERATING_POINTS) && \
     defined(AOM_CTRL_AV1E_GET_SEQ_LEVEL_IDX) && \
     defined(AOM_CTRL_AV1E_GET_TARGET_SEQ_LEVEL_IDX)
-    if (!(avctx->flags & AV_CODEC_FLAG_PASS1)) {
+    if (ctx->encoder->iface && !(avctx->flags & AV_CODEC_FLAG_PASS1)) {
         int num_operating_points;
         int levels[32];
         int target_levels[32];
@@ -1544,6 +1544,7 @@ FFCodec ff_libaom_av1_encoder = {
     FF_CODEC_ENCODE_CB(aom_encode),
     .close          = aom_free,
     .caps_internal  = FF_CODEC_CAP_NOT_INIT_THREADSAFE |
+                      FF_CODEC_CAP_INIT_CLEANUP |
                       FF_CODEC_CAP_AUTO_THREADS,
     .defaults       = defaults,
     .init_static_data = av1_init_static,
-- 
2.37.2



More information about the ffmpeg-devel mailing list