av_frame_free() should be used instead.
---
libavcodec/avcodec.h | 4 ++++
libavcodec/utils.c | 14 ++------------
2 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 4ce6d61..fd0ce9c 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,11 @@ 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()
*/
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)
{
--
1.7.10.4
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel