[FFmpeg-cvslog] libavfilter: make ff_null_start_frame_keep_ref() a non static inline function.

Michael Niedermayer git at videolan.org
Sun Jun 10 03:13:30 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Jun 10 03:08:19 2012 +0200| [7b0d362567983c7b22db98177be721bfe4bfec6e] | committer: Michael Niedermayer

libavfilter: make ff_null_start_frame_keep_ref() a non static inline function.

Its only used through the start_frame pointer and thus cannot be inlined easily.
It also appears to break compilation with some unidentified compiler on darwin.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7b0d362567983c7b22db98177be721bfe4bfec6e
---

 libavfilter/internal.h |   10 +---------
 libavfilter/video.c    |    6 ++++++
 libavfilter/video.h    |    5 +++++
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/libavfilter/internal.h b/libavfilter/internal.h
index c208edf..2b99730 100644
--- a/libavfilter/internal.h
+++ b/libavfilter/internal.h
@@ -27,6 +27,7 @@
 #include "avfilter.h"
 #include "avfiltergraph.h"
 #include "formats.h"
+#include "video.h"
 
 #define POOL_SIZE 32
 typedef struct AVFilterPool {
@@ -119,15 +120,6 @@ int ff_parse_sample_format(int *ret, const char *arg, void *log_ctx);
  */
 int ff_parse_channel_layout(int64_t *ret, const char *arg, void *log_ctx);
 
-/**
- * Pass video frame along and keep an internal reference for later use.
- */
-static inline void ff_null_start_frame_keep_ref(AVFilterLink *inlink,
-                                                AVFilterBufferRef *picref)
-{
-    avfilter_start_frame(inlink->dst->outputs[0], avfilter_ref_buffer(picref, ~0));
-}
-
 void ff_update_link_current_pts(AVFilterLink *link, int64_t pts);
 
 void ff_free_pool(AVFilterPool *pool);
diff --git a/libavfilter/video.c b/libavfilter/video.c
index d443885..f23592e 100644
--- a/libavfilter/video.c
+++ b/libavfilter/video.c
@@ -215,6 +215,12 @@ void ff_start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
     ff_update_link_current_pts(link, link->cur_buf->pts);
 }
 
+void ff_null_start_frame_keep_ref(AVFilterLink *inlink,
+                                                AVFilterBufferRef *picref)
+{
+    avfilter_start_frame(inlink->dst->outputs[0], avfilter_ref_buffer(picref, ~0));
+}
+
 void ff_null_end_frame(AVFilterLink *link)
 {
     ff_end_frame(link->dst->outputs[0]);
diff --git a/libavfilter/video.h b/libavfilter/video.h
index 1fed45f..b6886a6 100644
--- a/libavfilter/video.h
+++ b/libavfilter/video.h
@@ -45,6 +45,11 @@ void ff_null_end_frame(AVFilterLink *link);
 void ff_start_frame(AVFilterLink *link, AVFilterBufferRef *picref);
 
 /**
+ * Pass video frame along and keep an internal reference for later use.
+ */
+void ff_null_start_frame_keep_ref(AVFilterLink *inlink, AVFilterBufferRef *picref);
+
+/**
  * Notify the next filter that the current frame has finished.
  *
  * @param link the output link the frame was sent over



More information about the ffmpeg-cvslog mailing list