mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +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.
|
||||
@ -3038,6 +3046,175 @@ typedef struct AVSubtitle {
|
||||
int64_t pts; ///< Same as packet pts, in AV_TIME_BASE
|
||||
} 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 */
|
||||
|
||||
/**
|
||||
@ -3363,38 +3540,6 @@ int avpicture_deinterlace(AVPicture *dst, const AVPicture *src,
|
||||
|
||||
/* 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.
|
||||
*
|
||||
@ -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);
|
||||
|
||||
/**
|
||||
* 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);
|
||||
void avcodec_default_release_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);
|
||||
//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
|
||||
/**
|
||||
* Wrapper function which calls avcodec_decode_audio4.
|
||||
@ -3733,13 +3783,6 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,
|
||||
int *got_sub_ptr,
|
||||
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
|
||||
/**
|
||||
* 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,
|
||||
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.
|
||||
*/
|
||||
@ -4306,14 +4326,6 @@ int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op));
|
||||
*/
|
||||
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
|
||||
* with no corresponding avcodec_close()), 0 otherwise.
|
||||
|
Loading…
Reference in New Issue
Block a user