---
libavcodec/decode.c | 11 +++++++++++
libavcodec/version.h | 3 +++
libavfilter/vsrc_movie.c | 5 +++++
3 files changed, 19 insertions(+)
diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index b74c163f92..040e1cc08e 100644
--- a/libavcodec/decode.c
+++ b/libavcodec/decode.c
@@ -36,6 +36,7 @@
#include "decode.h"
#include "internal.h"
#include "thread.h"
+#include "version.h"
static int apply_param_change(AVCodecContext *avctx, AVPacket *avpkt)
{
@@ -576,11 +577,15 @@ static int compat_decode(AVCodecContext *avctx, AVFrame
*frame,
}
if (frame != avci->compat_decode_frame) {
+#if FF_API_REFCOUNTED_FRAMES
+FF_DISABLE_DEPRECATION_WARNINGS
if (!avctx->refcounted_frames) {
ret = unrefcount_frame(avci, frame);
if (ret < 0)
goto finish;
}
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
*got_frame = 1;
frame = avci->compat_decode_frame;
@@ -1277,8 +1282,14 @@ void avcodec_flush_buffers(AVCodecContext *avctx)
ff_decode_bsfs_uninit(avctx);
+#if FF_API_REFCOUNTED_FRAMES
+FF_DISABLE_DEPRECATION_WARNINGS
if (!avctx->refcounted_frames)
av_frame_unref(avctx->internal->to_free);
+FF_ENABLE_DEPRECATION_WARNINGS
+#else
+ av_frame_unref(avctx->internal->to_free);
+#endif
}
void ff_decode_bsfs_uninit(AVCodecContext *avctx)
diff --git a/libavcodec/version.h b/libavcodec/version.h
index aa6cdcd6bc..f0cba4cc6b 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -95,5 +95,8 @@
#ifndef FF_API_VAAPI_CONTEXT
#define FF_API_VAAPI_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
+#ifndef FF_API_REFCOUNTED_FRAMES
+#define FF_API_REFCOUNTED_FRAMES (LIBAVCODEC_VERSION_MAJOR < 59)
+#endif
#endif /* AVCODEC_VERSION_H */
diff --git a/libavfilter/vsrc_movie.c b/libavfilter/vsrc_movie.c
index aff6e620ff..0bacb672fd 100644
--- a/libavfilter/vsrc_movie.c
+++ b/libavfilter/vsrc_movie.c
@@ -37,6 +37,7 @@
#include "libavutil/imgutils.h"
#include "libavcodec/avcodec.h"
+#include "libavcodec/version.h"
#include "libavformat/avformat.h"
@@ -157,7 +158,11 @@ static av_cold int movie_init(AVFilterContext *ctx)
if (ret < 0)
return ret;
+#if FF_API_REFCOUNTED_FRAMES
+FF_DISABLE_DEPRECATION_WARNINGS
movie->codec_ctx->refcounted_frames = 1;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
if ((ret = avcodec_open2(movie->codec_ctx, codec, NULL)) < 0) {
av_log(ctx, AV_LOG_ERROR, "Failed to open codec\n");
--
2.11.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel