diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 7e5aee2094..a5ae852aea 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -3391,6 +3391,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. @@ -3400,8 +3401,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 59f7d7563f..fb6fa9234a 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1087,22 +1087,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 MAKE_ACCESSORS(AVCodecContext, codec, AVRational, pkt_timebase) MAKE_ACCESSORS(AVCodecContext, codec, const AVCodecDescriptor *, codec_descriptor)