[FFmpeg-devel] [PATCH] lavc/encode: drop EncodeSimpleContext
James Almer
jamrial at gmail.com
Mon Apr 11 19:32:30 EEST 2022
On 4/11/2022 5:39 AM, Anton Khirnov wrote:
> It has only a single member.
> ---
> libavcodec/avcodec.c | 4 ++--
> libavcodec/encode.c | 7 +++----
> libavcodec/internal.h | 12 +++++++-----
> 3 files changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c
> index c7daa385e7..e0f38ac42a 100644
> --- a/libavcodec/avcodec.c
> +++ b/libavcodec/avcodec.c
> @@ -432,7 +432,7 @@ void avcodec_flush_buffers(AVCodecContext *avctx)
> while (av_fifo_read(avci->pkt_props, avci->last_pkt_props, 1) >= 0)
> av_packet_unref(avci->last_pkt_props);
>
> - av_frame_unref(avci->es.in_frame);
> + av_frame_unref(avci->in_frame);
> av_packet_unref(avci->in_pkt);
>
> if (HAVE_THREADS && avctx->active_thread_type & FF_THREAD_FRAME)
> @@ -498,7 +498,7 @@ av_cold int avcodec_close(AVCodecContext *avctx)
> av_packet_free(&avci->last_pkt_props);
>
> av_packet_free(&avci->in_pkt);
> - av_frame_free(&avci->es.in_frame);
> + av_frame_free(&avci->in_frame);
>
> av_buffer_unref(&avci->pool);
>
> diff --git a/libavcodec/encode.c b/libavcodec/encode.c
> index 837ffaa40d..8b0d4443cd 100644
> --- a/libavcodec/encode.c
> +++ b/libavcodec/encode.c
> @@ -175,8 +175,7 @@ int ff_encode_get_frame(AVCodecContext *avctx, AVFrame *frame)
> static int encode_simple_internal(AVCodecContext *avctx, AVPacket *avpkt)
> {
> AVCodecInternal *avci = avctx->internal;
> - EncodeSimpleContext *es = &avci->es;
> - AVFrame *frame = es->in_frame;
> + AVFrame *frame = avci->in_frame;
> const FFCodec *const codec = ffcodec(avctx->codec);
> int got_packet;
> int ret;
> @@ -565,8 +564,8 @@ FF_ENABLE_DEPRECATION_WARNINGS
> avctx->internal->intra_only_flag = AV_PKT_FLAG_KEY;
>
> if (ffcodec(avctx->codec)->encode2) {
> - avci->es.in_frame = av_frame_alloc();
> - if (!avci->es.in_frame)
> + avci->in_frame = av_frame_alloc();
> + if (!avci->in_frame)
> return AVERROR(ENOMEM);
> }
>
> diff --git a/libavcodec/internal.h b/libavcodec/internal.h
> index f9d08fcb60..2fa56d3a59 100644
> --- a/libavcodec/internal.h
> +++ b/libavcodec/internal.h
> @@ -47,10 +47,6 @@
> # define STRIDE_ALIGN 8
> #endif
>
> -typedef struct EncodeSimpleContext {
> - AVFrame *in_frame;
> -} EncodeSimpleContext;
> -
> typedef struct AVCodecInternal {
> /**
> * When using frame-threaded decoding, this field is set for the first
> @@ -101,7 +97,13 @@ typedef struct AVCodecInternal {
>
> void *frame_thread_encoder;
>
> - EncodeSimpleContext es;
> + /**
> + * The input frame is stored here for encoders implementing the simple
> + * encode API.
> + *
> + * Not allocated in other cases.
> + */
> + AVFrame *in_frame;
>
> /**
> * If this is set, then FFCodec->close (if existing) needs to be called
LGTM.
More information about the ffmpeg-devel
mailing list