[FFmpeg-cvslog] lavc: deprecate avcodec_free_frame()

Anton Khirnov git at videolan.org
Wed Dec 11 23:36:03 CET 2013


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Fri Nov 29 21:43:56 2013 +0100| [943135621830ac3857d3cf766cfc280a95bb3c13] | committer: Anton Khirnov

lavc: deprecate avcodec_free_frame()

av_frame_free() should be used instead.

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

 libavcodec/avcodec.h |    5 +++++
 libavcodec/utils.c   |   14 ++------------
 2 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 4ce6d61..7836ae2 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -3112,6 +3112,7 @@ AVFrame *avcodec_alloc_frame(void);
  */
 void avcodec_get_frame_defaults(AVFrame *frame);
 
+#if FF_API_AVFRAME_LAVC
 /**
  * Free the frame and any dynamically allocated objects in it,
  * e.g. extended_data.
@@ -3121,8 +3122,12 @@ void avcodec_get_frame_defaults(AVFrame *frame);
  * @warning this function does NOT free the data buffers themselves
  * (it does not know how, since they might have been allocated with
  *  a custom get_buffer()).
+ *
+ * @deprecated use av_frame_free()
  */
+attribute_deprecated
 void avcodec_free_frame(AVFrame **frame);
+#endif
 
 /**
  * Initialize the AVCodecContext to use the given AVCodec. Prior to using this
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 89d78dd..25f16c0 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -827,22 +827,12 @@ AVFrame *avcodec_alloc_frame(void)
 
     return frame;
 }
-#endif
 
 void avcodec_free_frame(AVFrame **frame)
 {
-    AVFrame *f;
-
-    if (!frame || !*frame)
-        return;
-
-    f = *frame;
-
-    if (f->extended_data != f->data)
-        av_freep(&f->extended_data);
-
-    av_freep(frame);
+    av_frame_free(frame);
 }
+#endif
 
 int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
 {



More information about the ffmpeg-cvslog mailing list