FFmpeg
ffmpeg.h
Go to the documentation of this file.
1 /*
2  * This file is part of FFmpeg.
3  *
4  * FFmpeg is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * FFmpeg is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with FFmpeg; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 
19 #ifndef FFTOOLS_FFMPEG_H
20 #define FFTOOLS_FFMPEG_H
21 
22 #include "config.h"
23 
24 #include <stdint.h>
25 #include <stdio.h>
26 #include <signal.h>
27 
28 #include "cmdutils.h"
29 
30 #include "libavformat/avformat.h"
31 #include "libavformat/avio.h"
32 
33 #include "libavcodec/avcodec.h"
34 
35 #include "libavfilter/avfilter.h"
36 
37 #include "libavutil/avutil.h"
38 #include "libavutil/dict.h"
39 #include "libavutil/eval.h"
40 #include "libavutil/fifo.h"
41 #include "libavutil/hwcontext.h"
42 #include "libavutil/pixfmt.h"
43 #include "libavutil/rational.h"
44 #include "libavutil/thread.h"
46 
48 
49 #define VSYNC_AUTO -1
50 #define VSYNC_PASSTHROUGH 0
51 #define VSYNC_CFR 1
52 #define VSYNC_VFR 2
53 #define VSYNC_VSCFR 0xfe
54 #define VSYNC_DROP 0xff
55 
56 #define MAX_STREAMS 1024 /* arbitrary sanity check value */
57 
58 enum HWAccelID {
64 };
65 
66 typedef struct HWAccel {
67  const char *name;
69  enum HWAccelID id;
71 } HWAccel;
72 
73 typedef struct HWDevice {
74  const char *name;
77 } HWDevice;
78 
79 /* select an input stream for an output stream */
80 typedef struct StreamMap {
81  int disabled; /* 1 is this mapping is disabled by a negative map */
86  char *linklabel; /* name of an output link, for mapping lavfi outputs */
87 } StreamMap;
88 
89 typedef struct {
90  int file_idx, stream_idx, channel_idx; // input
91  int ofile_idx, ostream_idx; // output
93 
94 typedef struct OptionsContext {
96 
97  /* input/output options */
98  int64_t start_time;
99  int64_t start_time_eof;
101  const char *format;
102 
115 
116  /* input options */
118  int loop;
119  int rate_emu;
122 
135 
136  /* output options */
139  AudioChannelMap *audio_channel_maps; /* one info entry per -map_channel */
140  int nb_audio_channel_maps; /* number of (valid) -map_channel settings */
144  const char **attachments;
146 
148 
149  int64_t recording_time;
150  int64_t stop_time;
151  uint64_t limit_filesize;
152  float mux_preload;
154  int shortest;
155  int bitexact;
156 
161 
162  /* indexed by output file stream index */
165 
213  int nb_pass;
221  int nb_apad;
233 
234 typedef struct InputFilter {
236  struct InputStream *ist;
239  enum AVMediaType type; // AVMEDIA_TYPE_SUBTITLE for sub2video
240 
242 
243  // parameters configured for this input
244  int format;
245 
246  int width, height;
248 
250  int channels;
251  uint64_t channel_layout;
252 
254 
255  int eof;
256 } InputFilter;
257 
258 typedef struct OutputFilter {
260  struct OutputStream *ost;
263 
264  /* temporary storage until stream maps are processed */
267 
268  /* desired output stream properties */
269  int width, height;
271  int format;
273  uint64_t channel_layout;
274 
275  // those are only set if no format is specified and the encoder gives us multiple options
276  int *formats;
277  uint64_t *channel_layouts;
279 } OutputFilter;
280 
281 typedef struct FilterGraph {
282  int index;
283  const char *graph_desc;
284 
287 
292 } FilterGraph;
293 
294 typedef struct InputStream {
297  int discard; /* true if stream data should be discarded */
299  int decoding_needed; /* non zero if the packets must be decoded in 'raw_fifo', see DECODING_FOR_* */
300 #define DECODING_FOR_OST 1
301 #define DECODING_FOR_FILTER 2
302 
306  AVFrame *filter_frame; /* a ref of decoded_frame, to be sent to filters */
307 
308  int64_t start; /* time when read started */
309  /* predicted dts of the next packet read for this stream or (when there are
310  * several frames in a packet) of the next frame in current packet (in AV_TIME_BASE units) */
311  int64_t next_dts;
312  int64_t dts; ///< dts of the last packet read for this stream (in AV_TIME_BASE units)
313 
314  int64_t next_pts; ///< synthetic pts for the next decode frame (in AV_TIME_BASE units)
315  int64_t pts; ///< current pts of the decoded frame (in AV_TIME_BASE units)
317 
319 
320  int64_t min_pts; /* pts with the smallest value in a current stream */
321  int64_t max_pts; /* pts with the higher value in a current stream */
322 
323  // when forcing constant input framerate through -r,
324  // this contains the pts that will be given to the next decoded frame
325  int64_t cfr_next_pts;
326 
327  int64_t nb_samples; /* number of samples in the last decoded audio frame before looping */
328 
329  double ts_scale;
332  AVRational framerate; /* framerate forced with -r */
335 
337 
339  struct { /* previous decoded subtitle and related variables */
341  int ret;
343  } prev_sub;
344 
345  struct sub2video {
346  int64_t last_pts;
347  int64_t end_pts;
348  AVFifoBuffer *sub_queue; ///< queue of AVSubtitle* before filter init
350  int w, h;
351  unsigned int initialize; ///< marks if sub2video_update should force an initialization
352  } sub2video;
353 
354  int dr1;
355 
356  /* decoded data from this stream goes into all those filters
357  * currently video and audio only */
360 
362 
363  /* hwaccel options */
368 
369  /* hwaccel context */
370  void *hwaccel_ctx;
377 
378  /* stats */
379  // combined size of all the packets read
380  uint64_t data_size;
381  /* number of packets successfully read for this stream */
382  uint64_t nb_packets;
383  // number of frames/samples retrieved from the decoder
384  uint64_t frames_decoded;
385  uint64_t samples_decoded;
386 
387  int64_t *dts_buffer;
389 
390  int got_output;
391 } InputStream;
392 
393 typedef struct InputFile {
395  int eof_reached; /* true if eof reached */
396  int eagain; /* true if last read attempt returned EAGAIN */
397  int ist_index; /* index of first stream in input_streams */
398  int loop; /* set number of times input stream should be looped */
399  int64_t duration; /* actual duration of the longest stream in a file
400  at the moment when looping happens */
401  AVRational time_base; /* time base of the duration */
403 
404  int64_t ts_offset;
405  int64_t last_ts;
406  int64_t start_time; /* user-specified start time in AV_TIME_BASE or AV_NOPTS_VALUE */
408  int64_t recording_time;
409  int nb_streams; /* number of stream that ffmpeg is aware of; may be different
410  from ctx.nb_streams if new streams appear during av_read_frame() */
411  int nb_streams_warn; /* number of streams that the user was warned of */
412  int rate_emu;
414 
415 #if HAVE_THREADS
416  AVThreadMessageQueue *in_thread_queue;
417  pthread_t thread; /* thread reading from this file */
418  int non_blocking; /* reading packets from the thread should not block */
419  int joined; /* the thread has been joined */
420  int thread_queue_size; /* maximum number of queued packets */
421 #endif
422 } InputFile;
423 
431 };
432 
433 #define ABORT_ON_FLAG_EMPTY_OUTPUT (1 << 0)
434 #define ABORT_ON_FLAG_EMPTY_OUTPUT_STREAM (1 << 1)
435 
436 extern const char *const forced_keyframes_const_names[];
437 
438 typedef enum {
441 } OSTFinished ;
442 
443 typedef struct OutputStream {
444  int file_index; /* file index */
445  int index; /* stream index in the output file */
446  int source_index; /* InputStream index */
447  AVStream *st; /* stream in the output file */
448  int encoding_needed; /* true if encoding needed for this stream */
450  /* input pts and corresponding output pts
451  for A/V sync */
452  struct InputStream *sync_ist; /* input stream to sync against */
453  int64_t sync_opts; /* output frame counter, could be changed to some true timestamp */ // FIXME look at frame_number
454  /* pts of the first frame encoded for this stream, used for limiting
455  * recording time */
456  int64_t first_pts;
457  /* dts of the last packet sent to the muxer */
458  int64_t last_mux_dts;
459  // the timebase of the packets sent to the muxer
462 
464 
466  AVCodecParameters *ref_par; /* associated input codec parameters with encoders options applied */
468  int64_t max_frames;
473 
474  void *hwaccel_ctx;
475 
476  /* video only */
478  int is_cfr;
483 
485 
486  /* forced key frames */
488  int64_t *forced_kf_pts;
494 
495  /* audio only */
496  int *audio_channels_map; /* list of the channels id to pick from the source stream */
497  int audio_channels_mapped; /* number of channels in audio_channels_map */
498 
500  FILE *logfile;
501 
503  char *avfilter;
504  char *filters; ///< filtergraph associated to the -filter option
505  char *filters_script; ///< filtergraph script associated to the -filter_script option
506 
511  char *apad;
512  OSTFinished finished; /* no more packets should be written for this stream */
513  int unavailable; /* true if the steram is unavailable (possibly temporarily) */
515 
516  // init_output_stream() has been called for this stream
517  // The encoder and the bitstream filters have been initialized and the stream
518  // parameters are set in the AVStream.
520 
522 
523  const char *attachment_filename;
526  char *disposition;
527 
529 
530  /* stats */
531  // combined size of all the packets written
532  uint64_t data_size;
533  // number of packets send to the muxer
534  uint64_t packets_written;
535  // number of frames/samples sent to the encoder
536  uint64_t frames_encoded;
537  uint64_t samples_encoded;
538 
539  /* packet quality factor */
540  int quality;
541 
543 
544  /* the packets are buffered here until the muxer is ready to be initialized */
546 
547  /* packet picture type */
549 
550  /* frame encode sum of squared error values */
551  int64_t error[4];
552 } OutputStream;
553 
554 typedef struct OutputFile {
557  int ost_index; /* index of the first stream in output_streams */
558  int64_t recording_time; ///< desired length of the resulting file in microseconds == AV_TIME_BASE units
559  int64_t start_time; ///< start time in microseconds == AV_TIME_BASE units
560  uint64_t limit_filesize; /* filesize limit expressed in bytes */
561 
562  int shortest;
563 
565 } OutputFile;
566 
567 extern InputStream **input_streams;
568 extern int nb_input_streams;
569 extern InputFile **input_files;
570 extern int nb_input_files;
571 
573 extern int nb_output_streams;
574 extern OutputFile **output_files;
575 extern int nb_output_files;
576 
577 extern FilterGraph **filtergraphs;
578 extern int nb_filtergraphs;
579 
580 extern char *vstats_filename;
581 extern char *sdp_filename;
582 
583 extern float audio_drift_threshold;
584 extern float dts_delta_threshold;
585 extern float dts_error_threshold;
586 
587 extern int audio_volume;
588 extern int audio_sync_method;
589 extern int video_sync_method;
590 extern float frame_drop_threshold;
591 extern int do_benchmark;
592 extern int do_benchmark_all;
593 extern int do_deinterlace;
594 extern int do_hex_dump;
595 extern int do_pkt_dump;
596 extern int copy_ts;
597 extern int start_at_zero;
598 extern int copy_tb;
599 extern int debug_ts;
600 extern int exit_on_error;
601 extern int abort_on_flags;
602 extern int print_stats;
603 extern int qp_hist;
604 extern int stdin_interaction;
605 extern int frame_bits_per_raw_sample;
606 extern AVIOContext *progress_avio;
607 extern float max_error_rate;
608 extern char *videotoolbox_pixfmt;
609 
610 extern int filter_nbthreads;
611 extern int filter_complex_nbthreads;
612 extern int vstats_version;
613 
614 extern const AVIOInterruptCB int_cb;
615 
616 extern const OptionDef options[];
617 extern const HWAccel hwaccels[];
618 #if CONFIG_QSV
619 extern char *qsv_device;
620 #endif
621 extern HWDevice *filter_hw_device;
622 
623 
624 void term_init(void);
625 void term_exit(void);
626 
627 void reset_options(OptionsContext *o, int is_input);
628 void show_usage(void);
629 
630 void opt_output_file(void *optctx, const char *filename);
631 
634 
636 
637 enum AVPixelFormat choose_pixel_fmt(AVStream *st, AVCodecContext *avctx, AVCodec *codec, enum AVPixelFormat target);
638 void choose_sample_fmt(AVStream *st, AVCodec *codec);
639 
642 void check_filter_outputs(void);
647 
648 void sub2video_update(InputStream *ist, int64_t heartbeat_pts, AVSubtitle *sub);
649 
651 
652 int ffmpeg_parse_options(int argc, char **argv);
653 
656 
657 HWDevice *hw_device_get_by_name(const char *name);
658 int hw_device_init_from_string(const char *arg, HWDevice **dev);
659 void hw_device_free_all(void);
660 
664 
666 
667 #endif /* FFTOOLS_FFMPEG_H */
AVSubtitle
Definition: avcodec.h:2694
OptionsContext::nb_hwaccels
int nb_hwaccels
Definition: ffmpeg.h:128
OutputStream::enc
AVCodec * enc
Definition: ffmpeg.h:467
OptionsContext::nb_codec_names
int nb_codec_names
Definition: ffmpeg.h:104
InputFilter::sample_aspect_ratio
AVRational sample_aspect_ratio
Definition: ffmpeg.h:247
AVCodec
AVCodec.
Definition: codec.h:190
OptionsContext::input_ts_offset
int64_t input_ts_offset
Definition: ffmpeg.h:117
OutputStream::data_size
uint64_t data_size
Definition: ffmpeg.h:532
InputFile::start_time
int64_t start_time
Definition: ffmpeg.h:406
audio_sync_method
int audio_sync_method
Definition: ffmpeg_opt.c:152
AVPixelFormat
AVPixelFormat
Pixel format.
Definition: pixfmt.h:64
name
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
Definition: writing_filters.txt:88
OptionsContext::stop_time
int64_t stop_time
Definition: ffmpeg.h:150
StreamMap::file_index
int file_index
Definition: ffmpeg.h:82
OutputFilter::graph
struct FilterGraph * graph
Definition: ffmpeg.h:261
FKF_PREV_FORCED_T
@ FKF_PREV_FORCED_T
Definition: ffmpeg.h:428
OptionsContext::canvas_sizes
SpecifierOpt * canvas_sizes
Definition: ffmpeg.h:210
InputStream::hwaccel_device
char * hwaccel_device
Definition: ffmpeg.h:366
OptionsContext::dump_attachment
SpecifierOpt * dump_attachment
Definition: ffmpeg.h:125
OutputStream::attachment_filename
const char * attachment_filename
Definition: ffmpeg.h:523
configure_filtergraph
int configure_filtergraph(FilterGraph *fg)
Definition: ffmpeg_filter.c:1011
InputFile::seek_timestamp
int seek_timestamp
Definition: ffmpeg.h:407
OptionsContext::nb_audio_sample_rate
int nb_audio_sample_rate
Definition: ffmpeg.h:108
OutputStream::frame_number
int frame_number
Definition: ffmpeg.h:449
nb_filtergraphs
int nb_filtergraphs
Definition: ffmpeg.c:158
OptionsContext::intra_matrices
SpecifierOpt * intra_matrices
Definition: ffmpeg.h:186
video_sync_method
int video_sync_method
Definition: ffmpeg_opt.c:153
InputFilter::width
int width
Definition: ffmpeg.h:246
OptionsContext::nb_time_bases
int nb_time_bases
Definition: ffmpeg.h:229
OutputStream::last_dropped
int last_dropped
Definition: ffmpeg.h:471
out
FILE * out
Definition: movenc.c:54
FKF_PREV_FORCED_N
@ FKF_PREV_FORCED_N
Definition: ffmpeg.h:427
FilterGraph::graph_desc
const char * graph_desc
Definition: ffmpeg.h:283
AVCodecParameters
This struct describes the properties of an encoded stream.
Definition: codec_par.h:52
InputStream::data_size
uint64_t data_size
Definition: ffmpeg.h:380
OutputStream::enc_ctx
AVCodecContext * enc_ctx
Definition: ffmpeg.h:465
OptionsContext::nb_rc_overrides
int nb_rc_overrides
Definition: ffmpeg.h:185
thread.h
FilterGraph::inputs
InputFilter ** inputs
Definition: ffmpeg.h:288
InputFile::nb_streams_warn
int nb_streams_warn
Definition: ffmpeg.h:411
ist_in_filtergraph
int ist_in_filtergraph(FilterGraph *fg, InputStream *ist)
Definition: ffmpeg_filter.c:1206
OptionsContext::hwaccels
SpecifierOpt * hwaccels
Definition: ffmpeg.h:127
OptionsContext::apad
SpecifierOpt * apad
Definition: ffmpeg.h:220
frame_drop_threshold
float frame_drop_threshold
Definition: ffmpeg_opt.c:154
rational.h
InputStream::dec_ctx
AVCodecContext * dec_ctx
Definition: ffmpeg.h:303
OptionsContext::limit_filesize
uint64_t limit_filesize
Definition: ffmpeg.h:151
InputStream::user_set_discard
int user_set_discard
Definition: ffmpeg.h:298
StreamMap::sync_stream_index
int sync_stream_index
Definition: ffmpeg.h:85
OptionsContext::rc_overrides
SpecifierOpt * rc_overrides
Definition: ffmpeg.h:184
OutputStream::packets_written
uint64_t packets_written
Definition: ffmpeg.h:534
OptionsContext::nb_metadata
int nb_metadata
Definition: ffmpeg.h:167
nb_input_streams
int nb_input_streams
Definition: ffmpeg.c:148
OptionsContext::nb_hwaccel_devices
int nb_hwaccel_devices
Definition: ffmpeg.h:130
OutputStream::keep_pix_fmt
int keep_pix_fmt
Definition: ffmpeg.h:528
OptionsContext::nb_attachments
int nb_attachments
Definition: ffmpeg.h:145
OutputFile::start_time
int64_t start_time
start time in microseconds == AV_TIME_BASE units
Definition: ffmpeg.h:559
OptionsContext::frame_aspect_ratios
SpecifierOpt * frame_aspect_ratios
Definition: ffmpeg.h:182
progress_avio
AVIOContext * progress_avio
Definition: ffmpeg.c:143
ffmpeg_parse_options
int ffmpeg_parse_options(int argc, char **argv)
input_streams
InputStream ** input_streams
Definition: ffmpeg.c:147
AVFrame
This structure describes decoded (raw) audio or video data.
Definition: frame.h:300
InputFile::rate_emu
int rate_emu
Definition: ffmpeg.h:412
OutputStream::unavailable
int unavailable
Definition: ffmpeg.h:513
OptionsContext::mux_max_delay
float mux_max_delay
Definition: ffmpeg.h:153
OptionsContext::nb_chroma_intra_matrices
int nb_chroma_intra_matrices
Definition: ffmpeg.h:191
OptionsContext::nb_pass
int nb_pass
Definition: ffmpeg.h:213
OutputStream::rotate_overridden
int rotate_overridden
Definition: ffmpeg.h:481
FKF_T
@ FKF_T
Definition: ffmpeg.h:429
OutputStream::hwaccel_ctx
void * hwaccel_ctx
Definition: ffmpeg.h:474
OptionsContext::subtitle_disable
int subtitle_disable
Definition: ffmpeg.h:159
OptionsContext::nb_apad
int nb_apad
Definition: ffmpeg.h:221
OptionsContext::qscale
SpecifierOpt * qscale
Definition: ffmpeg.h:176
OutputStream::index
int index
Definition: ffmpeg.h:445
b
#define b
Definition: input.c:41
FilterGraph::index
int index
Definition: ffmpeg.h:282
OptionsContext::inter_matrices
SpecifierOpt * inter_matrices
Definition: ffmpeg.h:188
AudioChannelMap::stream_idx
int stream_idx
Definition: ffmpeg.h:90
InputStream::nb_filters
int nb_filters
Definition: ffmpeg.h:359
int_cb
const AVIOInterruptCB int_cb
Definition: ffmpeg.c:489
OutputStream::sws_dict
AVDictionary * sws_dict
Definition: ffmpeg.h:508
nb_output_files
int nb_output_files
Definition: ffmpeg.c:155
show_usage
void show_usage(void)
Definition: ffmpeg_opt.c:3261
FilterGraph::nb_inputs
int nb_inputs
Definition: ffmpeg.h:289
OptionsContext::bitexact
int bitexact
Definition: ffmpeg.h:155
OptionsContext::audio_channels
SpecifierOpt * audio_channels
Definition: ffmpeg.h:105
OptionsContext::nb_frame_rates
int nb_frame_rates
Definition: ffmpeg.h:110
AVDictionary
Definition: dict.c:30
HWDevice
Definition: ffmpeg.h:73
OutputFilter::sample_rates
int * sample_rates
Definition: ffmpeg.h:278
hw_device_init_from_string
int hw_device_init_from_string(const char *arg, HWDevice **dev)
Definition: ffmpeg_hw.c:94
nb_input_files
int nb_input_files
Definition: ffmpeg.c:150
InputStream::hwaccel_get_buffer
int(* hwaccel_get_buffer)(AVCodecContext *s, AVFrame *frame, int flags)
Definition: ffmpeg.h:372
InputStream::decoding_needed
int decoding_needed
Definition: ffmpeg.h:299
OptionsContext::format
const char * format
Definition: ffmpeg.h:101
videotoolbox_pixfmt
char * videotoolbox_pixfmt
Definition: ffmpeg_videotoolbox.c:34
OutputStream::max_frames
int64_t max_frames
Definition: ffmpeg.h:468
OutputStream::rotate_override_value
double rotate_override_value
Definition: ffmpeg.h:482
ost
static AVStream * ost
Definition: vaapi_transcode.c:45
OptionsContext::nb_disposition
int nb_disposition
Definition: ffmpeg.h:225
qp_hist
int qp_hist
Definition: ffmpeg_opt.c:167
AVBSFContext
The bitstream filter state.
Definition: bsf.h:49
AVIOInterruptCB
Callback for checking whether to abort blocking functions.
Definition: avio.h:58
OptionDef
Definition: cmdutils.h:158
InputFilter::channel_layout
uint64_t channel_layout
Definition: ffmpeg.h:251
OutputStream::forced_keyframes_pexpr
AVExpr * forced_keyframes_pexpr
Definition: ffmpeg.h:492
InputFilter::ist
struct InputStream * ist
Definition: ffmpeg.h:236
init_simple_filtergraph
int init_simple_filtergraph(InputStream *ist, OutputStream *ost)
OptionsContext::nb_guess_layout_max
int nb_guess_layout_max
Definition: ffmpeg.h:219
AVFifoBuffer
Definition: fifo.h:31
InputFile::eof_reached
int eof_reached
Definition: ffmpeg.h:395
OutputStream::encoding_needed
int encoding_needed
Definition: ffmpeg.h:448
InputStream
Definition: ffmpeg.h:294
OptionsContext::chapters_input_file
int chapters_input_file
Definition: ffmpeg.h:147
debug_ts
int debug_ts
Definition: ffmpeg_opt.c:163
OutputStream::forced_kf_pts
int64_t * forced_kf_pts
Definition: ffmpeg.h:488
OptionsContext::nb_presets
int nb_presets
Definition: ffmpeg.h:197
OptionsContext::rate_emu
int rate_emu
Definition: ffmpeg.h:119
do_deinterlace
int do_deinterlace
Definition: ffmpeg_opt.c:155
dts_delta_threshold
float dts_delta_threshold
Definition: ffmpeg_opt.c:148
fifo.h
OutputStream::filters
char * filters
filtergraph associated to the -filter option
Definition: ffmpeg.h:504
vstats_version
int vstats_version
Definition: ffmpeg_opt.c:173
hwaccels
const HWAccel hwaccels[]
Definition: ffmpeg_opt.c:133
OutputStream::initialized
int initialized
Definition: ffmpeg.h:519
OptionsContext::nb_dump_attachment
int nb_dump_attachment
Definition: ffmpeg.h:126
OptionsContext::g
OptionGroup * g
Definition: ffmpeg.h:95
OutputStream::disposition
char * disposition
Definition: ffmpeg.h:526
InputStream::sub2video
struct InputStream::sub2video sub2video
InputFilter::type
enum AVMediaType type
Definition: ffmpeg.h:239
StreamMap::disabled
int disabled
Definition: ffmpeg.h:81
AudioChannelMap::ostream_idx
int ostream_idx
Definition: ffmpeg.h:91
OutputStream::logfile_prefix
char * logfile_prefix
Definition: ffmpeg.h:499
OptionsContext::nb_top_field_first
int nb_top_field_first
Definition: ffmpeg.h:193
InputStream::decoder_opts
AVDictionary * decoder_opts
Definition: ffmpeg.h:331
OptionsContext::nb_autorotate
int nb_autorotate
Definition: ffmpeg.h:134
OutputStream::forced_keyframes_expr_const_values
double forced_keyframes_expr_const_values[FKF_NB]
Definition: ffmpeg.h:493
InputStream::filter_in_rescale_delta_last
int64_t filter_in_rescale_delta_last
Definition: ffmpeg.h:318
OptionsContext::nb_reinit_filters
int nb_reinit_filters
Definition: ffmpeg.h:207
InputStream::nb_packets
uint64_t nb_packets
Definition: ffmpeg.h:382
OutputFilter::sample_rate
int sample_rate
Definition: ffmpeg.h:272
HWACCEL_QSV
@ HWACCEL_QSV
Definition: ffmpeg.h:63
hw_device_setup_for_decode
int hw_device_setup_for_decode(InputStream *ist)
Definition: ffmpeg_hw.c:303
InputFilter::frame_queue
AVFifoBuffer * frame_queue
Definition: ffmpeg.h:241
OptionsContext
Definition: ffmpeg.h:94
assert_avoptions
void assert_avoptions(AVDictionary *m)
Definition: ffmpeg.c:658
OptionsContext::time_bases
SpecifierOpt * time_bases
Definition: ffmpeg.h:228
qsv_init
int qsv_init(AVCodecContext *s)
Definition: ffmpeg_qsv.c:72
OutputFile::opts
AVDictionary * opts
Definition: ffmpeg.h:556
InputStream::sub2video::last_pts
int64_t last_pts
Definition: ffmpeg.h:346
do_pkt_dump
int do_pkt_dump
Definition: ffmpeg_opt.c:159
OptionsContext::nb_audio_channel_maps
int nb_audio_channel_maps
Definition: ffmpeg.h:140
HWACCEL_VIDEOTOOLBOX
@ HWACCEL_VIDEOTOOLBOX
Definition: ffmpeg.h:62
InputFile
Definition: ffmpeg.h:393
OptionsContext::recording_time
int64_t recording_time
Definition: ffmpeg.h:149
input_files
InputFile ** input_files
Definition: ffmpeg.c:149
OptionsContext::metadata_chapters_manual
int metadata_chapters_manual
Definition: ffmpeg.h:143
OptionsContext::pass
SpecifierOpt * pass
Definition: ffmpeg.h:212
OutputStream::copy_initial_nonkeyframes
int copy_initial_nonkeyframes
Definition: ffmpeg.h:524
OptionsContext::nb_stream_maps
int nb_stream_maps
Definition: ffmpeg.h:138
OptionsContext::audio_disable
int audio_disable
Definition: ffmpeg.h:158
InputStream::hwaccel_pix_fmt
enum AVPixelFormat hwaccel_pix_fmt
Definition: ffmpeg.h:374
OutputFile::shortest
int shortest
Definition: ffmpeg.h:562
OutputStream::last_nb0_frames
int last_nb0_frames[3]
Definition: ffmpeg.h:472
InputStream::dts
int64_t dts
dts of the last packet read for this stream (in AV_TIME_BASE units)
Definition: ffmpeg.h:312
AudioChannelMap
Definition: ffmpeg.h:89
OptionsContext::presets
SpecifierOpt * presets
Definition: ffmpeg.h:196
OptionsContext::copy_initial_nonkeyframes
SpecifierOpt * copy_initial_nonkeyframes
Definition: ffmpeg.h:198
OutputStream::sync_opts
int64_t sync_opts
Definition: ffmpeg.h:453
OptionsContext::codec_names
SpecifierOpt * codec_names
Definition: ffmpeg.h:103
term_init
void term_init(void)
Definition: ffmpeg.c:395
OptionsContext::nb_program
int nb_program
Definition: ffmpeg.h:227
StreamMap::linklabel
char * linklabel
Definition: ffmpeg.h:86
OutputFilter::width
int width
Definition: ffmpeg.h:269
HWACCEL_GENERIC
@ HWACCEL_GENERIC
Definition: ffmpeg.h:61
OutputStream::forced_keyframes
char * forced_keyframes
Definition: ffmpeg.h:491
InputStream::cfr_next_pts
int64_t cfr_next_pts
Definition: ffmpeg.h:325
s
#define s(width, name)
Definition: cbs_vp9.c:257
FilterGraph::outputs
OutputFilter ** outputs
Definition: ffmpeg.h:290
vstats_filename
char * vstats_filename
Definition: ffmpeg_opt.c:144
OutputStream::frame_aspect_ratio
AVRational frame_aspect_ratio
Definition: ffmpeg.h:484
InputStream::framerate
AVRational framerate
Definition: ffmpeg.h:332
OutputStream::mux_timebase
AVRational mux_timebase
Definition: ffmpeg.h:460
ENCODER_FINISHED
@ ENCODER_FINISHED
Definition: ffmpeg.h:439
OutputStream::audio_channels_mapped
int audio_channels_mapped
Definition: ffmpeg.h:497
InputFilter
Definition: ffmpeg.h:234
OutputStream::copy_prior_start
int copy_prior_start
Definition: ffmpeg.h:525
AVHWDeviceType
AVHWDeviceType
Definition: hwcontext.h:27
OutputFilter::ost
struct OutputStream * ost
Definition: ffmpeg.h:260
output_streams
OutputStream ** output_streams
Definition: ffmpeg.c:152
OptionsContext::metadata_streams_manual
int metadata_streams_manual
Definition: ffmpeg.h:142
forced_keyframes_const
forced_keyframes_const
Definition: ffmpeg.h:424
MUXER_FINISHED
@ MUXER_FINISHED
Definition: ffmpeg.h:440
OutputStream::avfilter
char * avfilter
Definition: ffmpeg.h:503
InputStream::sub2video::sub_queue
AVFifoBuffer * sub_queue
queue of AVSubtitle* before filter init
Definition: ffmpeg.h:348
audio_drift_threshold
float audio_drift_threshold
Definition: ffmpeg_opt.c:147
InputStream::filters
InputFilter ** filters
Definition: ffmpeg.h:358
OptionsContext::nb_copy_initial_nonkeyframes
int nb_copy_initial_nonkeyframes
Definition: ffmpeg.h:199
max_error_rate
float max_error_rate
Definition: ffmpeg_opt.c:170
AVExpr
Definition: eval.c:157
OutputFile::header_written
int header_written
Definition: ffmpeg.h:564
OptionsContext::sample_fmts
SpecifierOpt * sample_fmts
Definition: ffmpeg.h:174
OptionsContext::shortest
int shortest
Definition: ffmpeg.h:154
InputStream::hwaccel_retrieve_data
int(* hwaccel_retrieve_data)(AVCodecContext *s, AVFrame *frame)
Definition: ffmpeg.h:373
InputFilter::graph
struct FilterGraph * graph
Definition: ffmpeg.h:237
AVThreadMessageQueue
Definition: threadmessage.c:25
OptionsContext::accurate_seek
int accurate_seek
Definition: ffmpeg.h:120
configure_output_filter
int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out)
Definition: ffmpeg_filter.c:677
OutputStream::last_frame
AVFrame * last_frame
Definition: ffmpeg.h:470
OptionsContext::nb_canvas_sizes
int nb_canvas_sizes
Definition: ffmpeg.h:211
OptionsContext::nb_max_muxing_queue_size
int nb_max_muxing_queue_size
Definition: ffmpeg.h:217
arg
const char * arg
Definition: jacosubdec.c:66
OutputStream::encoder_opts
AVDictionary * encoder_opts
Definition: ffmpeg.h:507
OptionsContext::start_time
int64_t start_time
Definition: ffmpeg.h:98
InputStream::pts
int64_t pts
current pts of the decoded frame (in AV_TIME_BASE units)
Definition: ffmpeg.h:315
AVFormatContext
Format I/O context.
Definition: avformat.h:1335
OutputFilter::height
int height
Definition: ffmpeg.h:269
OptionsContext::nb_filter_scripts
int nb_filter_scripts
Definition: ffmpeg.h:205
OptionsContext::reinit_filters
SpecifierOpt * reinit_filters
Definition: ffmpeg.h:206
OutputFilter::name
uint8_t * name
Definition: ffmpeg.h:262
InputStream::sub2video::w
int w
Definition: ffmpeg.h:350
HWAccel::id
enum HWAccelID id
Definition: ffmpeg.h:69
InputStream::top_field_first
int top_field_first
Definition: ffmpeg.h:333
InputStream::st
AVStream * st
Definition: ffmpeg.h:296
forced_keyframes_const_names
const char *const forced_keyframes_const_names[]
Definition: ffmpeg.c:114
OptionsContext::filters
SpecifierOpt * filters
Definition: ffmpeg.h:202
OptionsContext::frame_sizes
SpecifierOpt * frame_sizes
Definition: ffmpeg.h:111
HWAccel
Definition: ffmpeg.h:66
AVRational
Rational number (pair of numerator and denominator).
Definition: rational.h:58
OptionsContext::fix_sub_duration
SpecifierOpt * fix_sub_duration
Definition: ffmpeg.h:208
OptionsContext::codec_tags
SpecifierOpt * codec_tags
Definition: ffmpeg.h:172
InputStream::next_pts
int64_t next_pts
synthetic pts for the next decode frame (in AV_TIME_BASE units)
Definition: ffmpeg.h:314
frame_bits_per_raw_sample
int frame_bits_per_raw_sample
Definition: ffmpeg_opt.c:169
OptionsContext::force_fps
SpecifierOpt * force_fps
Definition: ffmpeg.h:180
OptionsContext::metadata_global_manual
int metadata_global_manual
Definition: ffmpeg.h:141
OptionsContext::nb_intra_matrices
int nb_intra_matrices
Definition: ffmpeg.h:187
OutputStream::audio_channels_map
int * audio_channels_map
Definition: ffmpeg.h:496
InputStream::hwaccel_id
enum HWAccelID hwaccel_id
Definition: ffmpeg.h:364
InputFilter::channels
int channels
Definition: ffmpeg.h:250
InputStream::dec
AVCodec * dec
Definition: ffmpeg.h:304
OutputStream::frame_rate
AVRational frame_rate
Definition: ffmpeg.h:477
OutputStream::resample_opts
AVDictionary * resample_opts
Definition: ffmpeg.h:510
InputFilter::eof
int eof
Definition: ffmpeg.h:255
InputStream::fix_sub_duration
int fix_sub_duration
Definition: ffmpeg.h:338
OutputStream::top_field_first
int top_field_first
Definition: ffmpeg.h:480
InputStream::hwaccel_output_format
enum AVPixelFormat hwaccel_output_format
Definition: ffmpeg.h:367
OutputFilter::channel_layout
uint64_t channel_layout
Definition: ffmpeg.h:273
HWAccel::pix_fmt
enum AVPixelFormat pix_fmt
Definition: ffmpeg.h:70
OptionsContext::max_frames
SpecifierOpt * max_frames
Definition: ffmpeg.h:168
AVFilterGraph
Definition: avfilter.h:840
do_benchmark_all
int do_benchmark_all
Definition: ffmpeg_opt.c:157
filtergraphs
FilterGraph ** filtergraphs
Definition: ffmpeg.c:157
InputStream::min_pts
int64_t min_pts
Definition: ffmpeg.h:320
OptionGroup
Definition: cmdutils.h:308
OptionsContext::program
SpecifierOpt * program
Definition: ffmpeg.h:226
HWAccel::name
const char * name
Definition: ffmpeg.h:67
FilterGraph::nb_outputs
int nb_outputs
Definition: ffmpeg.h:291
OutputStream::logfile
FILE * logfile
Definition: ffmpeg.h:500
swresample.h
InputStream::sub2video::initialize
unsigned int initialize
marks if sub2video_update should force an initialization
Definition: ffmpeg.h:351
guess_input_channel_layout
int guess_input_channel_layout(InputStream *ist)
Definition: ffmpeg.c:2057
OptionsContext::nb_metadata_map
int nb_metadata_map
Definition: ffmpeg.h:195
OptionsContext::nb_filters
int nb_filters
Definition: ffmpeg.h:203
InputStream::frames_decoded
uint64_t frames_decoded
Definition: ffmpeg.h:384
OutputFilter::formats
int * formats
Definition: ffmpeg.h:276
InputStream::next_dts
int64_t next_dts
Definition: ffmpeg.h:311
FilterGraph
Definition: ffmpeg.h:281
print_stats
int print_stats
Definition: ffmpeg_opt.c:166
InputFilter::filter
AVFilterContext * filter
Definition: ffmpeg.h:235
options
const OptionDef options[]
eval.h
OutputStream::force_fps
int force_fps
Definition: ffmpeg.h:479
OptionsContext::nb_frame_aspect_ratios
int nb_frame_aspect_ratios
Definition: ffmpeg.h:183
OutputStream::filter
OutputFilter * filter
Definition: ffmpeg.h:502
AVIOContext
Bytestream IO Context.
Definition: avio.h:161
sub2video_update
void sub2video_update(InputStream *ist, int64_t heartbeat_pts, AVSubtitle *sub)
Definition: ffmpeg.c:240
InputStream::hwaccel_device_type
enum AVHWDeviceType hwaccel_device_type
Definition: ffmpeg.h:365
OptionsContext::thread_queue_size
int thread_queue_size
Definition: ffmpeg.h:121
AVMediaType
AVMediaType
Definition: avutil.h:199
InputStream::decoded_frame
AVFrame * decoded_frame
Definition: ffmpeg.h:305
InputStream::wrap_correction_done
int wrap_correction_done
Definition: ffmpeg.h:316
InputStream::start
int64_t start
Definition: ffmpeg.h:308
InputStream::filter_frame
AVFrame * filter_frame
Definition: ffmpeg.h:306
threadmessage.h
OutputStream::error
int64_t error[4]
Definition: ffmpeg.h:551
InputStream::file_index
int file_index
Definition: ffmpeg.h:295
OutputStream::forced_kf_count
int forced_kf_count
Definition: ffmpeg.h:489
reset_options
void reset_options(OptionsContext *o, int is_input)
InputFile::last_ts
int64_t last_ts
Definition: ffmpeg.h:405
FilterGraph::graph
AVFilterGraph * graph
Definition: ffmpeg.h:285
InputStream::got_output
int got_output
Definition: ffmpeg.h:340
StreamMap
Definition: ffmpeg.h:80
copy_ts
int copy_ts
Definition: ffmpeg_opt.c:160
OptionsContext::filter_scripts
SpecifierOpt * filter_scripts
Definition: ffmpeg.h:204
avio.h
copy_tb
int copy_tb
Definition: ffmpeg_opt.c:162
InputStream::prev_sub
struct InputStream::@2 prev_sub
OptionsContext::seek_timestamp
int seek_timestamp
Definition: ffmpeg.h:100
InputStream::hwaccel_retrieved_pix_fmt
enum AVPixelFormat hwaccel_retrieved_pix_fmt
Definition: ffmpeg.h:375
hwaccel_decode_init
int hwaccel_decode_init(AVCodecContext *avctx)
Definition: ffmpeg_hw.c:516
OptionsContext::top_field_first
SpecifierOpt * top_field_first
Definition: ffmpeg.h:192
HWDevice::device_ref
AVBufferRef * device_ref
Definition: ffmpeg.h:76
OutputStream::source_index
int source_index
Definition: ffmpeg.h:446
OptionsContext::nb_discard
int nb_discard
Definition: ffmpeg.h:223
OSTFinished
OSTFinished
Definition: ffmpeg.h:438
OutputFilter::filter
AVFilterContext * filter
Definition: ffmpeg.h:259
a
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
Definition: undefined.txt:41
InputStream::samples_decoded
uint64_t samples_decoded
Definition: ffmpeg.h:385
OutputFile::limit_filesize
uint64_t limit_filesize
Definition: ffmpeg.h:560
check_filter_outputs
void check_filter_outputs(void)
Definition: ffmpeg_filter.c:691
OptionsContext::metadata
SpecifierOpt * metadata
Definition: ffmpeg.h:166
InputStream::max_pts
int64_t max_pts
Definition: ffmpeg.h:321
do_benchmark
int do_benchmark
Definition: ffmpeg_opt.c:156
pthread_t
Definition: os2threads.h:44
OutputStream::pict_type
int pict_type
Definition: ffmpeg.h:548
OptionsContext::frame_rates
SpecifierOpt * frame_rates
Definition: ffmpeg.h:109
OutputFilter::type
enum AVMediaType type
Definition: ffmpeg.h:266
InputFile::time_base
AVRational time_base
Definition: ffmpeg.h:401
InputFile::duration
int64_t duration
Definition: ffmpeg.h:399
StreamMap::sync_file_index
int sync_file_index
Definition: ffmpeg.h:84
OutputStream::first_pts
int64_t first_pts
Definition: ffmpeg.h:456
HWACCEL_AUTO
@ HWACCEL_AUTO
Definition: ffmpeg.h:60
OptionsContext::autorotate
SpecifierOpt * autorotate
Definition: ffmpeg.h:133
InputStream::guess_layout_max
int guess_layout_max
Definition: ffmpeg.h:334
OutputStream::filters_script
char * filters_script
filtergraph script associated to the -filter_script option
Definition: ffmpeg.h:505
choose_pixel_fmt
enum AVPixelFormat choose_pixel_fmt(AVStream *st, AVCodecContext *avctx, AVCodec *codec, enum AVPixelFormat target)
Definition: ffmpeg_filter.c:63
OutputStream::apad
char * apad
Definition: ffmpeg.h:511
OptionsContext::nb_hwaccel_output_formats
int nb_hwaccel_output_formats
Definition: ffmpeg.h:132
init_complex_filtergraph
int init_complex_filtergraph(FilterGraph *fg)
Definition: ffmpeg_filter.c:341
OptionsContext::forced_key_frames
SpecifierOpt * forced_key_frames
Definition: ffmpeg.h:178
OptionsContext::metadata_map
SpecifierOpt * metadata_map
Definition: ffmpeg.h:194
InputStream::ret
int ret
Definition: ffmpeg.h:341
StreamMap::stream_index
int stream_index
Definition: ffmpeg.h:83
OptionsContext::nb_qscale
int nb_qscale
Definition: ffmpeg.h:177
OptionsContext::stream_maps
StreamMap * stream_maps
Definition: ffmpeg.h:137
OptionsContext::nb_ts_scale
int nb_ts_scale
Definition: ffmpeg.h:124
OptionsContext::audio_sample_rate
SpecifierOpt * audio_sample_rate
Definition: ffmpeg.h:107
OptionsContext::start_time_eof
int64_t start_time_eof
Definition: ffmpeg.h:99
OptionsContext::nb_fix_sub_duration
int nb_fix_sub_duration
Definition: ffmpeg.h:209
OutputStream::sync_ist
struct InputStream * sync_ist
Definition: ffmpeg.h:452
exit_on_error
int exit_on_error
Definition: ffmpeg_opt.c:164
output_files
OutputFile ** output_files
Definition: ffmpeg.c:154
OutputFile::ost_index
int ost_index
Definition: ffmpeg.h:557
OptionsContext::nb_frame_pix_fmts
int nb_frame_pix_fmts
Definition: ffmpeg.h:114
InputStream::hwaccel_uninit
void(* hwaccel_uninit)(AVCodecContext *s)
Definition: ffmpeg.h:371
hw_device_setup_for_filter
int hw_device_setup_for_filter(FilterGraph *fg)
Definition: ffmpeg_hw.c:525
InputFile::ctx
AVFormatContext * ctx
Definition: ffmpeg.h:394
uint8_t
uint8_t
Definition: audio_convert.c:194
InputFile::accurate_seek
int accurate_seek
Definition: ffmpeg.h:413
videotoolbox_init
int videotoolbox_init(AVCodecContext *s)
Definition: ffmpeg_videotoolbox.c:121
OptionsContext::nb_copy_prior_start
int nb_copy_prior_start
Definition: ffmpeg.h:201
OutputStream::muxing_queue
AVFifoBuffer * muxing_queue
Definition: ffmpeg.h:545
OutputFilter::channel_layouts
uint64_t * channel_layouts
Definition: ffmpeg.h:277
OutputStream::ref_par
AVCodecParameters * ref_par
Definition: ffmpeg.h:466
OptionsContext::bitstream_filters
SpecifierOpt * bitstream_filters
Definition: ffmpeg.h:170
choose_sample_fmt
void choose_sample_fmt(AVStream *st, AVCodec *codec)
Definition: ffmpeg_filter.c:93
OptionsContext::streamid_map
int * streamid_map
Definition: ffmpeg.h:163
InputFile::recording_time
int64_t recording_time
Definition: ffmpeg.h:408
avcodec.h
OptionsContext::passlogfiles
SpecifierOpt * passlogfiles
Definition: ffmpeg.h:214
InputFile::loop
int loop
Definition: ffmpeg.h:398
SpecifierOpt
Definition: cmdutils.h:146
AVStream
Stream structure.
Definition: avformat.h:865
OptionsContext::nb_bitstream_filters
int nb_bitstream_filters
Definition: ffmpeg.h:171
pixfmt.h
OutputStream::max_muxing_queue_size
int max_muxing_queue_size
Definition: ffmpeg.h:542
abort_on_flags
int abort_on_flags
Definition: ffmpeg_opt.c:165
frame
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a frame
Definition: filter_design.txt:264
InputFilter::name
uint8_t * name
Definition: ffmpeg.h:238
OptionsContext::nb_streamid_map
int nb_streamid_map
Definition: ffmpeg.h:164
sdp_filename
char * sdp_filename
Definition: ffmpeg_opt.c:145
OptionsContext::audio_channel_maps
AudioChannelMap * audio_channel_maps
Definition: ffmpeg.h:139
OutputStream::forced_kf_ref_pts
int64_t forced_kf_ref_pts
Definition: ffmpeg.h:487
InputStream::reinit_filters
int reinit_filters
Definition: ffmpeg.h:361
hw_device_free_all
void hw_device_free_all(void)
Definition: ffmpeg_hw.c:274
avformat.h
InputFile::eagain
int eagain
Definition: ffmpeg.h:396
HWAccelID
HWAccelID
Definition: ffmpeg.h:58
dict.h
InputFile::ist_index
int ist_index
Definition: ffmpeg.h:397
OptionsContext::nb_sample_fmts
int nb_sample_fmts
Definition: ffmpeg.h:175
InputFilter::sample_rate
int sample_rate
Definition: ffmpeg.h:249
OptionsContext::nb_enc_time_bases
int nb_enc_time_bases
Definition: ffmpeg.h:231
HWAccel::init
int(* init)(AVCodecContext *s)
Definition: ffmpeg.h:68
OptionsContext::nb_max_frames
int nb_max_frames
Definition: ffmpeg.h:169
OptionsContext::disposition
SpecifierOpt * disposition
Definition: ffmpeg.h:224
ifilter_parameters_from_frame
int ifilter_parameters_from_frame(InputFilter *ifilter, const AVFrame *frame)
Definition: ffmpeg_filter.c:1183
OutputFilter::format
int format
Definition: ffmpeg.h:271
filter_hw_device
HWDevice * filter_hw_device
Definition: ffmpeg_opt.c:142
AVCodecContext
main external API structure.
Definition: avcodec.h:526
hw_device_setup_for_encode
int hw_device_setup_for_encode(OutputStream *ost)
Definition: ffmpeg_hw.c:419
OptionsContext::mux_preload
float mux_preload
Definition: ffmpeg.h:152
HWDevice::name
const char * name
Definition: ffmpeg.h:74
InputFilter::format
int format
Definition: ffmpeg.h:244
OutputStream::finished
OSTFinished finished
Definition: ffmpeg.h:512
OptionsContext::nb_audio_channels
int nb_audio_channels
Definition: ffmpeg.h:106
OptionsContext::guess_layout_max
SpecifierOpt * guess_layout_max
Definition: ffmpeg.h:218
filter_nbthreads
int filter_nbthreads
Definition: ffmpeg_opt.c:171
OptionsContext::enc_time_bases
SpecifierOpt * enc_time_bases
Definition: ffmpeg.h:230
avfilter.h
OutputStream::last_mux_dts
int64_t last_mux_dts
Definition: ffmpeg.h:458
OptionsContext::video_disable
int video_disable
Definition: ffmpeg.h:157
OutputStream::quality
int quality
Definition: ffmpeg.h:540
OptionsContext::nb_forced_key_frames
int nb_forced_key_frames
Definition: ffmpeg.h:179
InputStream::nb_samples
int64_t nb_samples
Definition: ffmpeg.h:327
InputFilter::height
int height
Definition: ffmpeg.h:246
OptionsContext::frame_pix_fmts
SpecifierOpt * frame_pix_fmts
Definition: ffmpeg.h:113
OutputStream::frames_encoded
uint64_t frames_encoded
Definition: ffmpeg.h:536
HWACCEL_NONE
@ HWACCEL_NONE
Definition: ffmpeg.h:59
InputFile::ts_offset
int64_t ts_offset
Definition: ffmpeg.h:404
OptionsContext::nb_frame_sizes
int nb_frame_sizes
Definition: ffmpeg.h:112
OptionsContext::hwaccel_devices
SpecifierOpt * hwaccel_devices
Definition: ffmpeg.h:129
InputStream::discard
int discard
Definition: ffmpeg.h:297
OptionsContext::max_muxing_queue_size
SpecifierOpt * max_muxing_queue_size
Definition: ffmpeg.h:216
AVFilterContext
An instance of a filter.
Definition: avfilter.h:338
remove_avoptions
void remove_avoptions(AVDictionary **a, AVDictionary *b)
Definition: ffmpeg.c:649
OutputFilter
Definition: ffmpeg.h:258
InputStream::sub2video::frame
AVFrame * frame
Definition: ffmpeg.h:349
OptionsContext::nb_inter_matrices
int nb_inter_matrices
Definition: ffmpeg.h:189
qsv_device
char * qsv_device
Definition: ffmpeg_qsv.c:32
avutil.h
start_at_zero
int start_at_zero
Definition: ffmpeg_opt.c:161
AVBufferRef
A reference to a data buffer.
Definition: buffer.h:81
OutputStream::file_index
int file_index
Definition: ffmpeg.h:444
audio_volume
int audio_volume
Definition: ffmpeg_opt.c:151
OptionsContext::copy_prior_start
SpecifierOpt * copy_prior_start
Definition: ffmpeg.h:200
InputStream::sub2video
Definition: ffmpeg.h:345
OutputFile::ctx
AVFormatContext * ctx
Definition: ffmpeg.h:555
OutputFilter::out_tmp
AVFilterInOut * out_tmp
Definition: ffmpeg.h:265
InputStream::sub2video::h
int h
Definition: ffmpeg.h:350
opt_output_file
void opt_output_file(void *optctx, const char *filename)
OptionsContext::nb_passlogfiles
int nb_passlogfiles
Definition: ffmpeg.h:215
OutputStream::is_cfr
int is_cfr
Definition: ffmpeg.h:478
InputFilter::hw_frames_ctx
AVBufferRef * hw_frames_ctx
Definition: ffmpeg.h:253
InputStream::hw_frames_ctx
AVBufferRef * hw_frames_ctx
Definition: ffmpeg.h:376
FKF_N_FORCED
@ FKF_N_FORCED
Definition: ffmpeg.h:426
OptionsContext::attachments
const char ** attachments
Definition: ffmpeg.h:144
InputStream::sub2video::end_pts
int64_t end_pts
Definition: ffmpeg.h:347
stdin_interaction
int stdin_interaction
Definition: ffmpeg_opt.c:168
do_hex_dump
int do_hex_dump
Definition: ffmpeg_opt.c:158
InputStream::hwaccel_ctx
void * hwaccel_ctx
Definition: ffmpeg.h:370
InputStream::ts_scale
double ts_scale
Definition: ffmpeg.h:329
OptionsContext::ts_scale
SpecifierOpt * ts_scale
Definition: ffmpeg.h:123
OptionsContext::chroma_intra_matrices
SpecifierOpt * chroma_intra_matrices
Definition: ffmpeg.h:190
FilterGraph::reconfiguration
int reconfiguration
Definition: ffmpeg.h:286
HWDevice::type
enum AVHWDeviceType type
Definition: ffmpeg.h:75
cmdutils.h
InputFile::input_ts_offset
int64_t input_ts_offset
Definition: ffmpeg.h:402
OptionsContext::data_disable
int data_disable
Definition: ffmpeg.h:160
InputStream::dts_buffer
int64_t * dts_buffer
Definition: ffmpeg.h:387
FKF_NB
@ FKF_NB
Definition: ffmpeg.h:430
OutputStream
Definition: muxing.c:53
flags
#define flags(name, subs,...)
Definition: cbs_av1.c:565
hwcontext.h
OutputStream::st
AVStream * st
Definition: muxing.c:54
dts_error_threshold
float dts_error_threshold
Definition: ffmpeg_opt.c:149
OptionsContext::hwaccel_output_formats
SpecifierOpt * hwaccel_output_formats
Definition: ffmpeg.h:131
InputStream::nb_dts_buffer
int nb_dts_buffer
Definition: ffmpeg.h:388
nb_output_streams
int nb_output_streams
Definition: ffmpeg.c:153
InputStream::saw_first_ts
int saw_first_ts
Definition: ffmpeg.h:330
OutputStream::stream_copy
int stream_copy
Definition: ffmpeg.h:514
OutputStream::swr_opts
AVDictionary * swr_opts
Definition: ffmpeg.h:509
OutputStream::forced_kf_index
int forced_kf_index
Definition: ffmpeg.h:490
OutputFilter::frame_rate
AVRational frame_rate
Definition: ffmpeg.h:270
InputStream::dr1
int dr1
Definition: ffmpeg.h:354
OutputStream::filtered_frame
AVFrame * filtered_frame
Definition: ffmpeg.h:469
InputFile::nb_streams
int nb_streams
Definition: ffmpeg.h:409
FKF_N
@ FKF_N
Definition: ffmpeg.h:425
OutputFile::recording_time
int64_t recording_time
desired length of the resulting file in microseconds == AV_TIME_BASE units
Definition: ffmpeg.h:558
int
int
Definition: ffmpeg_filter.c:192
OutputStream::samples_encoded
uint64_t samples_encoded
Definition: ffmpeg.h:537
OutputStream::inputs_done
int inputs_done
Definition: ffmpeg.h:521
hw_device_get_by_name
HWDevice * hw_device_get_by_name(const char *name)
Definition: ffmpeg_hw.c:44
OptionsContext::nb_codec_tags
int nb_codec_tags
Definition: ffmpeg.h:173
AVFilterInOut
A linked-list of the inputs/outputs of the filter chain.
Definition: avfilter.h:1003
OutputStream::bsf_ctx
AVBSFContext * bsf_ctx
Definition: ffmpeg.h:463
OptionsContext::discard
SpecifierOpt * discard
Definition: ffmpeg.h:222
InputStream::subtitle
AVSubtitle subtitle
Definition: ffmpeg.h:342
filtergraph_is_simple
int filtergraph_is_simple(FilterGraph *fg)
Definition: ffmpeg_filter.c:1215
term_exit
void term_exit(void)
Definition: ffmpeg.c:336
filter_complex_nbthreads
int filter_complex_nbthreads
Definition: ffmpeg_opt.c:172
OutputFile
Definition: ffmpeg.h:554
OptionsContext::loop
int loop
Definition: ffmpeg.h:118
InputStream::autorotate
int autorotate
Definition: ffmpeg.h:336
OutputStream::enc_timebase
AVRational enc_timebase
Definition: ffmpeg.h:461
OptionsContext::nb_force_fps
int nb_force_fps
Definition: ffmpeg.h:181