FFmpeg
|
#include <string.h>
#include "config_components.h"
#include "libavutil/avassert.h"
#include "libavutil/log.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
#include "bsf.h"
#include "bsf_internal.h"
#include "codec_desc.h"
#include "codec_par.h"
Go to the source code of this file.
Data Structures | |
struct | FFBSFContext |
struct | BSFListContext |
struct | AVBSFList |
Structure for chain/list of bitstream filters. More... | |
Macros | |
#define | IS_EMPTY(pkt) (!(pkt)->data && !(pkt)->side_data_elems) |
Functions | |
static const av_always_inline FFBitStreamFilter * | ff_bsf (const AVBitStreamFilter *bsf) |
static av_always_inline FFBSFContext * | ffbsfcontext (AVBSFContext *ctx) |
void | av_bsf_free (AVBSFContext **pctx) |
Free a bitstream filter context and everything associated with it; write NULL into the supplied pointer. More... | |
static void * | bsf_child_next (void *obj, void *prev) |
static const char * | bsf_to_name (void *bsf) |
const AVClass * | av_bsf_get_class (void) |
Get the AVClass for AVBSFContext. More... | |
int | av_bsf_alloc (const AVBitStreamFilter *filter, AVBSFContext **pctx) |
Allocate a context for a given bitstream filter. More... | |
int | av_bsf_init (AVBSFContext *ctx) |
Prepare the filter for use, after all the parameters and options have been set. More... | |
void | av_bsf_flush (AVBSFContext *ctx) |
Reset the internal bitstream filter state. More... | |
int | av_bsf_send_packet (AVBSFContext *ctx, AVPacket *pkt) |
Submit a packet for filtering. More... | |
int | av_bsf_receive_packet (AVBSFContext *ctx, AVPacket *pkt) |
Retrieve a filtered packet. More... | |
int | ff_bsf_get_packet (AVBSFContext *ctx, AVPacket **pkt) |
Called by the bitstream filters to get the next packet for filtering. More... | |
int | ff_bsf_get_packet_ref (AVBSFContext *ctx, AVPacket *pkt) |
Called by bitstream filters to get packet for filtering. More... | |
static int | bsf_list_init (AVBSFContext *bsf) |
static int | bsf_list_filter (AVBSFContext *bsf, AVPacket *out) |
static void | bsf_list_flush (AVBSFContext *bsf) |
static void | bsf_list_close (AVBSFContext *bsf) |
static const char * | bsf_list_item_name (void *ctx) |
AVBSFList * | av_bsf_list_alloc (void) |
Allocate empty list of bitstream filters. More... | |
void | av_bsf_list_free (AVBSFList **lst) |
Free list of bitstream filters. More... | |
int | av_bsf_list_append (AVBSFList *lst, AVBSFContext *bsf) |
Append bitstream filter to the list of bitstream filters. More... | |
static int | bsf_list_append_internal (AVBSFList *lst, const char *bsf_name, const char *options, AVDictionary **options_dict) |
int | av_bsf_list_append2 (AVBSFList *lst, const char *bsf_name, AVDictionary **options) |
Construct new bitstream filter context given it's name and options and append it to the list of bitstream filters. More... | |
int | av_bsf_list_finalize (AVBSFList **lst, AVBSFContext **bsf) |
Finalize list of bitstream filters. More... | |
static int | bsf_parse_single (char *str, AVBSFList *bsf_lst) |
int | av_bsf_list_parse_str (const char *str, AVBSFContext **bsf_lst) |
Parse string describing list of bitstream filters and create single AVBSFContext describing the whole chain of bitstream filters. More... | |
int | av_bsf_get_null_filter (AVBSFContext **bsf) |
Get null/pass-through bitstream filter. More... | |
Variables | |
static const AVClass | bsf_class |
static const AVClass | bsf_list_class |
static const FFBitStreamFilter | list_bsf |
|
static |
Definition at line 37 of file bsf.c.
Referenced by av_bsf_alloc(), av_bsf_flush(), av_bsf_free(), av_bsf_init(), and av_bsf_receive_packet().
|
static |
Definition at line 48 of file bsf.c.
Referenced by av_bsf_flush(), av_bsf_free(), av_bsf_send_packet(), ff_bsf_get_packet(), and ff_bsf_get_packet_ref().
int ff_bsf_get_packet | ( | AVBSFContext * | ctx, |
AVPacket ** | pkt | ||
) |
Called by the bitstream filters to get the next packet for filtering.
The filter is responsible for either freeing the packet or passing it to the caller.
Definition at line 236 of file bsf.c.
Referenced by h264_mp4toannexb_filter(), hevc_mp4toannexb_filter(), imx_dump_header(), mjpeg2jpeg_filter(), mjpega_dump_header(), mp3_header_decompress(), text2movsub(), and vp9_raw_reorder_filter().
int ff_bsf_get_packet_ref | ( | AVBSFContext * | ctx, |
AVPacket * | pkt | ||
) |
Called by bitstream filters to get packet for filtering.
The reference to packet is moved to provided packet structure.
ctx | pointer to AVBSFContext of filter |
pkt | pointer to packet to move reference to |
Definition at line 257 of file bsf.c.
Referenced by aac_adtstoasc_filter(), av1_frame_merge_filter(), av1_frame_split_filter(), bsf_list_filter(), chomp_filter(), dca_core_filter(), dump_extradata(), dv_error_marker_filter(), eac3_core_filter(), extract_extradata_filter(), ff_cbs_bsf_generic_filter(), filter_units_filter(), frame_merge_filter(), hapqa_extract(), mov2textsub(), mpeg4_unpack_bframes_filter(), noise(), prores_metadata(), rechunk_filter(), remove_extradata(), setts_filter(), trace_headers(), truehd_core_filter(), vp9_superframe_filter(), and vp9_superframe_split_filter().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 444 of file bsf.c.
Referenced by av_bsf_list_append2(), and bsf_parse_single().
Definition at line 516 of file bsf.c.
Referenced by av_bsf_list_parse_str().
|
static |
Definition at line 91 of file bsf.c.
Referenced by av_bsf_alloc(), and av_bsf_get_class().
|
static |
|
static |
Definition at line 406 of file bsf.c.
Referenced by av_bsf_get_null_filter(), and av_bsf_list_finalize().