summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2016-06-26 14:34:02 +0200
committerHendrik Leppkes <h.leppkes@gmail.com>2016-06-26 14:34:02 +0200
commit6988cf2969d777ebac84d241123883357375dc6c (patch)
tree8d1071655aa00c31b5491bd3065cdf9a17ad7204 /libavcodec
parent97bdb94341ae60630f019f8fa057be9bb35c08c8 (diff)
parent5f30ac27795f9f98043e8582ccaad8813104adc4 (diff)
Merge commit '5f30ac27795f9f98043e8582ccaad8813104adc4'
* commit '5f30ac27795f9f98043e8582ccaad8813104adc4': lavc: deprecate avcodec_copy_context() Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/avcodec.h9
-rw-r--r--libavcodec/options.c2
-rw-r--r--libavcodec/version.h3
3 files changed, 14 insertions, 0 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index c8a4039fe4..6c1d54b40c 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -4147,6 +4147,7 @@ int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec);
*/
const AVClass *avcodec_get_class(void);
+#if FF_API_COPY_CONTEXT
/**
* Get the AVClass for AVFrame. It can be used in combination with
* AV_OPT_SEARCH_FAKE_OBJ for examining options.
@@ -4173,8 +4174,16 @@ const AVClass *avcodec_get_subtitle_rect_class(void);
* avcodec_alloc_context3(NULL), but otherwise uninitialized
* @param src source codec context
* @return AVERROR() on error (e.g. memory allocation error), 0 on success
+ *
+ * @deprecated The semantics of this function are ill-defined and it should not
+ * be used. If you need to transfer the stream parameters from one codec context
+ * to another, use an intermediate AVCodecParameters instance and the
+ * avcodec_parameters_from_context() / avcodec_parameters_to_context()
+ * functions.
*/
+attribute_deprecated
int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src);
+#endif
/**
* Allocate a new AVCodecParameters and set its fields to default values
diff --git a/libavcodec/options.c b/libavcodec/options.c
index ea2563b571..a82f3759a3 100644
--- a/libavcodec/options.c
+++ b/libavcodec/options.c
@@ -179,6 +179,7 @@ void avcodec_free_context(AVCodecContext **pavctx)
av_freep(pavctx);
}
+#if FF_API_COPY_CONTEXT
int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
{
const AVCodec *orig_codec = dest->codec;
@@ -258,6 +259,7 @@ fail:
av_opt_free(dest);
return AVERROR(ENOMEM);
}
+#endif
const AVClass *avcodec_get_class(void)
{
diff --git a/libavcodec/version.h b/libavcodec/version.h
index f7cbae962f..b3dc8e8418 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -217,6 +217,9 @@
#ifndef FF_API_OLD_BSF
#define FF_API_OLD_BSF (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
+#ifndef FF_API_COPY_CONTEXT
+#define FF_API_COPY_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 59)
+#endif
#ifndef FF_API_NVENC_OLD_NAME
#define FF_API_NVENC_OLD_NAME (LIBAVCODEC_VERSION_MAJOR < 59)
#endif