Go to the documentation of this file.
19 #ifndef AVCODEC_BSF_FILTERS_H
20 #define AVCODEC_BSF_FILTERS_H
32 #define FFERROR_BSF_NOT_READY FFERRTAG('N','R','D','Y')
33 #define FFERROR_SOURCE_EMPTY FFERRTAG('M','P','T','Y')
56 #define FF_BSF_PAD_FLAG_NEEDS_WRITABLE (1 << 0)
61 #define FF_BSF_PAD_FLAG_FREE_NAME (1 << 1)
142 #define BSFILTER_INOUTPADS(inout, array) \
144 .nb_ ## inout = FF_ARRAY_ELEMS(array)
145 #define BSFILTER_INPUTS(array) BSFILTER_INOUTPADS(inputs, (array))
146 #define BSFILTER_OUTPUTS(array) BSFILTER_INOUTPADS(outputs, (array))
150 #define BSF_DEFINE_CLASS_EXT(name, desc, options) \
151 static const AVClass name##_class = { \
152 .class_name = desc, \
153 .item_name = av_default_item_name, \
155 .version = LIBAVUTIL_VERSION_INT, \
156 .category = AV_CLASS_CATEGORY_BITSTREAM_FILTER, \
158 #define BSF_DEFINE_CLASS(fname) \
159 BSF_DEFINE_CLASS_EXT(fname, #fname, fname##_options)
This struct describes the properties of an encoded stream.
AVBitStreamFilterContext * src
source filter
A filter pad used for either input or output.
void(* filter)(uint8_t *src, int stride, int qscale)
int64_t packet_count_in
Number of past packets sent through the link.
AVBitStreamFilterPad * dstpad
input pad on the dest filter
void ff_bsf_set_ready(AVBitStreamFilterContext *filter, unsigned priority)
Mark a filter ready and schedule it for activation.
void ff_bsf_inlink_set_status(AVBitStreamFilterLink *link, int status)
int flags
A combination of FF_BSF_PAD_FLAG_* flags.
int(* request_packet)(AVBitStreamFilterLink *link)
Packet request callback.
int ff_bsf_outlink_packet_wanted(AVBitStreamFilterLink *link)
enum AVCodecID * codec_ids
A list of codec ids supported by the pad, terminated by AV_CODEC_ID_NONE.
int ff_bsf_inlink_check_available_packet(AVBitStreamFilterLink *link)
int64_t current_pts_us
Current timestamp of the link, as defined by the most recent packet(s), in AV_TIME_BASE units.
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a link
int ff_bsf_outlink_get_status(AVBitStreamFilterLink *link)
Rational number (pair of numerator and denominator).
int ff_bsf_inlink_consume_packet(AVBitStreamFilterLink *link, AVPacket **pkt)
void ff_bsf_inlink_request_packet(AVBitStreamFilterLink *link)
size_t ff_bsf_inlink_queued_packets(AVBitStreamFilterLink *link)
AVCodecID
Identify the syntax and semantics of the bitstream.
unsigned ff_bsf_source_get_nb_failed_requests(const AVBitStreamFilterContext *src)
Get the number of failed requests.
int ff_bsf_inlink_acknowledge_status(AVBitStreamFilterLink *link, int *rstatus, int64_t *rpts)
void ff_bsf_link_set_in_status(AVBitStreamFilterLink *link, int status, int64_t pts)
int(* config_props)(AVBitStreamFilterLink *link)
Link configuration callback.
int64_t current_pts
Current timestamp of the link, as defined by the most recent packet(s), in link time_base units.
const AVBitStreamFilterPad ff_default_bsf_pad[1]
const char * name
Pad name.
AVBitStreamFilterContext * dst
dest filter
Link properties exposed to filter code, but not external callers.
AVBitStreamFilterPad * srcpad
output pad on the source filter
This structure stores compressed data.
int ff_bsf_request_packet(AVBitStreamFilterLink *link)
struct AVBitStreamFilterGraph * graph
Graph the filter belongs to.
int ff_bsf_filter_packet(AVBitStreamFilterLink *link, AVPacket *pkt)
Send a packet of data to the next filter.
int(* filter)(AVBitStreamFilterLink *link, AVPacket *pkt)
Filtering callback.