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 #include "libavcodec/bsf.h"
35 
36 #include "libavfilter/avfilter.h"
37 
38 #include "libavutil/avutil.h"
39 #include "libavutil/dict.h"
40 #include "libavutil/eval.h"
41 #include "libavutil/fifo.h"
42 #include "libavutil/hwcontext.h"
43 #include "libavutil/pixfmt.h"
44 #include "libavutil/rational.h"
45 #include "libavutil/thread.h"
47 
49 
51  VSYNC_AUTO = -1,
57 };
58 
59 #define MAX_STREAMS 1024 /* arbitrary sanity check value */
60 
61 enum HWAccelID {
65 };
66 
67 typedef struct HWDevice {
68  const char *name;
71 } HWDevice;
72 
73 /* select an input stream for an output stream */
74 typedef struct StreamMap {
75  int disabled; /* 1 is this mapping is disabled by a negative map */
80  char *linklabel; /* name of an output link, for mapping lavfi outputs */
81 } StreamMap;
82 
83 typedef struct {
84  int file_idx, stream_idx, channel_idx; // input
85  int ofile_idx, ostream_idx; // output
87 
88 typedef struct OptionsContext {
90 
91  /* input/output options */
92  int64_t start_time;
93  int64_t start_time_eof;
95  const char *format;
96 
113 
114  /* input options */
116  int loop;
117  int rate_emu;
118  float readrate;
121 
134 
135  /* output options */
138  AudioChannelMap *audio_channel_maps; /* one info entry per -map_channel */
139  int nb_audio_channel_maps; /* number of (valid) -map_channel settings */
143  const char **attachments;
145 
147 
148  int64_t recording_time;
149  int64_t stop_time;
150  uint64_t limit_filesize;
151  float mux_preload;
153  int shortest;
154  int bitexact;
155 
160 
161  /* indexed by output file stream index */
164 
212  int nb_pass;
222  int nb_apad;
238 
239 typedef struct InputFilter {
241  struct InputStream *ist;
243  uint8_t *name;
244  enum AVMediaType type; // AVMEDIA_TYPE_SUBTITLE for sub2video
245 
247 
248  // parameters configured for this input
249  int format;
250 
251  int width, height;
253 
256 
259 
260  int eof;
261 } InputFilter;
262 
263 typedef struct OutputFilter {
265  struct OutputStream *ost;
267  uint8_t *name;
268 
269  /* temporary storage until stream maps are processed */
272 
273  /* desired output stream properties */
274  int width, height;
276  int format;
279 
280  // those are only set if no format is specified and the encoder gives us multiple options
281  // They point directly to the relevant lists of the encoder.
282  const int *formats;
284  const int *sample_rates;
285 } OutputFilter;
286 
287 typedef struct FilterGraph {
288  int index;
289  const char *graph_desc;
290 
293  // true when the filtergraph contains only meta filters
294  // that do not modify the frame data
295  int is_meta;
296 
301 } FilterGraph;
302 
303 typedef struct InputStream {
306  int discard; /* true if stream data should be discarded */
308  int decoding_needed; /* non zero if the packets must be decoded in 'raw_fifo', see DECODING_FOR_* */
309 #define DECODING_FOR_OST 1
310 #define DECODING_FOR_FILTER 2
311  int processing_needed; /* non zero if the packets must be processed */
312 
314  const AVCodec *dec;
317 
318  int64_t prev_pkt_pts;
319  int64_t start; /* time when read started */
320  /* predicted dts of the next packet read for this stream or (when there are
321  * several frames in a packet) of the next frame in current packet (in AV_TIME_BASE units) */
322  int64_t next_dts;
323  int64_t first_dts; ///< dts of the first packet read for this stream (in AV_TIME_BASE units)
324  int64_t dts; ///< dts of the last packet read for this stream (in AV_TIME_BASE units)
325 
326  int64_t next_pts; ///< synthetic pts for the next decode frame (in AV_TIME_BASE units)
327  int64_t pts; ///< current pts of the decoded frame (in AV_TIME_BASE units)
329 
331 
332  int64_t min_pts; /* pts with the smallest value in a current stream */
333  int64_t max_pts; /* pts with the higher value in a current stream */
334 
335  // when forcing constant input framerate through -r,
336  // this contains the pts that will be given to the next decoded frame
337  int64_t cfr_next_pts;
338 
339  int64_t nb_samples; /* number of samples in the last decoded audio frame before looping */
340 
341  double ts_scale;
344  AVRational framerate; /* framerate forced with -r */
347 
349 
351  struct { /* previous decoded subtitle and related variables */
353  int ret;
355  } prev_sub;
356 
357  struct sub2video {
358  int64_t last_pts;
359  int64_t end_pts;
360  AVFifo *sub_queue; ///< queue of AVSubtitle* before filter init
362  int w, h;
363  unsigned int initialize; ///< marks if sub2video_update should force an initialization
364  } sub2video;
365 
366  /* decoded data from this stream goes into all those filters
367  * currently video and audio only */
370 
372 
373  /* hwaccel options */
378 
379  /* hwaccel context */
380  void *hwaccel_ctx;
385 
386  /* stats */
387  // combined size of all the packets read
388  uint64_t data_size;
389  /* number of packets successfully read for this stream */
390  uint64_t nb_packets;
391  // number of frames/samples retrieved from the decoder
392  uint64_t frames_decoded;
393  uint64_t samples_decoded;
394 
395  int64_t *dts_buffer;
397 
398  int got_output;
399 } InputStream;
400 
401 typedef struct InputFile {
403  int eof_reached; /* true if eof reached */
404  int eagain; /* true if last read attempt returned EAGAIN */
405  int ist_index; /* index of first stream in input_streams */
406  int loop; /* set number of times input stream should be looped */
407  int64_t duration; /* actual duration of the longest stream in a file
408  at the moment when looping happens */
409  AVRational time_base; /* time base of the duration */
411 
412  int64_t ts_offset;
413  int64_t last_ts;
414  int64_t start_time; /* user-specified start time in AV_TIME_BASE or AV_NOPTS_VALUE */
415  int64_t recording_time;
416  int nb_streams; /* number of stream that ffmpeg is aware of; may be different
417  from ctx.nb_streams if new streams appear during av_read_frame() */
418  int nb_streams_warn; /* number of streams that the user was warned of */
419  int rate_emu;
420  float readrate;
422 
424 
425 #if HAVE_THREADS
426  AVThreadMessageQueue *in_thread_queue;
427  pthread_t thread; /* thread reading from this file */
428  int non_blocking; /* reading packets from the thread should not block */
429  int joined; /* the thread has been joined */
430  int thread_queue_size; /* maximum number of queued packets */
431 #endif
432 } InputFile;
433 
441 };
442 
443 #define ABORT_ON_FLAG_EMPTY_OUTPUT (1 << 0)
444 #define ABORT_ON_FLAG_EMPTY_OUTPUT_STREAM (1 << 1)
445 
446 extern const char *const forced_keyframes_const_names[];
447 
448 typedef enum {
451 } OSTFinished ;
452 
453 typedef struct OutputStream {
454  int file_index; /* file index */
455  int index; /* stream index in the output file */
456  int source_index; /* InputStream index */
457  AVStream *st; /* stream in the output file */
458  int encoding_needed; /* true if encoding needed for this stream */
460  /* input pts and corresponding output pts
461  for A/V sync */
462  struct InputStream *sync_ist; /* input stream to sync against */
463  int64_t sync_opts; /* output frame counter, could be changed to some true timestamp */ // FIXME look at frame_number
464  /* pts of the first frame encoded for this stream, used for limiting
465  * recording time */
466  int64_t first_pts;
467  /* dts of the last packet sent to the muxer */
468  int64_t last_mux_dts;
469  // the timebase of the packets sent to the muxer
472 
474 
476  AVCodecParameters *ref_par; /* associated input codec parameters with encoders options applied */
477  const AVCodec *enc;
478  int64_t max_frames;
484 
485  void *hwaccel_ctx;
486 
487  /* video only */
491  int is_cfr;
498 
500 
501  /* forced key frames */
503  int64_t *forced_kf_pts;
510 
511  /* audio only */
512  int *audio_channels_map; /* list of the channels id to pick from the source stream */
513  int audio_channels_mapped; /* number of channels in audio_channels_map */
514 
516  FILE *logfile;
517 
519  char *avfilter;
520  char *filters; ///< filtergraph associated to the -filter option
521  char *filters_script; ///< filtergraph script associated to the -filter_script option
522 
526  char *apad;
527  OSTFinished finished; /* no more packets should be written for this stream */
528  int unavailable; /* true if the steram is unavailable (possibly temporarily) */
530 
531  // init_output_stream() has been called for this stream
532  // The encoder and the bitstream filters have been initialized and the stream
533  // parameters are set in the AVStream.
535 
537 
538  const char *attachment_filename;
542  char *disposition;
543 
545 
546  /* stats */
547  // combined size of all the packets written
548  uint64_t data_size;
549  // number of packets send to the muxer
550  uint64_t packets_written;
551  // number of frames/samples sent to the encoder
552  uint64_t frames_encoded;
553  uint64_t samples_encoded;
554  // number of packets received from the encoder
555  uint64_t packets_encoded;
556 
557  /* packet quality factor */
558  int quality;
559 
561 
562  /* the packets are buffered here until the muxer is ready to be initialized */
564 
565  /*
566  * The size of the AVPackets' buffers in queue.
567  * Updated when a packet is either pushed or pulled from the queue.
568  */
570 
571  /* Threshold after which max_muxing_queue_size will be in effect */
573 
574  /* packet picture type */
576 
577  /* frame encode sum of squared error values */
578  int64_t error[4];
579 } OutputStream;
580 
581 typedef struct OutputFile {
582  int index;
583 
585 
588  int ost_index; /* index of the first stream in output_streams */
589  int64_t recording_time; ///< desired length of the resulting file in microseconds == AV_TIME_BASE units
590  int64_t start_time; ///< start time in microseconds == AV_TIME_BASE units
591  uint64_t limit_filesize; /* filesize limit expressed in bytes */
592 
593  int shortest;
594 
596 } OutputFile;
597 
598 extern InputStream **input_streams;
599 extern int nb_input_streams;
600 extern InputFile **input_files;
601 extern int nb_input_files;
602 
604 extern int nb_output_streams;
605 extern OutputFile **output_files;
606 extern int nb_output_files;
607 
608 extern FilterGraph **filtergraphs;
609 extern int nb_filtergraphs;
610 
611 extern char *vstats_filename;
612 extern char *sdp_filename;
613 
614 extern float audio_drift_threshold;
615 extern float dts_delta_threshold;
616 extern float dts_error_threshold;
617 
618 extern int audio_volume;
619 extern int audio_sync_method;
621 extern float frame_drop_threshold;
622 extern int do_benchmark;
623 extern int do_benchmark_all;
624 extern int do_deinterlace;
625 extern int do_hex_dump;
626 extern int do_pkt_dump;
627 extern int copy_ts;
628 extern int start_at_zero;
629 extern int copy_tb;
630 extern int debug_ts;
631 extern int exit_on_error;
632 extern int abort_on_flags;
633 extern int print_stats;
634 extern int64_t stats_period;
635 extern int qp_hist;
636 extern int stdin_interaction;
637 extern int frame_bits_per_raw_sample;
638 extern AVIOContext *progress_avio;
639 extern float max_error_rate;
640 
641 extern char *filter_nbthreads;
642 extern int filter_complex_nbthreads;
643 extern int vstats_version;
644 extern int auto_conversion_filters;
645 
646 extern const AVIOInterruptCB int_cb;
647 
648 extern const OptionDef options[];
649 #if CONFIG_QSV
650 extern char *qsv_device;
651 #endif
652 extern HWDevice *filter_hw_device;
653 
654 extern int want_sdp;
655 extern unsigned nb_output_dumped;
656 extern int main_return_code;
657 
658 
659 void term_init(void);
660 void term_exit(void);
661 
662 void show_usage(void);
663 
666 
668 
670 void check_filter_outputs(void);
674 
675 void sub2video_update(InputStream *ist, int64_t heartbeat_pts, AVSubtitle *sub);
676 
678 
679 int ffmpeg_parse_options(int argc, char **argv);
680 
683 
684 HWDevice *hw_device_get_by_name(const char *name);
685 int hw_device_init_from_string(const char *arg, HWDevice **dev);
686 void hw_device_free_all(void);
687 
691 
693 
694 /* open the muxer when all the streams are initialized */
695 int of_check_init(OutputFile *of);
697 void of_close(OutputFile **pof);
698 
700  int unqueue);
701 
702 #endif /* FFTOOLS_FFMPEG_H */
OptionsContext::readrate
float readrate
Definition: ffmpeg.h:118
AVSubtitle
Definition: avcodec.h:2306
OptionsContext::nb_hwaccels
int nb_hwaccels
Definition: ffmpeg.h:127
OptionsContext::nb_codec_names
int nb_codec_names
Definition: ffmpeg.h:98
InputFilter::sample_aspect_ratio
AVRational sample_aspect_ratio
Definition: ffmpeg.h:252
AVCodec
AVCodec.
Definition: codec.h:196
OptionsContext::input_ts_offset
int64_t input_ts_offset
Definition: ffmpeg.h:115
OutputStream::data_size
uint64_t data_size
Definition: ffmpeg.h:548
InputFile::start_time
int64_t start_time
Definition: ffmpeg.h:414
audio_sync_method
int audio_sync_method
Definition: ffmpeg_opt.c:158
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:149
StreamMap::file_index
int file_index
Definition: ffmpeg.h:76
OutputFilter::graph
struct FilterGraph * graph
Definition: ffmpeg.h:266
FKF_PREV_FORCED_T
@ FKF_PREV_FORCED_T
Definition: ffmpeg.h:438
OptionsContext::canvas_sizes
SpecifierOpt * canvas_sizes
Definition: ffmpeg.h:209
InputStream::hwaccel_device
char * hwaccel_device
Definition: ffmpeg.h:376
VSYNC_VFR
@ VSYNC_VFR
Definition: ffmpeg.h:54
OptionsContext::dump_attachment
SpecifierOpt * dump_attachment
Definition: ffmpeg.h:124
OutputStream::attachment_filename
const char * attachment_filename
Definition: ffmpeg.h:538
OutputFilter::ch_layouts
const AVChannelLayout * ch_layouts
Definition: ffmpeg.h:283
configure_filtergraph
int configure_filtergraph(FilterGraph *fg)
Definition: ffmpeg_filter.c:993
OptionsContext::nb_audio_sample_rate
int nb_audio_sample_rate
Definition: ffmpeg.h:104
OutputStream::frame_number
int frame_number
Definition: ffmpeg.h:459
nb_filtergraphs
int nb_filtergraphs
Definition: ffmpeg.c:159
OptionsContext::nb_max_frame_rates
int nb_max_frame_rates
Definition: ffmpeg.h:108
OptionsContext::intra_matrices
SpecifierOpt * intra_matrices
Definition: ffmpeg.h:185
InputFilter::width
int width
Definition: ffmpeg.h:251
OptionsContext::nb_time_bases
int nb_time_bases
Definition: ffmpeg.h:230
InputFilter::displaymatrix
int32_t * displaymatrix
Definition: ffmpeg.h:258
OutputStream::last_dropped
int last_dropped
Definition: ffmpeg.h:482
FKF_PREV_FORCED_N
@ FKF_PREV_FORCED_N
Definition: ffmpeg.h:437
OptionsContext::nb_audio_ch_layouts
int nb_audio_ch_layouts
Definition: ffmpeg.h:100
InputFile::pkt
AVPacket * pkt
Definition: ffmpeg.h:423
FilterGraph::graph_desc
const char * graph_desc
Definition: ffmpeg.h:289
AVCodecParameters
This struct describes the properties of an encoded stream.
Definition: codec_par.h:53
InputStream::data_size
uint64_t data_size
Definition: ffmpeg.h:388
OutputStream::enc_ctx
AVCodecContext * enc_ctx
Definition: ffmpeg.h:475
OptionsContext::nb_rc_overrides
int nb_rc_overrides
Definition: ffmpeg.h:184
sub
static float sub(float src0, float src1)
Definition: dnn_backend_native_layer_mathbinary.c:31
thread.h
FilterGraph::inputs
InputFilter ** inputs
Definition: ffmpeg.h:297
InputFile::nb_streams_warn
int nb_streams_warn
Definition: ffmpeg.h:418
OptionsContext::hwaccels
SpecifierOpt * hwaccels
Definition: ffmpeg.h:126
OptionsContext::apad
SpecifierOpt * apad
Definition: ffmpeg.h:221
frame_drop_threshold
float frame_drop_threshold
Definition: ffmpeg_opt.c:160
rational.h
InputStream::dec_ctx
AVCodecContext * dec_ctx
Definition: ffmpeg.h:313
OptionsContext::limit_filesize
uint64_t limit_filesize
Definition: ffmpeg.h:150
InputStream::user_set_discard
int user_set_discard
Definition: ffmpeg.h:307
StreamMap::sync_stream_index
int sync_stream_index
Definition: ffmpeg.h:79
OptionsContext::rc_overrides
SpecifierOpt * rc_overrides
Definition: ffmpeg.h:183
OutputStream::packets_written
uint64_t packets_written
Definition: ffmpeg.h:550
OptionsContext::nb_metadata
int nb_metadata
Definition: ffmpeg.h:166
nb_input_streams
int nb_input_streams
Definition: ffmpeg.c:149
OptionsContext::nb_hwaccel_devices
int nb_hwaccel_devices
Definition: ffmpeg.h:129
InputFile::readrate
float readrate
Definition: ffmpeg.h:420
OutputStream::keep_pix_fmt
int keep_pix_fmt
Definition: ffmpeg.h:544
OptionsContext::nb_attachments
int nb_attachments
Definition: ffmpeg.h:144
OutputFile::start_time
int64_t start_time
start time in microseconds == AV_TIME_BASE units
Definition: ffmpeg.h:590
OptionsContext::frame_aspect_ratios
SpecifierOpt * frame_aspect_ratios
Definition: ffmpeg.h:181
progress_avio
AVIOContext * progress_avio
Definition: ffmpeg.c:144
InputFilter::ch_layout
AVChannelLayout ch_layout
Definition: ffmpeg.h:255
ffmpeg_parse_options
int ffmpeg_parse_options(int argc, char **argv)
input_streams
InputStream ** input_streams
Definition: ffmpeg.c:148
AVFrame
This structure describes decoded (raw) audio or video data.
Definition: frame.h:325
InputFile::rate_emu
int rate_emu
Definition: ffmpeg.h:419
OutputStream::unavailable
int unavailable
Definition: ffmpeg.h:528
OptionsContext::mux_max_delay
float mux_max_delay
Definition: ffmpeg.h:152
OptionsContext::nb_chroma_intra_matrices
int nb_chroma_intra_matrices
Definition: ffmpeg.h:190
OptionsContext::nb_pass
int nb_pass
Definition: ffmpeg.h:212
OutputStream::rotate_overridden
int rotate_overridden
Definition: ffmpeg.h:494
FKF_T
@ FKF_T
Definition: ffmpeg.h:439
OutputStream::hwaccel_ctx
void * hwaccel_ctx
Definition: ffmpeg.h:485
OptionsContext::subtitle_disable
int subtitle_disable
Definition: ffmpeg.h:158
OptionsContext::nb_apad
int nb_apad
Definition: ffmpeg.h:222
OptionsContext::qscale
SpecifierOpt * qscale
Definition: ffmpeg.h:175
OutputStream::index
int index
Definition: ffmpeg.h:455
b
#define b
Definition: input.c:34
FilterGraph::index
int index
Definition: ffmpeg.h:288
OptionsContext::inter_matrices
SpecifierOpt * inter_matrices
Definition: ffmpeg.h:187
AudioChannelMap::stream_idx
int stream_idx
Definition: ffmpeg.h:84
InputStream::nb_filters
int nb_filters
Definition: ffmpeg.h:369
int_cb
const AVIOInterruptCB int_cb
Definition: ffmpeg.c:513
OutputStream::sws_dict
AVDictionary * sws_dict
Definition: ffmpeg.h:524
nb_output_files
int nb_output_files
Definition: ffmpeg.c:156
show_usage
void show_usage(void)
Definition: ffmpeg_opt.c:3386
FilterGraph::nb_inputs
int nb_inputs
Definition: ffmpeg.h:298
OptionsContext::bitexact
int bitexact
Definition: ffmpeg.h:154
OptionsContext::audio_channels
SpecifierOpt * audio_channels
Definition: ffmpeg.h:101
OptionsContext::nb_frame_rates
int nb_frame_rates
Definition: ffmpeg.h:106
AVDictionary
Definition: dict.c:30
HWDevice
Definition: ffmpeg.h:67
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:151
InputStream::decoding_needed
int decoding_needed
Definition: ffmpeg.h:308
OptionsContext::format
const char * format
Definition: ffmpeg.h:95
OutputStream::max_frames
int64_t max_frames
Definition: ffmpeg.h:478
OutputStream::rotate_override_value
double rotate_override_value
Definition: ffmpeg.h:497
ost
static AVStream * ost
Definition: vaapi_transcode.c:45
OptionsContext::nb_disposition
int nb_disposition
Definition: ffmpeg.h:226
qp_hist
int qp_hist
Definition: ffmpeg_opt.c:172
AVBSFContext
The bitstream filter state.
Definition: bsf.h:68
AVIOInterruptCB
Callback for checking whether to abort blocking functions.
Definition: avio.h:59
OptionDef
Definition: cmdutils.h:135
OutputStream::forced_keyframes_pexpr
AVExpr * forced_keyframes_pexpr
Definition: ffmpeg.h:507
InputFilter::ist
struct InputStream * ist
Definition: ffmpeg.h:241
init_simple_filtergraph
int init_simple_filtergraph(InputStream *ist, OutputStream *ost)
Definition: ffmpeg_filter.c:176
OptionsContext::nb_guess_layout_max
int nb_guess_layout_max
Definition: ffmpeg.h:220
InputFile::eof_reached
int eof_reached
Definition: ffmpeg.h:403
OutputStream::encoding_needed
int encoding_needed
Definition: ffmpeg.h:458
InputStream
Definition: ffmpeg.h:303
filter_nbthreads
char * filter_nbthreads
Definition: ffmpeg_opt.c:175
OptionsContext::chapters_input_file
int chapters_input_file
Definition: ffmpeg.h:146
debug_ts
int debug_ts
Definition: ffmpeg_opt.c:168
OutputStream::forced_kf_pts
int64_t * forced_kf_pts
Definition: ffmpeg.h:503
OptionsContext::nb_presets
int nb_presets
Definition: ffmpeg.h:196
stats_period
int64_t stats_period
Definition: ffmpeg_opt.c:179
OptionsContext::rate_emu
int rate_emu
Definition: ffmpeg.h:117
OutputStream::vsync_method
enum VideoSyncMethod vsync_method
Definition: ffmpeg.h:490
do_deinterlace
int do_deinterlace
dts_delta_threshold
float dts_delta_threshold
Definition: ffmpeg_opt.c:154
fifo.h
OutputStream::filters
char * filters
filtergraph associated to the -filter option
Definition: ffmpeg.h:520
bsf.h
vstats_version
int vstats_version
Definition: ffmpeg_opt.c:177
OutputStream::initialized
int initialized
Definition: ffmpeg.h:534
OptionsContext::nb_dump_attachment
int nb_dump_attachment
Definition: ffmpeg.h:125
OptionsContext::g
OptionGroup * g
Definition: ffmpeg.h:89
OutputStream::disposition
char * disposition
Definition: ffmpeg.h:542
InputStream::sub2video
struct InputStream::sub2video sub2video
InputFilter::type
enum AVMediaType type
Definition: ffmpeg.h:244
StreamMap::disabled
int disabled
Definition: ffmpeg.h:75
AudioChannelMap::ostream_idx
int ostream_idx
Definition: ffmpeg.h:85
OutputStream::logfile_prefix
char * logfile_prefix
Definition: ffmpeg.h:515
OptionsContext::nb_top_field_first
int nb_top_field_first
Definition: ffmpeg.h:192
InputStream::decoder_opts
AVDictionary * decoder_opts
Definition: ffmpeg.h:343
OptionsContext::nb_autorotate
int nb_autorotate
Definition: ffmpeg.h:133
OutputStream::forced_keyframes_expr_const_values
double forced_keyframes_expr_const_values[FKF_NB]
Definition: ffmpeg.h:508
InputStream::filter_in_rescale_delta_last
int64_t filter_in_rescale_delta_last
Definition: ffmpeg.h:330
OptionsContext::nb_reinit_filters
int nb_reinit_filters
Definition: ffmpeg.h:206
InputStream::nb_packets
uint64_t nb_packets
Definition: ffmpeg.h:390
OutputFilter::sample_rate
int sample_rate
Definition: ffmpeg.h:277
hw_device_setup_for_decode
int hw_device_setup_for_decode(InputStream *ist)
Definition: ffmpeg_hw.c:317
OptionsContext
Definition: ffmpeg.h:88
assert_avoptions
void assert_avoptions(AVDictionary *m)
Definition: ffmpeg.c:668
OptionsContext::time_bases
SpecifierOpt * time_bases
Definition: ffmpeg.h:229
qsv_init
int qsv_init(AVCodecContext *s)
OutputFile::opts
AVDictionary * opts
Definition: ffmpeg.h:587
InputStream::sub2video::last_pts
int64_t last_pts
Definition: ffmpeg.h:358
do_pkt_dump
int do_pkt_dump
Definition: ffmpeg_opt.c:164
OptionsContext::nb_audio_channel_maps
int nb_audio_channel_maps
Definition: ffmpeg.h:139
InputFile
Definition: ffmpeg.h:401
OptionsContext::recording_time
int64_t recording_time
Definition: ffmpeg.h:148
input_files
InputFile ** input_files
Definition: ffmpeg.c:150
OptionsContext::metadata_chapters_manual
int metadata_chapters_manual
Definition: ffmpeg.h:142
OptionsContext::pass
SpecifierOpt * pass
Definition: ffmpeg.h:211
OutputStream::copy_initial_nonkeyframes
int copy_initial_nonkeyframes
Definition: ffmpeg.h:540
OutputFilter::sample_rates
const int * sample_rates
Definition: ffmpeg.h:284
OptionsContext::nb_stream_maps
int nb_stream_maps
Definition: ffmpeg.h:137
OptionsContext::audio_disable
int audio_disable
Definition: ffmpeg.h:157
InputStream::first_dts
int64_t first_dts
dts of the first packet read for this stream (in AV_TIME_BASE units)
Definition: ffmpeg.h:323
InputStream::hwaccel_pix_fmt
enum AVPixelFormat hwaccel_pix_fmt
Definition: ffmpeg.h:383
OutputFile::shortest
int shortest
Definition: ffmpeg.h:593
OutputStream::last_nb0_frames
int last_nb0_frames[3]
Definition: ffmpeg.h:483
InputStream::dts
int64_t dts
dts of the last packet read for this stream (in AV_TIME_BASE units)
Definition: ffmpeg.h:324
pkt
AVPacket * pkt
Definition: movenc.c:59
AudioChannelMap
Definition: ffmpeg.h:83
OptionsContext::presets
SpecifierOpt * presets
Definition: ffmpeg.h:195
OptionsContext::copy_initial_nonkeyframes
SpecifierOpt * copy_initial_nonkeyframes
Definition: ffmpeg.h:197
OutputStream::sync_opts
int64_t sync_opts
Definition: ffmpeg.h:463
OptionsContext::codec_names
SpecifierOpt * codec_names
Definition: ffmpeg.h:97
term_init
void term_init(void)
Definition: ffmpeg.c:408
OptionsContext::nb_program
int nb_program
Definition: ffmpeg.h:228
StreamMap::linklabel
char * linklabel
Definition: ffmpeg.h:80
OutputFilter::width
int width
Definition: ffmpeg.h:274
HWACCEL_GENERIC
@ HWACCEL_GENERIC
Definition: ffmpeg.h:64
OutputStream::forced_keyframes
char * forced_keyframes
Definition: ffmpeg.h:506
VSYNC_VSCFR
@ VSYNC_VSCFR
Definition: ffmpeg.h:55
InputStream::cfr_next_pts
int64_t cfr_next_pts
Definition: ffmpeg.h:337
s
#define s(width, name)
Definition: cbs_vp9.c:256
FilterGraph::outputs
OutputFilter ** outputs
Definition: ffmpeg.h:299
vstats_filename
char * vstats_filename
Definition: ffmpeg_opt.c:150
OutputStream::frame_aspect_ratio
AVRational frame_aspect_ratio
Definition: ffmpeg.h:499
InputStream::framerate
AVRational framerate
Definition: ffmpeg.h:344
OutputStream::mux_timebase
AVRational mux_timebase
Definition: ffmpeg.h:470
OptionsContext::nb_bits_per_raw_sample
int nb_bits_per_raw_sample
Definition: ffmpeg.h:236
ENCODER_FINISHED
@ ENCODER_FINISHED
Definition: ffmpeg.h:449
OutputStream::audio_channels_mapped
int audio_channels_mapped
Definition: ffmpeg.h:513
InputFilter
Definition: ffmpeg.h:239
OutputStream::copy_prior_start
int copy_prior_start
Definition: ffmpeg.h:541
OptionsContext::audio_ch_layouts
SpecifierOpt * audio_ch_layouts
Definition: ffmpeg.h:99
AVHWDeviceType
AVHWDeviceType
Definition: hwcontext.h:27
OutputFilter::ost
struct OutputStream * ost
Definition: ffmpeg.h:265
output_streams
OutputStream ** output_streams
Definition: ffmpeg.c:153
OptionsContext::metadata_streams_manual
int metadata_streams_manual
Definition: ffmpeg.h:141
forced_keyframes_const
forced_keyframes_const
Definition: ffmpeg.h:434
MUXER_FINISHED
@ MUXER_FINISHED
Definition: ffmpeg.h:450
OutputStream::avfilter
char * avfilter
Definition: ffmpeg.h:519
audio_drift_threshold
float audio_drift_threshold
Definition: ffmpeg_opt.c:153
InputStream::filters
InputFilter ** filters
Definition: ffmpeg.h:368
OptionsContext::nb_copy_initial_nonkeyframes
int nb_copy_initial_nonkeyframes
Definition: ffmpeg.h:198
max_error_rate
float max_error_rate
Definition: ffmpeg_opt.c:174
of_write_packet
void of_write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int unqueue)
Definition: ffmpeg_mux.c:44
AVExpr
Definition: eval.c:157
OutputFile::header_written
int header_written
Definition: ffmpeg.h:595
OptionsContext::sample_fmts
SpecifierOpt * sample_fmts
Definition: ffmpeg.h:173
OptionsContext::shortest
int shortest
Definition: ffmpeg.h:153
InputStream::hwaccel_retrieve_data
int(* hwaccel_retrieve_data)(AVCodecContext *s, AVFrame *frame)
Definition: ffmpeg.h:382
InputFilter::graph
struct FilterGraph * graph
Definition: ffmpeg.h:242
AVThreadMessageQueue
Definition: threadmessage.c:27
OptionsContext::accurate_seek
int accurate_seek
Definition: ffmpeg.h:119
OutputStream::last_frame
AVFrame * last_frame
Definition: ffmpeg.h:480
OptionsContext::nb_canvas_sizes
int nb_canvas_sizes
Definition: ffmpeg.h:210
OptionsContext::nb_max_muxing_queue_size
int nb_max_muxing_queue_size
Definition: ffmpeg.h:216
arg
const char * arg
Definition: jacosubdec.c:67
OutputStream::streamcopy_started
int streamcopy_started
Definition: ffmpeg.h:539
want_sdp
int want_sdp
Definition: ffmpeg.c:141
OutputStream::encoder_opts
AVDictionary * encoder_opts
Definition: ffmpeg.h:523
OptionsContext::start_time
int64_t start_time
Definition: ffmpeg.h:92
InputStream::pts
int64_t pts
current pts of the decoded frame (in AV_TIME_BASE units)
Definition: ffmpeg.h:327
AVFormatContext
Format I/O context.
Definition: avformat.h:1213
OutputFilter::height
int height
Definition: ffmpeg.h:274
OptionsContext::nb_filter_scripts
int nb_filter_scripts
Definition: ffmpeg.h:204
OptionsContext::reinit_filters
SpecifierOpt * reinit_filters
Definition: ffmpeg.h:205
OutputFilter::name
uint8_t * name
Definition: ffmpeg.h:267
InputStream::sub2video::w
int w
Definition: ffmpeg.h:362
InputStream::top_field_first
int top_field_first
Definition: ffmpeg.h:345
InputStream::st
AVStream * st
Definition: ffmpeg.h:305
forced_keyframes_const_names
const char *const forced_keyframes_const_names[]
Definition: ffmpeg.c:115
OptionsContext::filters
SpecifierOpt * filters
Definition: ffmpeg.h:201
OptionsContext::frame_sizes
SpecifierOpt * frame_sizes
Definition: ffmpeg.h:109
of_close
void of_close(OutputFile **pof)
Definition: ffmpeg_mux.c:302
AVRational
Rational number (pair of numerator and denominator).
Definition: rational.h:58
OptionsContext::fix_sub_duration
SpecifierOpt * fix_sub_duration
Definition: ffmpeg.h:207
OptionsContext::codec_tags
SpecifierOpt * codec_tags
Definition: ffmpeg.h:171
InputStream::next_pts
int64_t next_pts
synthetic pts for the next decode frame (in AV_TIME_BASE units)
Definition: ffmpeg.h:326
frame_bits_per_raw_sample
int frame_bits_per_raw_sample
OptionsContext::force_fps
SpecifierOpt * force_fps
Definition: ffmpeg.h:179
OptionsContext::metadata_global_manual
int metadata_global_manual
Definition: ffmpeg.h:140
OptionsContext::nb_intra_matrices
int nb_intra_matrices
Definition: ffmpeg.h:186
OutputStream::audio_channels_map
int * audio_channels_map
Definition: ffmpeg.h:512
InputStream::hwaccel_id
enum HWAccelID hwaccel_id
Definition: ffmpeg.h:374
OutputStream::frame_rate
AVRational frame_rate
Definition: ffmpeg.h:488
InputFilter::eof
int eof
Definition: ffmpeg.h:260
InputStream::fix_sub_duration
int fix_sub_duration
Definition: ffmpeg.h:350
OutputStream::top_field_first
int top_field_first
Definition: ffmpeg.h:493
InputStream::hwaccel_output_format
enum AVPixelFormat hwaccel_output_format
Definition: ffmpeg.h:377
OptionsContext::max_frames
SpecifierOpt * max_frames
Definition: ffmpeg.h:167
AVFilterGraph
Definition: avfilter.h:871
do_benchmark_all
int do_benchmark_all
Definition: ffmpeg_opt.c:162
filtergraphs
FilterGraph ** filtergraphs
Definition: ffmpeg.c:158
InputStream::min_pts
int64_t min_pts
Definition: ffmpeg.h:332
OutputFile::index
int index
Definition: ffmpeg.h:582
OptionGroup
Definition: cmdutils.h:239
OptionsContext::program
SpecifierOpt * program
Definition: ffmpeg.h:227
InputStream::sub2video::sub_queue
AVFifo * sub_queue
queue of AVSubtitle* before filter init
Definition: ffmpeg.h:360
FilterGraph::nb_outputs
int nb_outputs
Definition: ffmpeg.h:300
OutputStream::logfile
FILE * logfile
Definition: ffmpeg.h:516
swresample.h
InputStream::sub2video::initialize
unsigned int initialize
marks if sub2video_update should force an initialization
Definition: ffmpeg.h:363
guess_input_channel_layout
int guess_input_channel_layout(InputStream *ist)
Definition: ffmpeg.c:1889
OptionsContext::nb_metadata_map
int nb_metadata_map
Definition: ffmpeg.h:194
OptionsContext::nb_filters
int nb_filters
Definition: ffmpeg.h:202
InputStream::frames_decoded
uint64_t frames_decoded
Definition: ffmpeg.h:392
OutputStream::enc
const AVCodec * enc
Definition: ffmpeg.h:477
InputStream::next_dts
int64_t next_dts
Definition: ffmpeg.h:322
FilterGraph
Definition: ffmpeg.h:287
print_stats
int print_stats
Definition: ffmpeg_opt.c:171
InputFilter::filter
AVFilterContext * filter
Definition: ffmpeg.h:240
nb_output_dumped
unsigned nb_output_dumped
Definition: ffmpeg.c:139
of_check_init
int of_check_init(OutputFile *of)
Definition: ffmpeg_mux.c:230
options
const OptionDef options[]
VideoSyncMethod
VideoSyncMethod
Definition: ffmpeg.h:50
eval.h
OutputStream::force_fps
int force_fps
Definition: ffmpeg.h:492
OptionsContext::nb_frame_aspect_ratios
int nb_frame_aspect_ratios
Definition: ffmpeg.h:182
OutputStream::filter
OutputFilter * filter
Definition: ffmpeg.h:518
AVIOContext
Bytestream IO Context.
Definition: avio.h:162
sub2video_update
void sub2video_update(InputStream *ist, int64_t heartbeat_pts, AVSubtitle *sub)
Definition: ffmpeg.c:241
InputStream::hwaccel_device_type
enum AVHWDeviceType hwaccel_device_type
Definition: ffmpeg.h:375
OptionsContext::thread_queue_size
int thread_queue_size
Definition: ffmpeg.h:120
AVMediaType
AVMediaType
Definition: avutil.h:199
InputStream::decoded_frame
AVFrame * decoded_frame
Definition: ffmpeg.h:315
AVFifo
Definition: fifo.c:35
InputStream::wrap_correction_done
int wrap_correction_done
Definition: ffmpeg.h:328
InputStream::start
int64_t start
Definition: ffmpeg.h:319
AVChannelLayout
An AVChannelLayout holds information about the channel layout of audio data.
Definition: channel_layout.h:290
threadmessage.h
OutputStream::error
int64_t error[4]
Definition: ffmpeg.h:578
InputStream::file_index
int file_index
Definition: ffmpeg.h:304
OutputStream::forced_kf_count
int forced_kf_count
Definition: ffmpeg.h:504
InputFile::last_ts
int64_t last_ts
Definition: ffmpeg.h:413
FilterGraph::graph
AVFilterGraph * graph
Definition: ffmpeg.h:291
InputStream::pkt
AVPacket * pkt
Definition: ffmpeg.h:316
InputStream::got_output
int got_output
Definition: ffmpeg.h:352
StreamMap
Definition: ffmpeg.h:74
copy_ts
int copy_ts
Definition: ffmpeg_opt.c:165
OptionsContext::filter_scripts
SpecifierOpt * filter_scripts
Definition: ffmpeg.h:203
OutputStream::packets_encoded
uint64_t packets_encoded
Definition: ffmpeg.h:555
avio.h
copy_tb
int copy_tb
Definition: ffmpeg_opt.c:167
InputStream::prev_sub
struct InputStream::@2 prev_sub
OptionsContext::seek_timestamp
int seek_timestamp
Definition: ffmpeg.h:94
InputStream::hwaccel_retrieved_pix_fmt
enum AVPixelFormat hwaccel_retrieved_pix_fmt
Definition: ffmpeg.h:384
hwaccel_decode_init
int hwaccel_decode_init(AVCodecContext *avctx)
Definition: ffmpeg_hw.c:542
OptionsContext::top_field_first
SpecifierOpt * top_field_first
Definition: ffmpeg.h:191
HWDevice::device_ref
AVBufferRef * device_ref
Definition: ffmpeg.h:70
OutputStream::source_index
int source_index
Definition: ffmpeg.h:456
OptionsContext::nb_discard
int nb_discard
Definition: ffmpeg.h:224
OSTFinished
OSTFinished
Definition: ffmpeg.h:448
OutputFilter::filter
AVFilterContext * filter
Definition: ffmpeg.h:264
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:393
OutputFile::limit_filesize
uint64_t limit_filesize
Definition: ffmpeg.h:591
check_filter_outputs
void check_filter_outputs(void)
Definition: ffmpeg_filter.c:645
OptionsContext::metadata
SpecifierOpt * metadata
Definition: ffmpeg.h:165
InputStream::max_pts
int64_t max_pts
Definition: ffmpeg.h:333
do_benchmark
int do_benchmark
Definition: ffmpeg_opt.c:161
OptionsContext::nb_autoscale
int nb_autoscale
Definition: ffmpeg.h:234
pthread_t
Definition: os2threads.h:44
OutputStream::pict_type
int pict_type
Definition: ffmpeg.h:575
OptionsContext::frame_rates
SpecifierOpt * frame_rates
Definition: ffmpeg.h:105
OutputFilter::type
enum AVMediaType type
Definition: ffmpeg.h:271
InputFile::time_base
AVRational time_base
Definition: ffmpeg.h:409
InputFile::duration
int64_t duration
Definition: ffmpeg.h:407
StreamMap::sync_file_index
int sync_file_index
Definition: ffmpeg.h:78
OutputStream::first_pts
int64_t first_pts
Definition: ffmpeg.h:466
HWACCEL_AUTO
@ HWACCEL_AUTO
Definition: ffmpeg.h:63
OptionsContext::autorotate
SpecifierOpt * autorotate
Definition: ffmpeg.h:132
OutputStream::max_frame_rate
AVRational max_frame_rate
Definition: ffmpeg.h:489
InputStream::guess_layout_max
int guess_layout_max
Definition: ffmpeg.h:346
OutputStream::filters_script
char * filters_script
filtergraph script associated to the -filter_script option
Definition: ffmpeg.h:521
OutputStream::pkt
AVPacket * pkt
Definition: ffmpeg.h:481
OutputStream::apad
char * apad
Definition: ffmpeg.h:526
OptionsContext::nb_hwaccel_output_formats
int nb_hwaccel_output_formats
Definition: ffmpeg.h:131
init_complex_filtergraph
int init_complex_filtergraph(FilterGraph *fg)
Definition: ffmpeg_filter.c:315
OptionsContext::forced_key_frames
SpecifierOpt * forced_key_frames
Definition: ffmpeg.h:177
AVOutputFormat
Definition: avformat.h:509
OptionsContext::metadata_map
SpecifierOpt * metadata_map
Definition: ffmpeg.h:193
InputStream::ret
int ret
Definition: ffmpeg.h:353
StreamMap::stream_index
int stream_index
Definition: ffmpeg.h:77
OptionsContext::nb_qscale
int nb_qscale
Definition: ffmpeg.h:176
OptionsContext::stream_maps
StreamMap * stream_maps
Definition: ffmpeg.h:136
OptionsContext::nb_ts_scale
int nb_ts_scale
Definition: ffmpeg.h:123
OptionsContext::audio_sample_rate
SpecifierOpt * audio_sample_rate
Definition: ffmpeg.h:103
OptionsContext::start_time_eof
int64_t start_time_eof
Definition: ffmpeg.h:93
VSYNC_CFR
@ VSYNC_CFR
Definition: ffmpeg.h:53
OptionsContext::nb_fix_sub_duration
int nb_fix_sub_duration
Definition: ffmpeg.h:208
OutputStream::sync_ist
struct InputStream * sync_ist
Definition: ffmpeg.h:462
exit_on_error
int exit_on_error
Definition: ffmpeg_opt.c:169
output_files
OutputFile ** output_files
Definition: ffmpeg.c:155
OutputFile::ost_index
int ost_index
Definition: ffmpeg.h:588
OptionsContext::nb_frame_pix_fmts
int nb_frame_pix_fmts
Definition: ffmpeg.h:112
InputStream::hwaccel_uninit
void(* hwaccel_uninit)(AVCodecContext *s)
Definition: ffmpeg.h:381
InputStream::processing_needed
int processing_needed
Definition: ffmpeg.h:311
hw_device_setup_for_filter
int hw_device_setup_for_filter(FilterGraph *fg)
Definition: ffmpeg_hw.c:551
InputFile::ctx
AVFormatContext * ctx
Definition: ffmpeg.h:402
InputFile::accurate_seek
int accurate_seek
Definition: ffmpeg.h:421
videotoolbox_init
int videotoolbox_init(AVCodecContext *s)
OptionsContext::nb_copy_prior_start
int nb_copy_prior_start
Definition: ffmpeg.h:200
OptionsContext::bits_per_raw_sample
SpecifierOpt * bits_per_raw_sample
Definition: ffmpeg.h:235
OutputStream::ref_par
AVCodecParameters * ref_par
Definition: ffmpeg.h:476
OptionsContext::bitstream_filters
SpecifierOpt * bitstream_filters
Definition: ffmpeg.h:169
OptionsContext::streamid_map
int * streamid_map
Definition: ffmpeg.h:162
InputFile::recording_time
int64_t recording_time
Definition: ffmpeg.h:415
avcodec.h
OptionsContext::passlogfiles
SpecifierOpt * passlogfiles
Definition: ffmpeg.h:213
InputFile::loop
int loop
Definition: ffmpeg.h:406
SpecifierOpt
Definition: cmdutils.h:123
OptionsContext::autoscale
SpecifierOpt * autoscale
Definition: ffmpeg.h:233
AVStream
Stream structure.
Definition: avformat.h:948
OptionsContext::nb_bitstream_filters
int nb_bitstream_filters
Definition: ffmpeg.h:170
pixfmt.h
OutputStream::max_muxing_queue_size
int max_muxing_queue_size
Definition: ffmpeg.h:560
abort_on_flags
int abort_on_flags
Definition: ffmpeg_opt.c:170
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:243
OptionsContext::nb_streamid_map
int nb_streamid_map
Definition: ffmpeg.h:163
VSYNC_DROP
@ VSYNC_DROP
Definition: ffmpeg.h:56
sdp_filename
char * sdp_filename
Definition: ffmpeg_opt.c:151
OutputFilter::ch_layout
AVChannelLayout ch_layout
Definition: ffmpeg.h:278
OptionsContext::audio_channel_maps
AudioChannelMap * audio_channel_maps
Definition: ffmpeg.h:138
OutputStream::forced_kf_ref_pts
int64_t forced_kf_ref_pts
Definition: ffmpeg.h:502
InputStream::reinit_filters
int reinit_filters
Definition: ffmpeg.h:371
hw_device_free_all
void hw_device_free_all(void)
Definition: ffmpeg_hw.c:288
avformat.h
InputFile::eagain
int eagain
Definition: ffmpeg.h:404
HWAccelID
HWAccelID
Definition: ffmpeg.h:61
dict.h
InputFile::ist_index
int ist_index
Definition: ffmpeg.h:405
OptionsContext::nb_sample_fmts
int nb_sample_fmts
Definition: ffmpeg.h:174
InputFilter::sample_rate
int sample_rate
Definition: ffmpeg.h:254
OptionsContext::nb_enc_time_bases
int nb_enc_time_bases
Definition: ffmpeg.h:232
OptionsContext::nb_max_frames
int nb_max_frames
Definition: ffmpeg.h:168
OptionsContext::disposition
SpecifierOpt * disposition
Definition: ffmpeg.h:225
ifilter_parameters_from_frame
int ifilter_parameters_from_frame(InputFilter *ifilter, const AVFrame *frame)
Definition: ffmpeg_filter.c:1169
OutputFilter::format
int format
Definition: ffmpeg.h:276
filter_hw_device
HWDevice * filter_hw_device
Definition: ffmpeg_opt.c:148
AVCodecContext
main external API structure.
Definition: avcodec.h:389
hw_device_setup_for_encode
int hw_device_setup_for_encode(OutputStream *ost)
Definition: ffmpeg_hw.c:445
OptionsContext::mux_preload
float mux_preload
Definition: ffmpeg.h:151
HWDevice::name
const char * name
Definition: ffmpeg.h:68
InputFilter::format
int format
Definition: ffmpeg.h:249
OutputStream::finished
OSTFinished finished
Definition: ffmpeg.h:527
OptionsContext::nb_audio_channels
int nb_audio_channels
Definition: ffmpeg.h:102
InputStream::prev_pkt_pts
int64_t prev_pkt_pts
Definition: ffmpeg.h:318
OptionsContext::guess_layout_max
SpecifierOpt * guess_layout_max
Definition: ffmpeg.h:219
OptionsContext::enc_time_bases
SpecifierOpt * enc_time_bases
Definition: ffmpeg.h:231
avfilter.h
OutputFilter::formats
const int * formats
Definition: ffmpeg.h:282
FilterGraph::is_meta
int is_meta
Definition: ffmpeg.h:295
OutputStream::last_mux_dts
int64_t last_mux_dts
Definition: ffmpeg.h:468
OptionsContext::video_disable
int video_disable
Definition: ffmpeg.h:156
OutputStream::quality
int quality
Definition: ffmpeg.h:558
OptionsContext::nb_forced_key_frames
int nb_forced_key_frames
Definition: ffmpeg.h:178
OutputStream::bits_per_raw_sample
int bits_per_raw_sample
Definition: ffmpeg.h:496
OptionsContext::max_frame_rates
SpecifierOpt * max_frame_rates
Definition: ffmpeg.h:107
InputStream::nb_samples
int64_t nb_samples
Definition: ffmpeg.h:339
InputFilter::height
int height
Definition: ffmpeg.h:251
OptionsContext::frame_pix_fmts
SpecifierOpt * frame_pix_fmts
Definition: ffmpeg.h:111
video_sync_method
enum VideoSyncMethod video_sync_method
Definition: ffmpeg_opt.c:159
OutputStream::frames_encoded
uint64_t frames_encoded
Definition: ffmpeg.h:552
HWACCEL_NONE
@ HWACCEL_NONE
Definition: ffmpeg.h:62
InputFile::ts_offset
int64_t ts_offset
Definition: ffmpeg.h:412
OptionsContext::nb_frame_sizes
int nb_frame_sizes
Definition: ffmpeg.h:110
OptionsContext::hwaccel_devices
SpecifierOpt * hwaccel_devices
Definition: ffmpeg.h:128
InputStream::discard
int discard
Definition: ffmpeg.h:306
OptionsContext::max_muxing_queue_size
SpecifierOpt * max_muxing_queue_size
Definition: ffmpeg.h:215
AVFilterContext
An instance of a filter.
Definition: avfilter.h:408
remove_avoptions
void remove_avoptions(AVDictionary **a, AVDictionary *b)
Definition: ffmpeg.c:659
VSYNC_AUTO
@ VSYNC_AUTO
Definition: ffmpeg.h:51
OutputFilter
Definition: ffmpeg.h:263
InputStream::sub2video::frame
AVFrame * frame
Definition: ffmpeg.h:361
OptionsContext::nb_muxing_queue_data_threshold
int nb_muxing_queue_data_threshold
Definition: ffmpeg.h:218
OptionsContext::nb_inter_matrices
int nb_inter_matrices
Definition: ffmpeg.h:188
OptionsContext::muxing_queue_data_threshold
SpecifierOpt * muxing_queue_data_threshold
Definition: ffmpeg.h:217
avutil.h
start_at_zero
int start_at_zero
Definition: ffmpeg_opt.c:166
AVBufferRef
A reference to a data buffer.
Definition: buffer.h:82
OutputStream::file_index
int file_index
Definition: ffmpeg.h:454
audio_volume
int audio_volume
Definition: ffmpeg_opt.c:157
OptionsContext::copy_prior_start
SpecifierOpt * copy_prior_start
Definition: ffmpeg.h:199
InputStream::sub2video
Definition: ffmpeg.h:357
OutputFile::ctx
AVFormatContext * ctx
Definition: ffmpeg.h:586
OutputFilter::out_tmp
AVFilterInOut * out_tmp
Definition: ffmpeg.h:270
auto_conversion_filters
int auto_conversion_filters
Definition: ffmpeg_opt.c:178
InputStream::sub2video::h
int h
Definition: ffmpeg.h:362
OptionsContext::nb_passlogfiles
int nb_passlogfiles
Definition: ffmpeg.h:214
OutputStream::is_cfr
int is_cfr
Definition: ffmpeg.h:491
OutputStream::autoscale
int autoscale
Definition: ffmpeg.h:495
InputFilter::hw_frames_ctx
AVBufferRef * hw_frames_ctx
Definition: ffmpeg.h:257
FKF_N_FORCED
@ FKF_N_FORCED
Definition: ffmpeg.h:436
OptionsContext::attachments
const char ** attachments
Definition: ffmpeg.h:143
InputStream::sub2video::end_pts
int64_t end_pts
Definition: ffmpeg.h:359
stdin_interaction
int stdin_interaction
Definition: ffmpeg_opt.c:173
OutputStream::muxing_queue_data_size
size_t muxing_queue_data_size
Definition: ffmpeg.h:569
do_hex_dump
int do_hex_dump
Definition: ffmpeg_opt.c:163
InputStream::hwaccel_ctx
void * hwaccel_ctx
Definition: ffmpeg.h:380
InputStream::ts_scale
double ts_scale
Definition: ffmpeg.h:341
OptionsContext::ts_scale
SpecifierOpt * ts_scale
Definition: ffmpeg.h:122
AVPacket
This structure stores compressed data.
Definition: packet.h:351
main_return_code
int main_return_code
Definition: ffmpeg.c:347
OptionsContext::chroma_intra_matrices
SpecifierOpt * chroma_intra_matrices
Definition: ffmpeg.h:189
FilterGraph::reconfiguration
int reconfiguration
Definition: ffmpeg.h:292
HWDevice::type
enum AVHWDeviceType type
Definition: ffmpeg.h:69
cmdutils.h
InputFile::input_ts_offset
int64_t input_ts_offset
Definition: ffmpeg.h:410
OptionsContext::data_disable
int data_disable
Definition: ffmpeg.h:159
InputStream::dts_buffer
int64_t * dts_buffer
Definition: ffmpeg.h:395
InputFilter::frame_queue
AVFifo * frame_queue
Definition: ffmpeg.h:246
int32_t
int32_t
Definition: audioconvert.c:56
OutputStream::muxing_queue_data_threshold
size_t muxing_queue_data_threshold
Definition: ffmpeg.h:572
FKF_NB
@ FKF_NB
Definition: ffmpeg.h:440
OutputStream
Definition: muxing.c:54
hwcontext.h
OutputStream::st
AVStream * st
Definition: muxing.c:55
OutputStream::muxing_queue
AVFifo * muxing_queue
Definition: ffmpeg.h:563
dts_error_threshold
float dts_error_threshold
Definition: ffmpeg_opt.c:155
OptionsContext::hwaccel_output_formats
SpecifierOpt * hwaccel_output_formats
Definition: ffmpeg.h:130
OutputFile::format
const AVOutputFormat * format
Definition: ffmpeg.h:584
InputStream::nb_dts_buffer
int nb_dts_buffer
Definition: ffmpeg.h:396
nb_output_streams
int nb_output_streams
Definition: ffmpeg.c:154
InputStream::saw_first_ts
int saw_first_ts
Definition: ffmpeg.h:342
OutputStream::stream_copy
int stream_copy
Definition: ffmpeg.h:529
OutputStream::swr_opts
AVDictionary * swr_opts
Definition: ffmpeg.h:525
OutputStream::forced_kf_index
int forced_kf_index
Definition: ffmpeg.h:505
OutputFilter::frame_rate
AVRational frame_rate
Definition: ffmpeg.h:275
OutputStream::filtered_frame
AVFrame * filtered_frame
Definition: ffmpeg.h:479
InputFile::nb_streams
int nb_streams
Definition: ffmpeg.h:416
FKF_N
@ FKF_N
Definition: ffmpeg.h:435
OutputFile::recording_time
int64_t recording_time
desired length of the resulting file in microseconds == AV_TIME_BASE units
Definition: ffmpeg.h:589
int
int
Definition: ffmpeg_filter.c:153
OutputStream::samples_encoded
uint64_t samples_encoded
Definition: ffmpeg.h:553
OutputStream::dropped_keyframe
int dropped_keyframe
Definition: ffmpeg.h:509
OutputStream::inputs_done
int inputs_done
Definition: ffmpeg.h:536
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:172
AVFilterInOut
A linked-list of the inputs/outputs of the filter chain.
Definition: avfilter.h:1031
VSYNC_PASSTHROUGH
@ VSYNC_PASSTHROUGH
Definition: ffmpeg.h:52
InputStream::dec
const AVCodec * dec
Definition: ffmpeg.h:314
OutputStream::bsf_ctx
AVBSFContext * bsf_ctx
Definition: ffmpeg.h:473
OptionsContext::discard
SpecifierOpt * discard
Definition: ffmpeg.h:223
InputStream::subtitle
AVSubtitle subtitle
Definition: ffmpeg.h:354
of_write_trailer
int of_write_trailer(OutputFile *of)
Definition: ffmpeg_mux.c:281
filtergraph_is_simple
int filtergraph_is_simple(FilterGraph *fg)
Definition: ffmpeg_filter.c:1201
term_exit
void term_exit(void)
Definition: ffmpeg.c:337
filter_complex_nbthreads
int filter_complex_nbthreads
Definition: ffmpeg_opt.c:176
OutputFile
Definition: ffmpeg.h:581
OptionsContext::loop
int loop
Definition: ffmpeg.h:116
InputStream::autorotate
int autorotate
Definition: ffmpeg.h:348
OutputStream::enc_timebase
AVRational enc_timebase
Definition: ffmpeg.h:471
OptionsContext::nb_force_fps
int nb_force_fps
Definition: ffmpeg.h:180