|
|
@ -67,6 +67,14 @@ |
|
|
|
* |
|
|
|
* |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* @defgroup lavc_core Core functions/structures. |
|
|
|
|
|
|
|
* @ingroup libavc |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* Basic definitions, functions for querying libavcodec capabilities, |
|
|
|
|
|
|
|
* allocating core structures, etc. |
|
|
|
|
|
|
|
* @{ |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Identify the syntax and semantics of the bitstream. |
|
|
|
* Identify the syntax and semantics of the bitstream. |
|
|
@ -3038,6 +3046,175 @@ typedef struct AVSubtitle { |
|
|
|
int64_t pts; ///< Same as packet pts, in AV_TIME_BASE
|
|
|
|
int64_t pts; ///< Same as packet pts, in AV_TIME_BASE
|
|
|
|
} AVSubtitle; |
|
|
|
} AVSubtitle; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* If c is NULL, returns the first registered codec, |
|
|
|
|
|
|
|
* if c is non-NULL, returns the next registered codec after c, |
|
|
|
|
|
|
|
* or NULL if c is the last one. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
AVCodec *av_codec_next(AVCodec *c); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Return the LIBAVCODEC_VERSION_INT constant. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
unsigned avcodec_version(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Return the libavcodec build-time configuration. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
const char *avcodec_configuration(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Return the libavcodec license. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
const char *avcodec_license(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Register the codec codec and initialize libavcodec. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @warning either this function or avcodec_register_all() must be called |
|
|
|
|
|
|
|
* before any other libavcodec functions. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @see avcodec_register_all() |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
void avcodec_register(AVCodec *codec); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Register all the codecs, parsers and bitstream filters which were enabled at |
|
|
|
|
|
|
|
* configuration time. If you do not call this function you can select exactly |
|
|
|
|
|
|
|
* which formats you want to support, by using the individual registration |
|
|
|
|
|
|
|
* functions. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @see avcodec_register |
|
|
|
|
|
|
|
* @see av_register_codec_parser |
|
|
|
|
|
|
|
* @see av_register_bitstream_filter |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
void avcodec_register_all(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Allocate an AVCodecContext and set its fields to default values. The |
|
|
|
|
|
|
|
* resulting struct can be deallocated by calling avcodec_close() on it followed |
|
|
|
|
|
|
|
* by av_free(). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param codec if non-NULL, allocate private data and initialize defaults |
|
|
|
|
|
|
|
* for the given codec. It is illegal to then call avcodec_open2() |
|
|
|
|
|
|
|
* with a different codec. |
|
|
|
|
|
|
|
* If NULL, then the codec-specific defaults won't be initialized, |
|
|
|
|
|
|
|
* which may result in suboptimal default settings (this is |
|
|
|
|
|
|
|
* important mainly for encoders, e.g. libx264). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @return An AVCodecContext filled with default values or NULL on failure. |
|
|
|
|
|
|
|
* @see avcodec_get_context_defaults |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
AVCodecContext *avcodec_alloc_context3(AVCodec *codec); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Set the fields of the given AVCodecContext to default values corresponding |
|
|
|
|
|
|
|
* to the given codec (defaults may be codec-dependent). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* 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, AVCodec *codec); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Get the AVClass for AVCodecContext. It can be used in combination with |
|
|
|
|
|
|
|
* AV_OPT_SEARCH_FAKE_OBJ for examining options. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @see av_opt_find(). |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
const AVClass *avcodec_get_class(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Copy the settings of the source AVCodecContext into the destination |
|
|
|
|
|
|
|
* AVCodecContext. The resulting destination codec context will be |
|
|
|
|
|
|
|
* unopened, i.e. you are required to call avcodec_open2() before you |
|
|
|
|
|
|
|
* can use this AVCodecContext to decode/encode video/audio data. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param dest target codec context, should be initialized with |
|
|
|
|
|
|
|
* avcodec_alloc_context3(), but otherwise uninitialized |
|
|
|
|
|
|
|
* @param src source codec context |
|
|
|
|
|
|
|
* @return AVERROR() on error (e.g. memory allocation error), 0 on success |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Allocate an AVFrame and set its fields to default values. The resulting |
|
|
|
|
|
|
|
* struct can be deallocated by simply calling av_free(). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @return An AVFrame filled with default values or NULL on failure. |
|
|
|
|
|
|
|
* @see avcodec_get_frame_defaults |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
AVFrame *avcodec_alloc_frame(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Set the fields of the given AVFrame to default values. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param pic The AVFrame of which the fields should be set to default values. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
void avcodec_get_frame_defaults(AVFrame *pic); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Initialize the AVCodecContext to use the given AVCodec. Prior to using this |
|
|
|
|
|
|
|
* function the context has to be allocated with avcodec_alloc_context3(). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* The functions avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(), |
|
|
|
|
|
|
|
* avcodec_find_decoder() and avcodec_find_encoder() provide an easy way for |
|
|
|
|
|
|
|
* retrieving a codec. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @warning This function is not thread safe! |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @code |
|
|
|
|
|
|
|
* avcodec_register_all(); |
|
|
|
|
|
|
|
* av_dict_set(&opts, "b", "2.5M", 0); |
|
|
|
|
|
|
|
* codec = avcodec_find_decoder(CODEC_ID_H264); |
|
|
|
|
|
|
|
* if (!codec) |
|
|
|
|
|
|
|
* exit(1); |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* context = avcodec_alloc_context3(codec); |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* if (avcodec_open2(context, codec, opts) < 0) |
|
|
|
|
|
|
|
* exit(1); |
|
|
|
|
|
|
|
* @endcode |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param avctx The context to initialize. |
|
|
|
|
|
|
|
* @param codec The codec to open this context for. If a non-NULL codec has been |
|
|
|
|
|
|
|
* previously passed to avcodec_alloc_context3() or |
|
|
|
|
|
|
|
* avcodec_get_context_defaults3() for this context, then this |
|
|
|
|
|
|
|
* parameter MUST be either NULL or equal to the previously passed |
|
|
|
|
|
|
|
* codec. |
|
|
|
|
|
|
|
* @param options A dictionary filled with AVCodecContext and codec-private options. |
|
|
|
|
|
|
|
* On return this object will be filled with options that were not found. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @return zero on success, a negative value on error |
|
|
|
|
|
|
|
* @see avcodec_alloc_context3(), avcodec_find_decoder(), avcodec_find_encoder(), |
|
|
|
|
|
|
|
* av_dict_set(), av_opt_find(). |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
int avcodec_open2(AVCodecContext *avctx, AVCodec *codec, AVDictionary **options); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Close a given AVCodecContext and free all the data associated with it |
|
|
|
|
|
|
|
* (but not the AVCodecContext itself). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* Calling this function on an AVCodecContext that hasn't been opened will free |
|
|
|
|
|
|
|
* the codec-specific data allocated in avcodec_alloc_context3() / |
|
|
|
|
|
|
|
* avcodec_get_context_defaults3() with a non-NULL codec. Subsequent calls will |
|
|
|
|
|
|
|
* do nothing. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
int avcodec_close(AVCodecContext *avctx); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Free all allocated data in the given subtitle struct. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param sub AVSubtitle to free. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
void avsubtitle_free(AVSubtitle *sub); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* @} |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
/* packet functions */ |
|
|
|
/* packet functions */ |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -3363,38 +3540,6 @@ int avpicture_deinterlace(AVPicture *dst, const AVPicture *src, |
|
|
|
|
|
|
|
|
|
|
|
/* external high level API */ |
|
|
|
/* external high level API */ |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* If c is NULL, returns the first registered codec, |
|
|
|
|
|
|
|
* if c is non-NULL, returns the next registered codec after c, |
|
|
|
|
|
|
|
* or NULL if c is the last one. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
AVCodec *av_codec_next(AVCodec *c); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Return the LIBAVCODEC_VERSION_INT constant. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
unsigned avcodec_version(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Return the libavcodec build-time configuration. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
const char *avcodec_configuration(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Return the libavcodec license. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
const char *avcodec_license(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Register the codec codec and initialize libavcodec. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @warning either this function or avcodec_register_all() must be called |
|
|
|
|
|
|
|
* before any other libavcodec functions. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @see avcodec_register_all() |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
void avcodec_register(AVCodec *codec); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Find a registered encoder with a matching codec ID. |
|
|
|
* Find a registered encoder with a matching codec ID. |
|
|
|
* |
|
|
|
* |
|
|
@ -3437,63 +3582,6 @@ void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode); |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
const char *av_get_profile_name(const AVCodec *codec, int profile); |
|
|
|
const char *av_get_profile_name(const AVCodec *codec, int profile); |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Set the fields of the given AVCodecContext to default values corresponding |
|
|
|
|
|
|
|
* to the given codec (defaults may be codec-dependent). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* 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, AVCodec *codec); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Allocate an AVCodecContext and set its fields to default values. The |
|
|
|
|
|
|
|
* resulting struct can be deallocated by calling avcodec_close() on it followed |
|
|
|
|
|
|
|
* by av_free(). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param codec if non-NULL, allocate private data and initialize defaults |
|
|
|
|
|
|
|
* for the given codec. It is illegal to then call avcodec_open2() |
|
|
|
|
|
|
|
* with a different codec. |
|
|
|
|
|
|
|
* If NULL, then the codec-specific defaults won't be initialized, |
|
|
|
|
|
|
|
* which may result in suboptimal default settings (this is |
|
|
|
|
|
|
|
* important mainly for encoders, e.g. libx264). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @return An AVCodecContext filled with default values or NULL on failure. |
|
|
|
|
|
|
|
* @see avcodec_get_context_defaults |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
AVCodecContext *avcodec_alloc_context3(AVCodec *codec); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Copy the settings of the source AVCodecContext into the destination |
|
|
|
|
|
|
|
* AVCodecContext. The resulting destination codec context will be |
|
|
|
|
|
|
|
* unopened, i.e. you are required to call avcodec_open2() before you |
|
|
|
|
|
|
|
* can use this AVCodecContext to decode/encode video/audio data. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param dest target codec context, should be initialized with |
|
|
|
|
|
|
|
* avcodec_alloc_context3(), but otherwise uninitialized |
|
|
|
|
|
|
|
* @param src source codec context |
|
|
|
|
|
|
|
* @return AVERROR() on error (e.g. memory allocation error), 0 on success |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Set the fields of the given AVFrame to default values. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param pic The AVFrame of which the fields should be set to default values. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
void avcodec_get_frame_defaults(AVFrame *pic); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Allocate an AVFrame and set its fields to default values. The resulting |
|
|
|
|
|
|
|
* struct can be deallocated by simply calling av_free(). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @return An AVFrame filled with default values or NULL on failure. |
|
|
|
|
|
|
|
* @see avcodec_get_frame_defaults |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
AVFrame *avcodec_alloc_frame(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic); |
|
|
|
int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic); |
|
|
|
void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic); |
|
|
|
void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic); |
|
|
|
int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic); |
|
|
|
int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic); |
|
|
@ -3534,44 +3622,6 @@ int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, v |
|
|
|
int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2, int, int),void *arg, int *ret, int count); |
|
|
|
int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2, int, int),void *arg, int *ret, int count); |
|
|
|
//FIXME func typedef
|
|
|
|
//FIXME func typedef
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Initialize the AVCodecContext to use the given AVCodec. Prior to using this |
|
|
|
|
|
|
|
* function the context has to be allocated with avcodec_alloc_context3(). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* The functions avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(), |
|
|
|
|
|
|
|
* avcodec_find_decoder() and avcodec_find_encoder() provide an easy way for |
|
|
|
|
|
|
|
* retrieving a codec. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @warning This function is not thread safe! |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @code |
|
|
|
|
|
|
|
* avcodec_register_all(); |
|
|
|
|
|
|
|
* av_dict_set(&opts, "b", "2.5M", 0); |
|
|
|
|
|
|
|
* codec = avcodec_find_decoder(CODEC_ID_H264); |
|
|
|
|
|
|
|
* if (!codec) |
|
|
|
|
|
|
|
* exit(1); |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* context = avcodec_alloc_context3(codec); |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* if (avcodec_open2(context, codec, opts) < 0) |
|
|
|
|
|
|
|
* exit(1); |
|
|
|
|
|
|
|
* @endcode |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param avctx The context to initialize. |
|
|
|
|
|
|
|
* @param codec The codec to open this context for. If a non-NULL codec has been |
|
|
|
|
|
|
|
* previously passed to avcodec_alloc_context3() or |
|
|
|
|
|
|
|
* avcodec_get_context_defaults3() for this context, then this |
|
|
|
|
|
|
|
* parameter MUST be either NULL or equal to the previously passed |
|
|
|
|
|
|
|
* codec. |
|
|
|
|
|
|
|
* @param options A dictionary filled with AVCodecContext and codec-private options. |
|
|
|
|
|
|
|
* On return this object will be filled with options that were not found. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @return zero on success, a negative value on error |
|
|
|
|
|
|
|
* @see avcodec_alloc_context3(), avcodec_find_decoder(), avcodec_find_encoder(), |
|
|
|
|
|
|
|
* av_dict_set(), av_opt_find(). |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
int avcodec_open2(AVCodecContext *avctx, AVCodec *codec, AVDictionary **options); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if FF_API_OLD_DECODE_AUDIO |
|
|
|
#if FF_API_OLD_DECODE_AUDIO |
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Wrapper function which calls avcodec_decode_audio4. |
|
|
|
* Wrapper function which calls avcodec_decode_audio4. |
|
|
@ -3733,13 +3783,6 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, |
|
|
|
int *got_sub_ptr, |
|
|
|
int *got_sub_ptr, |
|
|
|
AVPacket *avpkt); |
|
|
|
AVPacket *avpkt); |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Free all allocated data in the given subtitle struct. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @param sub AVSubtitle to free. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
void avsubtitle_free(AVSubtitle *sub); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if FF_API_OLD_ENCODE_AUDIO |
|
|
|
#if FF_API_OLD_ENCODE_AUDIO |
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Encode an audio frame from samples into buf. |
|
|
|
* Encode an audio frame from samples into buf. |
|
|
@ -3895,29 +3938,6 @@ int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt, |
|
|
|
int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, |
|
|
|
int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, |
|
|
|
const AVSubtitle *sub); |
|
|
|
const AVSubtitle *sub); |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Close a given AVCodecContext and free all the data associated with it |
|
|
|
|
|
|
|
* (but not the AVCodecContext itself). |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* Calling this function on an AVCodecContext that hasn't been opened will free |
|
|
|
|
|
|
|
* the codec-specific data allocated in avcodec_alloc_context3() / |
|
|
|
|
|
|
|
* avcodec_get_context_defaults3() with a non-NULL codec. Subsequent calls will |
|
|
|
|
|
|
|
* do nothing. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
int avcodec_close(AVCodecContext *avctx); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Register all the codecs, parsers and bitstream filters which were enabled at |
|
|
|
|
|
|
|
* configuration time. If you do not call this function you can select exactly |
|
|
|
|
|
|
|
* which formats you want to support, by using the individual registration |
|
|
|
|
|
|
|
* functions. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @see avcodec_register |
|
|
|
|
|
|
|
* @see av_register_codec_parser |
|
|
|
|
|
|
|
* @see av_register_bitstream_filter |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
void avcodec_register_all(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Flush buffers, should be called when seeking or when switching to a different stream. |
|
|
|
* Flush buffers, should be called when seeking or when switching to a different stream. |
|
|
|
*/ |
|
|
|
*/ |
|
|
@ -4306,14 +4326,6 @@ int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op)); |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
enum AVMediaType avcodec_get_type(enum CodecID codec_id); |
|
|
|
enum AVMediaType avcodec_get_type(enum CodecID codec_id); |
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Get the AVClass for AVCodecContext. It can be used in combination with |
|
|
|
|
|
|
|
* AV_OPT_SEARCH_FAKE_OBJ for examining options. |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* @see av_opt_find(). |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
const AVClass *avcodec_get_class(void); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @return a positive value if s is open (i.e. avcodec_open2() was called on it |
|
|
|
* @return a positive value if s is open (i.e. avcodec_open2() was called on it |
|
|
|
* with no corresponding avcodec_close()), 0 otherwise. |
|
|
|
* with no corresponding avcodec_close()), 0 otherwise. |
|
|
|