This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 0b43b8ef316e15c8ab9f66a45ed9f86c032925ee
Author:     Niklas Haas <[email protected]>
AuthorDate: Sun Mar 29 16:44:38 2026 +0200
Commit:     Niklas Haas <[email protected]>
CommitDate: Fri Apr 10 15:12:18 2026 +0200

    avfilter/framepool: make FFFramePool public
    
    This struct is overally pretty trivial and there is little to no internal
    state or invariants that need to be protected.
    
    Making it public allows e.g. libswscale to allocate buffers for individual
    planes directly.
    
    Signed-off-by: Niklas Haas <[email protected]>
---
 libavfilter/framepool.c | 24 ------------------------
 libavfilter/framepool.h | 29 +++++++++++++++++++++++++----
 2 files changed, 25 insertions(+), 28 deletions(-)

diff --git a/libavfilter/framepool.c b/libavfilter/framepool.c
index 752a16eb64..7542e94436 100644
--- a/libavfilter/framepool.c
+++ b/libavfilter/framepool.c
@@ -28,30 +28,6 @@
 #include "libavutil/mem.h"
 #include "libavutil/pixfmt.h"
 
-struct FFFramePool {
-
-    enum AVMediaType type;
-    union {
-        enum AVPixelFormat pix_fmt;
-        enum AVSampleFormat sample_fmt;
-    };
-
-    /* video */
-    int width;
-    int height;
-
-    /* audio */
-    int planes;
-    int channels;
-    int nb_samples;
-
-    /* common */
-    int align;
-    int linesize[4];
-    AVBufferPool *pools[4];
-
-};
-
 static av_cold FFFramePool *frame_pool_video_init(int width, int height,
                                                   enum AVPixelFormat format,
                                                   int align)
diff --git a/libavfilter/framepool.h b/libavfilter/framepool.h
index 63e8df2730..0f05ec56fc 100644
--- a/libavfilter/framepool.h
+++ b/libavfilter/framepool.h
@@ -26,11 +26,32 @@
 #include "libavutil/internal.h"
 
 /**
- * Frame pool. This structure is opaque and not meant to be accessed
- * directly. It is allocated with ff_frame_pool_init() and freed with
- * ff_frame_pool_uninit().
+ * Frame pool. This structure must be allocated with
+ * ff_frame_pool_{video,audio}_reinit() and freed with ff_frame_pool_uninit().
  */
-typedef struct FFFramePool FFFramePool;
+typedef struct FFFramePool {
+
+    enum AVMediaType type;
+    union {
+        enum AVPixelFormat pix_fmt;
+        enum AVSampleFormat sample_fmt;
+    };
+
+    /* video */
+    int width;
+    int height;
+
+    /* audio */
+    int planes;
+    int channels;
+    int nb_samples;
+
+    /* common */
+    int align;
+    int linesize[4];
+    AVBufferPool *pools[4]; /* for audio, only pools[0] is used */
+
+} FFFramePool;
 
 /**
  * Recreate the video frame pool if its current configuration differs from the

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to