On Mon, Dec 9, 2013 at 7:46 PM, wm4 <[email protected]> wrote: > On Mon, 9 Dec 2013 12:11:41 +0100 > Anton Khirnov <[email protected]> wrote: > >> avcodec_get_frame_defaults() will be deprecated. >> --- >> libavcodec/utils.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/libavcodec/utils.c b/libavcodec/utils.c >> index 25f16c0..e078a11 100644 >> --- a/libavcodec/utils.c >> +++ b/libavcodec/utils.c >> @@ -1433,7 +1433,7 @@ int attribute_align_arg >> avcodec_decode_video2(AVCodecContext *avctx, AVFrame *pi >> return ret; >> } >> >> - avcodec_get_frame_defaults(picture); >> + av_frame_unref(picture); >> >> if ((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size || >> (avctx->active_thread_type & FF_THREAD_FRAME)) { >> if (HAVE_THREADS && avctx->active_thread_type & FF_THREAD_FRAME) >> @@ -1494,7 +1494,7 @@ int attribute_align_arg >> avcodec_decode_audio4(AVCodecContext *avctx, >> return ret; >> } >> >> - avcodec_get_frame_defaults(frame); >> + av_frame_unref(frame); >> >> if ((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size) { >> ret = avctx->codec->decode(avctx, frame, got_frame_ptr, avpkt); > > This is pretty nice. > > With patch 02/11 (making avcodec_free_frame() call av_frame_free()) is > there any reason left not to enable refcounting by default?
Like i said on IRC a while ago, you can't rely on users to re-use the same AVFrame, they may create a new one for every decode call - and thus leak memory if they don't explicitly free it. It would be an API break as such. - Hendrik _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
