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

James Zern jzern at google.com
Thu Aug 25 20:34:19 EEST 2022


On Thu, Aug 25, 2022 at 10:16 AM James Almer <jamrial at gmail.com> wrote:
>
> 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.
>

true.

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

lgtm.

> 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)) {

This check is fine, though the codec control call should fail if iface is null.

>          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
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list