mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
lavc/avcodec.h: document bitstream filter API
This commit is contained in:
parent
b009267910
commit
0f85c96091
@ -4620,14 +4620,78 @@ typedef struct AVBitStreamFilter {
|
|||||||
struct AVBitStreamFilter *next;
|
struct AVBitStreamFilter *next;
|
||||||
} AVBitStreamFilter;
|
} AVBitStreamFilter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register a bitstream filter.
|
||||||
|
*
|
||||||
|
* The filter will be accessible to the application code through
|
||||||
|
* av_bitstream_filter_next() or can be directly initialized with
|
||||||
|
* av_bitstream_filter_init().
|
||||||
|
*
|
||||||
|
* @see avcodec_register_all()
|
||||||
|
*/
|
||||||
void av_register_bitstream_filter(AVBitStreamFilter *bsf);
|
void av_register_bitstream_filter(AVBitStreamFilter *bsf);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create and initialize a bitstream filter context given a bitstream
|
||||||
|
* filter name.
|
||||||
|
*
|
||||||
|
* The returned context must be freed with av_bitstream_filter_close().
|
||||||
|
*
|
||||||
|
* @param name the name of the bitstream filter
|
||||||
|
* @return a bitstream filter context if a matching filter was found
|
||||||
|
* and successfully initialized, NULL otherwise
|
||||||
|
*/
|
||||||
AVBitStreamFilterContext *av_bitstream_filter_init(const char *name);
|
AVBitStreamFilterContext *av_bitstream_filter_init(const char *name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filter bitstream.
|
||||||
|
*
|
||||||
|
* This function filters the buffer buf with size buf_size, and places the
|
||||||
|
* filtered buffer in the buffer pointed to by poutbuf.
|
||||||
|
*
|
||||||
|
* The output buffer must be freed by the caller.
|
||||||
|
*
|
||||||
|
* @param bsfc bitstream filter context created by av_bitstream_filter_init()
|
||||||
|
* @param avctx AVCodecContext accessed by the filter, may be NULL.
|
||||||
|
* If specified, this must point to the encoder context of the
|
||||||
|
* output stream the packet is sent to.
|
||||||
|
* @param args arguments which specify the filter configuration, may be NULL
|
||||||
|
* @param poutbuf pointer which is updated to point to the filtered buffer
|
||||||
|
* @param poutbuf_size pointer which is updated to the filtered buffer size in bytes
|
||||||
|
* @param buf buffer containing the data to filter
|
||||||
|
* @param buf_size size in bytes of buf
|
||||||
|
* @param keyframe set to non-zero if the buffer to filter corresponds to a key-frame packet data
|
||||||
|
* @return >= 0 in case of success, or a negative error code in case of failure
|
||||||
|
*
|
||||||
|
* If the return value is positive, an output buffer is allocated and
|
||||||
|
* is availble in *poutbuf, and is distinct from the input buffer.
|
||||||
|
*
|
||||||
|
* If the return value is 0, the output output buffer is not allocated
|
||||||
|
* and the output buffer should be considered identical to the input
|
||||||
|
* buffer, or in case *poutbuf was set it points to the input buffer
|
||||||
|
* (not necessarily to its starting address).
|
||||||
|
*/
|
||||||
int av_bitstream_filter_filter(AVBitStreamFilterContext *bsfc,
|
int av_bitstream_filter_filter(AVBitStreamFilterContext *bsfc,
|
||||||
AVCodecContext *avctx, const char *args,
|
AVCodecContext *avctx, const char *args,
|
||||||
uint8_t **poutbuf, int *poutbuf_size,
|
uint8_t **poutbuf, int *poutbuf_size,
|
||||||
const uint8_t *buf, int buf_size, int keyframe);
|
const uint8_t *buf, int buf_size, int keyframe);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Release bitstream filter context.
|
||||||
|
*
|
||||||
|
* @param bsf the bitstream filter context created with
|
||||||
|
* av_bitstream_filter_init(), can be NULL
|
||||||
|
*/
|
||||||
void av_bitstream_filter_close(AVBitStreamFilterContext *bsf);
|
void av_bitstream_filter_close(AVBitStreamFilterContext *bsf);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If f is NULL, return the first registered bitstream filter,
|
||||||
|
* if f is non-NULL, return the next registered bitstream filter
|
||||||
|
* after f, or NULL if f is the last one.
|
||||||
|
*
|
||||||
|
* This function can be used to iterate over all registered bitstream
|
||||||
|
* filters.
|
||||||
|
*/
|
||||||
AVBitStreamFilter *av_bitstream_filter_next(AVBitStreamFilter *f);
|
AVBitStreamFilter *av_bitstream_filter_next(AVBitStreamFilter *f);
|
||||||
|
|
||||||
/* memory */
|
/* memory */
|
||||||
|
Loading…
Reference in New Issue
Block a user