FFmpeg
Data Structures | Enumerations | Functions | Variables
ffmpeg_filter.c File Reference
#include <stdint.h>
#include "ffmpeg.h"
#include "graph/graphprint.h"
#include "libavfilter/avfilter.h"
#include "libavfilter/buffersink.h"
#include "libavfilter/buffersrc.h"
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
#include "libavutil/channel_layout.h"
#include "libavutil/downmix_info.h"

Go to the source code of this file.

Data Structures

struct  FilterGraphPriv
 
struct  FilterGraphThread
 
struct  InputFilterPriv
 
struct  FPSConvContext
 
struct  ReinitOpts
 
struct  OutputFilterPriv
 
struct  FilterCommand
 

Enumerations

enum  ReinitReason {
  VIDEO_CHANGED = (1 << 0), AUDIO_CHANGED = (1 << 1), MATRIX_CHANGED = (1 << 2), DOWNMIX_CHANGED = (1 << 3),
  HWACCEL_CHANGED = (1 << 4)
}
 

Functions

static FilterGraphPrivfgp_from_fg (FilterGraph *fg)
 
static const FilterGraphPrivcfgp_from_cfg (const FilterGraph *fg)
 
static InputFilterPrivifp_from_ifilter (InputFilter *ifilter)
 
static OutputFilterPrivofp_from_ofilter (OutputFilter *ofilter)
 
static void filter_command_free (void *opaque, uint8_t *data)
 
static int sub2video_get_blank_frame (InputFilterPriv *ifp)
 
static void sub2video_copy_rect (uint8_t *dst, int dst_linesize, int w, int h, AVSubtitleRect *r)
 
static void sub2video_push_ref (InputFilterPriv *ifp, int64_t pts)
 
