[FFmpeg-devel] [PATCH] lavc/encode: drop EncodeSimpleContext

Anton Khirnov anton at khirnov.net
Mon Apr 11 11:39:08 EEST 2022


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
-- 
2.34.1



More information about the ffmpeg-devel mailing list