Merge commit '04fc8e24a091ed1d77d7a3c0cbcfe60baec19a9f'

* commit '04fc8e24a091ed1d77d7a3c0cbcfe60baec19a9f':
  lavc: deprecate avcodec_get_context_defaults3()

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
This commit is contained in:
Hendrik Leppkes 2016-06-26 14:34:53 +02:00
commit 69c38d64d7
3 changed files with 21 additions and 16 deletions

View File

@ -4118,7 +4118,6 @@ void avcodec_register_all(void);
* important mainly for encoders, e.g. libx264). * important mainly for encoders, e.g. libx264).
* *
* @return An AVCodecContext filled with default values or NULL on failure. * @return An AVCodecContext filled with default values or NULL on failure.
* @see avcodec_get_context_defaults
*/ */
AVCodecContext *avcodec_alloc_context3(const AVCodec *codec); AVCodecContext *avcodec_alloc_context3(const AVCodec *codec);
@ -4128,16 +4127,14 @@ AVCodecContext *avcodec_alloc_context3(const AVCodec *codec);
*/ */
void avcodec_free_context(AVCodecContext **avctx); void avcodec_free_context(AVCodecContext **avctx);
#if FF_API_GET_CONTEXT_DEFAULTS
/** /**
* Set the fields of the given AVCodecContext to default values corresponding * @deprecated This function should not be used, as closing and opening a codec
* to the given codec (defaults may be codec-dependent). * context multiple time is not supported. A new codec context should be
* * allocated for each new use.
* Do not call this function if a non-NULL codec has been passed
* to avcodec_alloc_context3() that allocated this AVCodecContext.
* If codec is non-NULL, it is illegal to call avcodec_open2() with a
* different codec on this AVCodecContext.
*/ */
int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec); int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec);
#endif
/** /**
* Get the AVClass for AVCodecContext. It can be used in combination with * Get the AVClass for AVCodecContext. It can be used in combination with
@ -4256,9 +4253,8 @@ int avcodec_parameters_to_context(AVCodecContext *codec,
* @param avctx The context to initialize. * @param avctx The context to initialize.
* @param codec The codec to open this context for. If a non-NULL codec has been * @param codec The codec to open this context for. If a non-NULL codec has been
* previously passed to avcodec_alloc_context3() or * previously passed to avcodec_alloc_context3() or
* avcodec_get_context_defaults3() for this context, then this * for this context, then this parameter MUST be either NULL or
* parameter MUST be either NULL or equal to the previously passed * equal to the previously passed codec.
* codec.
* @param options A dictionary filled with AVCodecContext and codec-private options. * @param options A dictionary filled with AVCodecContext and codec-private options.
* On return this object will be filled with options that were not found. * On return this object will be filled with options that were not found.
* *
@ -4273,9 +4269,8 @@ int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **op
* (but not the AVCodecContext itself). * (but not the AVCodecContext itself).
* *
* Calling this function on an AVCodecContext that hasn't been opened will free * Calling this function on an AVCodecContext that hasn't been opened will free
* the codec-specific data allocated in avcodec_alloc_context3() / * the codec-specific data allocated in avcodec_alloc_context3() with a non-NULL
* avcodec_get_context_defaults3() with a non-NULL codec. Subsequent calls will * codec. Subsequent calls will do nothing.
* do nothing.
*/ */
int avcodec_close(AVCodecContext *avctx); int avcodec_close(AVCodecContext *avctx);

View File

@ -89,7 +89,7 @@ static const AVClass av_codec_context_class = {
.get_category = get_category, .get_category = get_category,
}; };
int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec) static int init_context_defaults(AVCodecContext *s, const AVCodec *codec)
{ {
int flags=0; int flags=0;
memset(s, 0, sizeof(AVCodecContext)); memset(s, 0, sizeof(AVCodecContext));
@ -146,6 +146,13 @@ int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec)
return 0; return 0;
} }
#if FF_API_GET_CONTEXT_DEFAULTS
int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec)
{
return init_context_defaults(s, codec);
}
#endif
AVCodecContext *avcodec_alloc_context3(const AVCodec *codec) AVCodecContext *avcodec_alloc_context3(const AVCodec *codec)
{ {
AVCodecContext *avctx= av_malloc(sizeof(AVCodecContext)); AVCodecContext *avctx= av_malloc(sizeof(AVCodecContext));
@ -153,7 +160,7 @@ AVCodecContext *avcodec_alloc_context3(const AVCodec *codec)
if (!avctx) if (!avctx)
return NULL; return NULL;
if(avcodec_get_context_defaults3(avctx, codec) < 0){ if (init_context_defaults(avctx, codec) < 0) {
av_free(avctx); av_free(avctx);
return NULL; return NULL;
} }

View File

@ -220,6 +220,9 @@
#ifndef FF_API_COPY_CONTEXT #ifndef FF_API_COPY_CONTEXT
#define FF_API_COPY_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 59) #define FF_API_COPY_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 59)
#endif #endif
#ifndef FF_API_GET_CONTEXT_DEFAULTS
#define FF_API_GET_CONTEXT_DEFAULTS (LIBAVCODEC_VERSION_MAJOR < 59)
#endif
#ifndef FF_API_NVENC_OLD_NAME #ifndef FF_API_NVENC_OLD_NAME
#define FF_API_NVENC_OLD_NAME (LIBAVCODEC_VERSION_MAJOR < 59) #define FF_API_NVENC_OLD_NAME (LIBAVCODEC_VERSION_MAJOR < 59)
#endif #endif