static void sub2video_update (InputFilterPriv *ifp, int64_t heartbeat_pts, const AVSubtitle *sub)
 
 DEF_CHOOSE_FORMAT (pix_fmts, enum AVPixelFormat, format, pix_fmts, AV_PIX_FMT_NONE, "%s", av_get_pix_fmt_name) DEF_CHOOSE_FORMAT(sample_fmts
 
s av_get_sample_fmt_name DEF_CHOOSE_FORMAT (sample_rates, int, sample_rate, sample_rates, 0, "%d")
 
static int read_binary (void *logctx, const char *path, uint8_t **data, int *len)
 
static int filter_opt_apply (void *logctx, AVFilterContext *f, const char *key, const char *val)
 
static int graph_opts_apply (void *logctx, AVFilterGraphSegment *seg)
 
static int graph_parse (void *logctx, AVFilterGraph *graph, const char *desc, AVFilterInOut **inputs, AVFilterInOut **outputs, AVBufferRef *hw_device)
 
static int ifilter_has_all_input_formats (FilterGraph *fg)
 
static int filter_thread (void *arg)
 
static char * describe_filter_link (FilterGraph *fg, AVFilterInOut *inout, int in)
 
static const char * ofilter_item_name (void *obj)
 
static OutputFilterofilter_alloc (FilterGraph *fg, enum AVMediaType type)
 
static int ifilter_bind_ist (InputFilter *ifilter, InputStream *ist, const ViewSpecifier *vs)
 
static int ifilter_bind_dec (InputFilterPriv *ifp, Decoder *dec, const ViewSpecifier *vs)
 
static int set_channel_layout (OutputFilterPriv *f, const AVChannelLayout *layouts_allowed, const AVChannelLayout *layout_requested)
 
static int parse_reinit_opts (AVFifo **pout, const char *opts, void *logctx)
 
int ofilter_bind_enc (OutputFilter *ofilter, unsigned sched_idx_enc, const OutputFilterOptions *opts)
 
static int ofilter_bind_ifilter (OutputFilter *ofilter, InputFilterPriv *ifp, const OutputFilterOptions *opts)
 
static int ifilter_bind_fg (InputFilterPriv *ifp, FilterGraph *fg_src, int out_idx)
 
static InputFilterifilter_alloc (FilterGraph *fg)
 
void fg_free (FilterGraph **pfg)
 
static const char * fg_item_name (void *obj)
 
int fg_create (FilterGraph **pfg, char **graph_desc, Scheduler *sch, const OutputFilterOptions *opts)
 Create a new filtergraph in the global filtergraph list. More...
 
int fg_create_simple (FilterGraph **pfg, InputStream *ist, char **graph_desc, Scheduler *sch, unsigned sched_idx_enc, const OutputFilterOptions *opts)
 
static int fg_complex_bind_input (FilterGraph *fg, InputFilter *ifilter, int commit)
 
static int bind_inputs (FilterGraph *fg, int commit)
 
int fg_finalise_bindings (void)
 
static int insert_trim (void *logctx, int64_t start_time, int64_t duration, AVFilterContext **last_filter, int *pad_idx, const char *filter_name)
 
static int insert_filter (AVFilterContext **last_filter, int *pad_idx, const char *filter_name, const char *args)
 
static int configure_output_video_filter (FilterGraphPriv *fgp, AVFilterGraph *graph, OutputFilter *ofilter, AVFilterInOut *out)
 
static int configure_output_audio_filter (FilterGraphPriv *fgp, AVFilterGraph *graph, OutputFilter *ofilter, AVFilterInOut *out)
 
static int configure_output_filter (FilterGraphPriv *fgp, AVFilterGraph *graph, OutputFilter *ofilter, AVFilterInOut *out)
 
static void sub2video_prepare (InputFilterPriv *ifp)
 
static int configure_input_video_filter (FilterGraph *fg, AVFilterGraph *graph, InputFilter *ifilter, AVFilterInOut *in)
 
static int configure_input_audio_filter (FilterGraph *fg, AVFilterGraph *graph, InputFilter *ifilter, AVFilterInOut *in)
 
static int configure_input_filter (FilterGraph *fg, AVFilterGraph *graph, InputFilter *ifilter, AVFilterInOut *in)
 
static void cleanup_filtergraph (FilterGraph *fg, FilterGraphThread *fgt)
 
static int filter_is_buffersrc (const AVFilterContext *f)
 
static int graph_is_meta (AVFilterGraph *graph)
 
static int sub2video_frame (InputFilter *ifilter, AVFrame *frame, int buffer)
 
static int configure_filtergraph (FilterGraph *fg, FilterGraphThread *fgt)
 
static int ifilter_parameters_from_frame (InputFilter *ifilter, const AVFrame *frame)
 
static int ifilter_parameters_from_ofilter (InputFilter *ifilter, OutputFilter *ofilter)
 
int filtergraph_is_simple (const FilterGraph *fg)
 
static void send_command (FilterGraph *fg, AVFilterGraph *graph, double time, const char *target, const char *command, const char *arg, int all_filters)
 
static int choose_input (const FilterGraph *fg, const FilterGraphThread *fgt)
 
static int choose_out_timebase (OutputFilterPriv *ofp, AVFrame *frame)
 
static double adjust_frame_pts_to_encoder_tb (void *logctx, AVFrame *frame, AVRational tb_dst, int64_t start_time)
 
static int64_t median3 (int64_t a, int64_t b, int64_t c)
 
static void video_sync_process (OutputFilterPriv *ofp, AVFrame *frame, int64_t *nb_frames, int64_t *nb_frames_prev)
 
static void close_input (InputFilterPriv *ifp)
 
static int close_output (OutputFilterPriv *ofp, FilterGraphThread *fgt)
 
static int fg_output_frame (OutputFilterPriv *ofp, FilterGraphThread *fgt, AVFrame *frame)
 
static int fg_output_step (OutputFilterPriv *ofp, FilterGraphThread *fgt, AVFrame *frame)
 
static int read_frames (FilterGraph *fg, FilterGraphThread *fgt, AVFrame *frame)
 
static void sub2video_heartbeat (InputFilter *ifilter, int64_t pts, AVRational tb)
 
static int send_eof (FilterGraphThread *fgt, InputFilter *ifilter, int64_t pts, AVRational tb)
 
static const char * unknown_if_null (const char *str)
 
static int send_frame (FilterGraph *fg, FilterGraphThread *fgt, InputFilter *ifilter, AVFrame *frame, int force_reinit)
 
static void fg_thread_set_name (const FilterGraph *fg)
 
static void fg_thread_uninit (FilterGraphThread *fgt)
 
static int fg_thread_init (FilterGraphThread *fgt, const FilterGraph *fg)
 
static int check_reinit (FilterGraph *fg, FilterGraphThread *fgt)
 
void fg_send_command (FilterGraph *fg, double time, const char *target, const char *command, const char *arg, int all_filters)
 

Variables

static const AVOption ofilter_options []
 
static const AVClass ofilter_class
 
static const AVClass fg_class
 

Enumeration Type Documentation

◆ ReinitReason

Enumerator
VIDEO_CHANGED 
AUDIO_CHANGED 
MATRIX_CHANGED 
DOWNMIX_CHANGED 
HWACCEL_CHANGED 

Definition at line 3167 of file ffmpeg_filter.c.

Function Documentation

◆ fgp_from_fg()

static FilterGraphPriv* fgp_from_fg ( FilterGraph fg)
static

◆ cfgp_from_cfg()

static const FilterGraphPriv* cfgp_from_cfg ( const FilterGraph fg)
static

Definition at line 74 of file ffmpeg_filter.c.

Referenced by filtergraph_is_simple().

◆ ifp_from_ifilter()

static InputFilterPriv* ifp_from_ifilter ( InputFilter ifilter)
static

◆ ofp_from_ofilter()

static OutputFilterPriv* ofp_from_ofilter ( OutputFilter ofilter)
static

◆ filter_command_free()

static void filter_command_free ( void *  opaque,
uint8_t *  data 
)
static

Definition at line 274 of file ffmpeg_filter.c.

Referenced by fg_send_command().

◆ sub2video_get_blank_frame()

static int sub2video_get_blank_frame ( InputFilterPriv ifp)
static

Definition at line 285 of file ffmpeg_filter.c.

Referenced by sub2video_update().

◆ sub2video_copy_rect()

static void sub2video_copy_rect ( uint8_t *  dst,
int  dst_linesize,
int  w,
int  h,
AVSubtitleRect r 
)
static

Definition at line 308 of file ffmpeg_filter.c.

Referenced by sub2video_update().

◆ sub2video_push_ref()

static void sub2video_push_ref ( InputFilterPriv ifp,
int64_t  pts 
)
static

Definition at line 339 of file ffmpeg_filter.c.

Referenced by sub2video_heartbeat(), and sub2video_update().

◆ sub2video_update()

static void sub2video_update ( InputFilterPriv ifp,
int64_t  heartbeat_pts,
const AVSubtitle sub 
)
static

Definition at line 355 of file ffmpeg_filter.c.

Referenced by sub2video_frame(), and sub2video_heartbeat().

◆ DEF_CHOOSE_FORMAT() [1/2]

DEF_CHOOSE_FORMAT ( pix_fmts  ,
enum  AVPixelFormat,
format  ,
pix_fmts  ,
AV_PIX_FMT_NONE  ,
"%s"  ,
av_get_pix_fmt_name   
)

◆ DEF_CHOOSE_FORMAT() [2/2]

s av_get_sample_fmt_name DEF_CHOOSE_FORMAT ( sample_rates  ,
int  ,
sample_rate  ,
sample_rates  ,
,
"%d"   
)

Definition at line 422 of file ffmpeg_filter.c.

◆ read_binary()

static int read_binary ( void *  logctx,
const char *  path,
uint8_t **  data,
int *  len 
)
static

Definition at line 454 of file ffmpeg_filter.c.

Referenced by filter_opt_apply().

◆ filter_opt_apply()

static int filter_opt_apply ( void *  logctx,
AVFilterContext f,
const char *  key,
const char *  val 
)
static

Definition at line 503 of file ffmpeg_filter.c.

Referenced by graph_opts_apply().

◆ graph_opts_apply()

static int graph_opts_apply ( void *  logctx,
AVFilterGraphSegment seg 
)
static

Definition at line 559 of file ffmpeg_filter.c.

Referenced by graph_parse().

◆ graph_parse()

static int graph_parse ( void *  logctx,
AVFilterGraph graph,
const char *  desc,
AVFilterInOut **  inputs,
AVFilterInOut **  outputs,
AVBufferRef hw_device 
)
static

Definition at line 583 of file ffmpeg_filter.c.

Referenced by configure_filtergraph(), and fg_create().

◆ ifilter_has_all_input_formats()

static int ifilter_has_all_input_formats ( FilterGraph fg)
static

Definition at line 628 of file ffmpeg_filter.c.

Referenced by filter_thread(), send_eof(), and send_frame().

◆ filter_thread()

static int filter_thread ( void *  arg)
static

Definition at line 3443 of file ffmpeg_filter.c.

Referenced by fg_create().

◆ describe_filter_link()

static char* describe_filter_link ( FilterGraph fg,
AVFilterInOut inout,
int  in 
)
static

Definition at line 640 of file ffmpeg_filter.c.

Referenced by fg_create().

◆ ofilter_item_name()

static const char* ofilter_item_name ( void *  obj)
static

Definition at line 652 of file ffmpeg_filter.c.

◆ ofilter_alloc()

static OutputFilter* ofilter_alloc ( FilterGraph fg,
enum AVMediaType  type 
)
static

Definition at line 678 of file ffmpeg_filter.c.

Referenced by fg_create().

◆ ifilter_bind_ist()

static int ifilter_bind_ist ( InputFilter ifilter,
InputStream ist,
const ViewSpecifier vs 
)
static

Definition at line 702 of file ffmpeg_filter.c.

Referenced by fg_complex_bind_input(), and fg_create_simple().

◆ ifilter_bind_dec()

static int ifilter_bind_dec ( InputFilterPriv ifp,
Decoder dec,
const ViewSpecifier vs 
)
static

Definition at line 761 of file ffmpeg_filter.c.

Referenced by fg_complex_bind_input().

◆ set_channel_layout()

static int set_channel_layout ( OutputFilterPriv f,
const AVChannelLayout layouts_allowed,
const AVChannelLayout layout_requested 
)
static

Definition at line 794 of file ffmpeg_filter.c.

Referenced by ofilter_bind_enc().

◆ parse_reinit_opts()

static int parse_reinit_opts ( AVFifo **  pout,
const char *  opts,
void *  logctx 
)
static

Definition at line 834 of file ffmpeg_filter.c.

Referenced by ofilter_bind_enc().

◆ ofilter_bind_enc()

int ofilter_bind_enc ( OutputFilter ofilter,
unsigned  sched_idx_enc,
const OutputFilterOptions opts 
)

Definition at line 903 of file ffmpeg_filter.c.

Referenced by fg_create_simple(), and ost_bind_filter().

◆ ofilter_bind_ifilter()

static int ofilter_bind_ifilter ( OutputFilter ofilter,
InputFilterPriv ifp,
const OutputFilterOptions opts 
)
static

Definition at line 1024 of file ffmpeg_filter.c.

Referenced by ifilter_bind_fg().

◆ ifilter_bind_fg()

static int ifilter_bind_fg ( InputFilterPriv ifp,
FilterGraph fg_src,
int  out_idx 
)
static

Definition at line 1046 of file ffmpeg_filter.c.

Referenced by fg_complex_bind_input().

◆ ifilter_alloc()

static InputFilter* ifilter_alloc ( FilterGraph fg)
static

Definition at line 1083 of file ffmpeg_filter.c.

Referenced by fg_create().

◆ fg_free()

void fg_free ( FilterGraph **  pfg)

Definition at line 1112 of file ffmpeg_filter.c.

Referenced by ffmpeg_cleanup(), fg_finalise_bindings(), and ost_free().

◆ fg_item_name()

static const char* fg_item_name ( void *  obj)
static

Definition at line 1178 of file ffmpeg_filter.c.

◆ fg_create()

int fg_create ( FilterGraph **  pfg,
char **  graph_desc,
Scheduler sch,
const OutputFilterOptions opts 
)

Create a new filtergraph in the global filtergraph list.

Parameters
graph_descPointer to graph description; an av_malloc()ed string, filtergraph takes ownership of it.

Definition at line 1192 of file ffmpeg_filter.c.

Referenced by fg_create_simple(), and istg_parse_tile_grid().

◆ fg_create_simple()

int fg_create_simple ( FilterGraph **  pfg,
InputStream ist,
char **  graph_desc,
Scheduler sch,
unsigned  sched_idx_enc,
const OutputFilterOptions opts 
)

Definition at line 1342 of file ffmpeg_filter.c.

Referenced by ost_bind_filter().

◆ fg_complex_bind_input()

static int fg_complex_bind_input ( FilterGraph fg,
InputFilter ifilter,
int  commit 
)
static

Definition at line 1394 of file ffmpeg_filter.c.

Referenced by bind_inputs().

◆ bind_inputs()

static int bind_inputs ( FilterGraph fg,
int  commit 
)
static

Definition at line 1567 of file ffmpeg_filter.c.

Referenced by fg_finalise_bindings().

◆ fg_finalise_bindings()

int fg_finalise_bindings ( void  )

Definition at line 1585 of file ffmpeg_filter.c.

◆ insert_trim()

static int insert_trim ( void *  logctx,
int64_t  start_time,
int64_t  duration,
AVFilterContext **  last_filter,
int *  pad_idx,
const char *  filter_name 
)
static

◆ insert_filter()

static int insert_filter ( AVFilterContext **  last_filter,
int *  pad_idx,
const char *  filter_name,
const char *  args 
)
static

◆ configure_output_video_filter()

static int configure_output_video_filter ( FilterGraphPriv fgp,
AVFilterGraph graph,
OutputFilter ofilter,
AVFilterInOut out 
)
static

Definition at line 1713 of file ffmpeg_filter.c.

Referenced by configure_output_filter().

◆ configure_output_audio_filter()

static int configure_output_audio_filter ( FilterGraphPriv fgp,
AVFilterGraph graph,
OutputFilter ofilter,
AVFilterInOut out 
)
static

Definition at line 1843 of file ffmpeg_filter.c.

Referenced by configure_output_filter().

◆ configure_output_filter()

static int configure_output_filter ( FilterGraphPriv fgp,
AVFilterGraph graph,
OutputFilter ofilter,
AVFilterInOut out 
)
static

Definition at line 1923 of file ffmpeg_filter.c.

Referenced by configure_filtergraph().

◆ sub2video_prepare()

static void sub2video_prepare ( InputFilterPriv ifp)
static

Definition at line 1933 of file ffmpeg_filter.c.

Referenced by configure_input_video_filter().

◆ configure_input_video_filter()

static int configure_input_video_filter ( FilterGraph fg,
AVFilterGraph graph,
InputFilter ifilter,
AVFilterInOut in 
)
static

Definition at line 1944 of file ffmpeg_filter.c.

Referenced by configure_input_filter().

◆ configure_input_audio_filter()

static int configure_input_audio_filter ( FilterGraph fg,
AVFilterGraph graph,
InputFilter ifilter,
AVFilterInOut in 
)
static

Definition at line 2063 of file ffmpeg_filter.c.

Referenced by configure_input_filter().

◆ configure_input_filter()

static int configure_input_filter ( FilterGraph fg,
AVFilterGraph graph,
InputFilter ifilter,
AVFilterInOut in 
)
static

Definition at line 2114 of file ffmpeg_filter.c.

Referenced by configure_filtergraph().

◆ cleanup_filtergraph()

static void cleanup_filtergraph ( FilterGraph fg,
FilterGraphThread fgt 
)
static

Definition at line 2124 of file ffmpeg_filter.c.

Referenced by configure_filtergraph().

◆ filter_is_buffersrc()

static int filter_is_buffersrc ( const AVFilterContext f)
static

Definition at line 2133 of file ffmpeg_filter.c.

Referenced by graph_is_meta().

◆ graph_is_meta()

static int graph_is_meta ( AVFilterGraph graph)
static

Definition at line 2140 of file ffmpeg_filter.c.

Referenced by configure_filtergraph().

◆ sub2video_frame()

static int sub2video_frame ( InputFilter ifilter,
AVFrame frame,
int  buffer 
)
static

Definition at line 3057 of file ffmpeg_filter.c.

Referenced by configure_filtergraph(), and filter_thread().

◆ configure_filtergraph()

static int configure_filtergraph ( FilterGraph fg,
FilterGraphThread fgt 
)
static

Definition at line 2159 of file ffmpeg_filter.c.

Referenced by filter_thread(), send_eof(), and send_frame().

◆ ifilter_parameters_from_frame()

static int ifilter_parameters_from_frame ( InputFilter ifilter,
const AVFrame frame 
)
static

Definition at line 2332 of file ffmpeg_filter.c.

Referenced by send_frame().

◆ ifilter_parameters_from_ofilter()

static int ifilter_parameters_from_ofilter ( InputFilter ifilter,
OutputFilter ofilter 
)
static

Definition at line 2410 of file ffmpeg_filter.c.

Referenced by send_frame().

◆ filtergraph_is_simple()

int filtergraph_is_simple ( const FilterGraph fg)

◆ send_command()

static void send_command ( FilterGraph fg,
AVFilterGraph graph,
double  time,
const char *  target,
const char *  command,
const char *  arg,
int  all_filters 
)
static

Definition at line 2437 of file ffmpeg_filter.c.

Referenced by filter_thread().

◆ choose_input()

static int choose_input ( const FilterGraph fg,
const FilterGraphThread fgt 
)
static

Definition at line 2462 of file ffmpeg_filter.c.

Referenced by read_frames().

◆ choose_out_timebase()

static int choose_out_timebase ( OutputFilterPriv ofp,
AVFrame frame 
)
static

Definition at line 2485 of file ffmpeg_filter.c.

Referenced by fg_output_step().

◆ adjust_frame_pts_to_encoder_tb()

static double adjust_frame_pts_to_encoder_tb ( void *  logctx,
AVFrame frame,
AVRational  tb_dst,
int64_t  start_time 
)
static

Definition at line 2562 of file ffmpeg_filter.c.

Referenced by video_sync_process().

◆ median3()

static int64_t median3 ( int64_t  a,
int64_t  b,
int64_t  c 
)
static

Definition at line 2601 of file ffmpeg_filter.c.

Referenced by video_sync_process().

◆ video_sync_process()

static void video_sync_process ( OutputFilterPriv ofp,
AVFrame frame,
int64_t nb_frames,
int64_t nb_frames_prev 
)
static

Definition at line 2622 of file ffmpeg_filter.c.

Referenced by fg_output_frame().

◆ close_input()

static void close_input ( InputFilterPriv ifp)
static

Definition at line 2739 of file ffmpeg_filter.c.

Referenced by filter_thread().

◆ close_output()

static int close_output ( OutputFilterPriv ofp,
FilterGraphThread fgt 
)
static

Definition at line 2749 of file ffmpeg_filter.c.

Referenced by fg_output_frame().

◆ fg_output_frame()

static int fg_output_frame ( OutputFilterPriv ofp,
FilterGraphThread fgt,
AVFrame frame 
)
static

Definition at line 2805 of file ffmpeg_filter.c.

Referenced by fg_output_step(), and filter_thread().

◆ fg_output_step()

static int fg_output_step ( OutputFilterPriv ofp,
FilterGraphThread fgt,
AVFrame frame 
)
static

Definition at line 2888 of file ffmpeg_filter.c.

Referenced by read_frames().

◆ read_frames()

static int read_frames ( FilterGraph fg,
FilterGraphThread fgt,
AVFrame frame 
)
static

Definition at line 2975 of file ffmpeg_filter.c.

Referenced by filter_thread(), and send_frame().

◆ sub2video_heartbeat()

static void sub2video_heartbeat ( InputFilter ifilter,
int64_t  pts,
AVRational  tb 
)
static

Definition at line 3035 of file ffmpeg_filter.c.

Referenced by sub2video_frame().

◆ send_eof()

static int send_eof ( FilterGraphThread fgt,
InputFilter ifilter,
int64_t  pts,
AVRational  tb 
)
static

Definition at line 3104 of file ffmpeg_filter.c.

Referenced by filter_thread().

◆ unknown_if_null()

static const char* unknown_if_null ( const char *  str)
static

Definition at line 3175 of file ffmpeg_filter.c.

Referenced by send_frame().

◆ send_frame()

static int send_frame ( FilterGraph fg,
FilterGraphThread fgt,
InputFilter ifilter,
AVFrame frame,
int  force_reinit 
)
static

Definition at line 3180 of file ffmpeg_filter.c.

Referenced by filter_thread().

◆ fg_thread_set_name()

static void fg_thread_set_name ( const FilterGraph fg)
static

Definition at line 3347 of file ffmpeg_filter.c.

Referenced by filter_thread().

◆ fg_thread_uninit()

static void fg_thread_uninit ( FilterGraphThread fgt)
static

Definition at line 3362 of file ffmpeg_filter.c.

Referenced by fg_thread_init(), and filter_thread().

◆ fg_thread_init()

static int fg_thread_init ( FilterGraphThread fgt,
const FilterGraph fg 
)
static

Definition at line 3380 of file ffmpeg_filter.c.

Referenced by filter_thread().

◆ check_reinit()

static int check_reinit ( FilterGraph fg,
FilterGraphThread fgt 
)
static

Definition at line 3407 of file ffmpeg_filter.c.

Referenced by filter_thread().

◆ fg_send_command()

void fg_send_command ( FilterGraph fg,
double  time,
const char *  target,
const char *  command,
const char *  arg,
int  all_filters 
)

Definition at line 3573 of file ffmpeg_filter.c.

Referenced by check_keyboard_interaction().

Variable Documentation

◆ ofilter_options

const AVOption ofilter_options[]
static
Initial value:
= {
{"video_size", "set video size", offsetof(OutputFilterPriv, width), AV_OPT_TYPE_IMAGE_SIZE, {.str = NULL}, 0, INT_MAX },
{"pixel_format", "set pixel format", offsetof(OutputFilterPriv, format), AV_OPT_TYPE_PIXEL_FMT, {.i64 = AV_PIX_FMT_NONE}, -1, INT_MAX },
{"colorspace", "color space", offsetof(OutputFilterPriv, color_space), AV_OPT_TYPE_INT, {.i64 = AVCOL_SPC_UNSPECIFIED }, 0, INT_MAX },
{"color_range", "color range", offsetof(OutputFilterPriv, color_range), AV_OPT_TYPE_INT, {.i64 = AVCOL_RANGE_UNSPECIFIED }, 0, INT_MAX },
{"alpha_mode", "color range", offsetof(OutputFilterPriv, alpha_mode), AV_OPT_TYPE_INT, {.i64 = AVALPHA_MODE_UNSPECIFIED }, 0, INT_MAX },
{"ar", "set audio sampling rate (in Hz)", offsetof(OutputFilterPriv, sample_rate), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, INT_MAX },
{"ch_layout", NULL, offsetof(OutputFilterPriv, ch_layout), AV_OPT_TYPE_CHLAYOUT, {.str = NULL }, 0, 0 },
{ NULL },
}

Definition at line 658 of file ffmpeg_filter.c.

◆ ofilter_class

const AVClass ofilter_class
static
Initial value:
= {
.class_name = "OutputFilter",
.item_name = ofilter_item_name,
.option = ofilter_options,
.parent_log_context_offset = offsetof(OutputFilterPriv, log_parent),
}

Definition at line 669 of file ffmpeg_filter.c.

Referenced by ofilter_alloc().

◆ fg_class

const AVClass fg_class
static
Initial value:
= {
.class_name = "FilterGraph",
.item_name = fg_item_name,
}

Definition at line 1185 of file ffmpeg_filter.c.

Referenced by fg_create().

OutputFilterPriv
Definition: ffmpeg_filter.c:195
ofilter_item_name
static const char * ofilter_item_name(void *obj)
Definition: ffmpeg_filter.c:652
color_range
color_range
Definition: vf_selectivecolor.c:43
fg_item_name
static const char * fg_item_name(void *obj)
Definition: ffmpeg_filter.c:1178
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
format
New swscale design to change SwsGraph is what coordinates multiple passes These can include cascaded scaling error diffusion and so on Or we could have separate passes for the vertical and horizontal scaling In between each SwsPass lies a fully allocated image buffer Graph passes may have different levels of e g we can have a single threaded error diffusion pass following a multi threaded scaling pass SwsGraph is internally recreated whenever the image format
Definition: swscale-v2.txt:14
AV_OPT_TYPE_IMAGE_SIZE
@ AV_OPT_TYPE_IMAGE_SIZE
Underlying C type is two consecutive integers.
Definition: opt.h:302
AV_OPT_TYPE_CHLAYOUT
@ AV_OPT_TYPE_CHLAYOUT
Underlying C type is AVChannelLayout.
Definition: opt.h:330
AVCOL_RANGE_UNSPECIFIED
@ AVCOL_RANGE_UNSPECIFIED
Definition: pixfmt.h:749
AV_CLASS_CATEGORY_FILTER
@ AV_CLASS_CATEGORY_FILTER
Definition: log.h:36
AVCOL_SPC_UNSPECIFIED
@ AVCOL_SPC_UNSPECIFIED
Definition: pixfmt.h:709
AVALPHA_MODE_UNSPECIFIED
@ AVALPHA_MODE_UNSPECIFIED
Unknown alpha handling, or no alpha channel.
Definition: pixfmt.h:817
AV_PIX_FMT_NONE
@ AV_PIX_FMT_NONE
Definition: pixfmt.h:72
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Underlying C type is int.
Definition: opt.h:258
AV_OPT_TYPE_PIXEL_FMT
@ AV_OPT_TYPE_PIXEL_FMT
Underlying C type is enum AVPixelFormat.
Definition: opt.h:306
ofilter_options
static const AVOption ofilter_options[]
Definition: ffmpeg_filter.c:658
width
#define width
Definition: dsp.h:89