#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"
#include "packet_internal.h"
static av_always_inline const FFBitStreamFilter *ff_bsf(const AVBitStreamFilter *bsf)
{ … }
FFBSFContext;
static av_always_inline FFBSFContext *ffbsfcontext(AVBSFContext *ctx)
{ … }
void av_bsf_free(AVBSFContext **pctx)
{ … }
static void *bsf_child_next(void *obj, void *prev)
{ … }
static const char *bsf_to_name(void *bsf)
{ … }
static const AVClass bsf_class = …;
const AVClass *av_bsf_get_class(void)
{ … }
int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **pctx)
{ … }
int av_bsf_init(AVBSFContext *ctx)
{ … }
void av_bsf_flush(AVBSFContext *ctx)
{ … }
int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
{ … }
int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt)
{ … }
int ff_bsf_get_packet(AVBSFContext *ctx, AVPacket **pkt)
{ … }
int ff_bsf_get_packet_ref(AVBSFContext *ctx, AVPacket *pkt)
{ … }
BSFListContext;
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)
{ … }
static const AVClass bsf_list_class = …;
static const FFBitStreamFilter list_bsf = …;
struct AVBSFList { … };
AVBSFList *av_bsf_list_alloc(void)
{ … }
void av_bsf_list_free(AVBSFList **lst)
{ … }
int av_bsf_list_append(AVBSFList *lst, AVBSFContext *bsf)
{ … }
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)
{ … }
int av_bsf_list_finalize(AVBSFList **lst, AVBSFContext **bsf)
{ … }
static int bsf_parse_single(char *str, AVBSFList *bsf_lst)
{ … }
int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf_lst)
{ … }
int av_bsf_get_null_filter(AVBSFContext **bsf)
{ … }