mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
lavc doxy: add core functions/definitions to a doxy group.
This commit is contained in:
parent
02c39f056a
commit
294b3a5074
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user