[FFmpeg-devel] [PATCH 1/2] lavfi: add avfilter_get_buffer_ref_from_frame.

Nicolas George nicolas.george at normalesup.org
Sat Jul 21 00:49:33 CEST 2012


Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
 libavfilter/avcodec.c |   14 ++++++++++++++
 libavfilter/avcodec.h |   10 ++++++++++
 2 files changed, 24 insertions(+)

diff --git a/libavfilter/avcodec.c b/libavfilter/avcodec.c
index c50cd18..734357c 100644
--- a/libavfilter/avcodec.c
+++ b/libavfilter/avcodec.c
@@ -80,6 +80,20 @@ AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_frame(const AVFrame *frame
     return picref;
 }
 
+AVFilterBufferRef *avfilter_get_buffer_ref_from_frame(enum AVMediaType type,
+                                                      const AVFrame *frame,
+                                                      int perms)
+{
+    switch (type) {
+    case AVMEDIA_TYPE_VIDEO:
+        return avfilter_get_video_buffer_ref_from_frame(frame, perms);
+    case AVMEDIA_TYPE_AUDIO:
+        return avfilter_get_audio_buffer_ref_from_frame(frame, perms);
+    default:
+        return NULL;
+    }
+}
+
 int avfilter_copy_buf_props(AVFrame *dst, const AVFilterBufferRef *src)
 {
     int planes, nb_channels;
diff --git a/libavfilter/avcodec.h b/libavfilter/avcodec.h
index 867b014..5f4209a 100644
--- a/libavfilter/avcodec.h
+++ b/libavfilter/avcodec.h
@@ -65,6 +65,16 @@ AVFilterBufferRef *avfilter_get_video_buffer_ref_from_frame(const AVFrame *frame
 AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_frame(const AVFrame *frame,
                                                             int perms);
 
+/**
+ * Create and return a buffer reference from the data and properties
+ * contained in frame.
+ *
+ * @param perms permissions to assign to the new buffer reference
+ */
+AVFilterBufferRef *avfilter_get_buffer_ref_from_frame(enum AVMediaType type,
+                                                      const AVFrame *frame,
+                                                      int perms);
+
 #ifdef FF_API_FILL_FRAME
 /**
  * Fill an AVFrame with the information stored in samplesref.
-- 
1.7.10.4



More information about the ffmpeg-devel mailing list