| FFmpegKit Linux API 6.0

Loading...
Searching...
No Matches
fftools_ffmpeg.h
Go to the documentation of this file.
1/*
2 * This file is part of FFmpeg.
3 * Copyright (c) 2018-2022 Taner Sener
4 * Copyright (c) 2023 ARTHENICA LTD
5 *
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21/*
22 * This file is the modified version of ffmpeg.h file living in ffmpeg source code under the fftools folder. We
23 * manually update it each time we depend on a new ffmpeg version. Below you can see the list of changes applied
24 * by us to develop mobile-ffmpeg and later ffmpeg-kit libraries.
25 *
26 * ffmpeg-kit changes by ARTHENICA LTD
27 *
28 * 07.2023
29 * --------------------------------------------------------
30 * - FFmpeg 6.0 changes migrated
31 * - WARN_MULTIPLE_OPT_USAGE, MATCH_PER_STREAM_OPT, MATCH_PER_TYPE_OPT, SPECIFIER_OPT_FMT declarations migrated to
32 * ffmpeg_mux.h
33 * - "class" member field renamed as clazz
34 * - time field in set_report_callback updated as double
35 *
36 * mobile-ffmpeg / ffmpeg-kit changes by Taner Sener
37 *
38 * 09.2022
39 * --------------------------------------------------------
40 * - config.h include added back
41 * - volatile dropped from thread local variables
42 * - dropped signatures of ffmpeg_opt.c methods called by both ffmpeg and ffprobe
43 *
44 * 06.2020
45 * --------------------------------------------------------
46 * - cancel_operation() method signature updated with id
47 *
48 * 12.2019
49 * --------------------------------------------------------
50 * - concurrent execution support ("__thread" specifier added to variables used by multiple threads,
51 * signatures of ffmpeg_opt.c methods called by both ffmpeg and ffprobe added)
52 *
53 * 03.2019
54 * --------------------------------------------------------
55 * - config.h include removed
56 *
57 * 08.2018
58 * --------------------------------------------------------
59 * - fftools_ prefix added to file name and include guards
60 * - set_report_callback() method declared
61 * - cancel_operation() method declared
62 *
63 * 07.2018
64 * --------------------------------------------------------
65 * - include guards renamed
66 */
67
68#ifndef FFTOOLS_FFMPEG_H
69#define FFTOOLS_FFMPEG_H
70
71#include "config.h"
72
73#include <stdatomic.h>
74#include <stdint.h>
75#include <stdio.h>
76#include <signal.h>
77
78#include "fftools_cmdutils.h"
79#include "fftools_sync_queue.h"
80
81#include "libavformat/avformat.h"
82#include "libavformat/avio.h"
83
84#include "libavcodec/avcodec.h"
85#include "libavcodec/bsf.h"
86
87#include "libavfilter/avfilter.h"
88
89#include "libavutil/avutil.h"
90#include "libavutil/dict.h"
91#include "libavutil/eval.h"
92#include "libavutil/fifo.h"
93#include "libavutil/hwcontext.h"
94#include "libavutil/pixfmt.h"
95#include "libavutil/rational.h"
96#include "libavutil/thread.h"
97#include "libavutil/threadmessage.h"
98
99#include "libswresample/swresample.h"
100
101// deprecated features
102#define FFMPEG_OPT_PSNR 1
103#define FFMPEG_OPT_MAP_CHANNEL 1
104#define FFMPEG_OPT_MAP_SYNC 1
105#define FFMPEG_ROTATION_METADATA 1
106
107 enum VideoSyncMethod {
108 VSYNC_AUTO = -1,
109 VSYNC_PASSTHROUGH,
110 VSYNC_CFR,
111 VSYNC_VFR,
112 VSYNC_VSCFR,
113 VSYNC_DROP,
114};
115
116#define MAX_STREAMS 1024 /* arbitrary sanity check value */
117
118 enum HWAccelID {
119 HWACCEL_NONE = 0,
120 HWACCEL_AUTO,
121 HWACCEL_GENERIC,
122};
123
124 typedef struct HWDevice {
125 const char *name;
126 enum AVHWDeviceType type;
127 AVBufferRef *device_ref;
128} HWDevice;
129
130/* select an input stream for an output stream */
131 typedef struct StreamMap {
132 int disabled; /* 1 is this mapping is disabled by a negative map */
133 int file_index;
134 int stream_index;
135 char *linklabel; /* name of an output link, for mapping lavfi outputs */
136} StreamMap;
137
138#if FFMPEG_OPT_MAP_CHANNEL
139 typedef struct {
140 int file_idx, stream_idx, channel_idx; // input
141 int ofile_idx, ostream_idx; // output
142} AudioChannelMap;
143#endif
144
145 typedef struct OptionsContext {
146 OptionGroup *g;
147
148 /* input/output options */
149 int64_t start_time;
150 int64_t start_time_eof;
151 int seek_timestamp;
152 const char *format;
153
154 SpecifierOpt *codec_names;
155 int nb_codec_names;
156 SpecifierOpt *audio_ch_layouts;
157 int nb_audio_ch_layouts;
158 SpecifierOpt *audio_channels;
159 int nb_audio_channels;
160 SpecifierOpt *audio_sample_rate;
161 int nb_audio_sample_rate;
162 SpecifierOpt *frame_rates;
163 int nb_frame_rates;
164 SpecifierOpt *max_frame_rates;
165 int nb_max_frame_rates;
166 SpecifierOpt *frame_sizes;
167 int nb_frame_sizes;
168 SpecifierOpt *frame_pix_fmts;
169 int nb_frame_pix_fmts;
170
171 /* input options */
172 int64_t input_ts_offset;
173 int loop;
174 int rate_emu;
175 float readrate;
176 int accurate_seek;
177 int thread_queue_size;
178 int input_sync_ref;
179 int find_stream_info;
180
181 SpecifierOpt *ts_scale;
182 int nb_ts_scale;
183 SpecifierOpt *dump_attachment;
184 int nb_dump_attachment;
185 SpecifierOpt *hwaccels;
186 int nb_hwaccels;
187 SpecifierOpt *hwaccel_devices;
188 int nb_hwaccel_devices;
189 SpecifierOpt *hwaccel_output_formats;
190 int nb_hwaccel_output_formats;
191 SpecifierOpt *autorotate;
192 int nb_autorotate;
193
194 /* output options */
195 StreamMap *stream_maps;
196 int nb_stream_maps;
197#if FFMPEG_OPT_MAP_CHANNEL
198 AudioChannelMap *audio_channel_maps; /* one info entry per -map_channel */
199 int nb_audio_channel_maps; /* number of (valid) -map_channel settings */
200#endif
201 const char **attachments;
202 int nb_attachments;
203
204 int chapters_input_file;
205
206 int64_t recording_time;
207 int64_t stop_time;
208 int64_t limit_filesize;
209 float mux_preload;
210 float mux_max_delay;
211 float shortest_buf_duration;
212 int shortest;
213 int bitexact;
214
215 int video_disable;
216 int audio_disable;
217 int subtitle_disable;
218 int data_disable;
219
220 /* indexed by output file stream index */
221 int *streamid_map;
222 int nb_streamid_map;
223
224 SpecifierOpt *metadata;
225 int nb_metadata;
226 SpecifierOpt *max_frames;
227 int nb_max_frames;
228 SpecifierOpt *bitstream_filters;
229 int nb_bitstream_filters;
230 SpecifierOpt *codec_tags;
231 int nb_codec_tags;
232 SpecifierOpt *sample_fmts;
233 int nb_sample_fmts;
234 SpecifierOpt *qscale;
235 int nb_qscale;
236 SpecifierOpt *forced_key_frames;
237 int nb_forced_key_frames;
238 SpecifierOpt *fps_mode;
239 int nb_fps_mode;
240 SpecifierOpt *force_fps;
241 int nb_force_fps;
242 SpecifierOpt *frame_aspect_ratios;
243 int nb_frame_aspect_ratios;
244 SpecifierOpt *display_rotations;
245 int nb_display_rotations;
246 SpecifierOpt *display_hflips;
247 int nb_display_hflips;
248 SpecifierOpt *display_vflips;
249 int nb_display_vflips;
250 SpecifierOpt *rc_overrides;
251 int nb_rc_overrides;
252 SpecifierOpt *intra_matrices;
253 int nb_intra_matrices;
254 SpecifierOpt *inter_matrices;
255 int nb_inter_matrices;
256 SpecifierOpt *chroma_intra_matrices;
257 int nb_chroma_intra_matrices;
258 SpecifierOpt *top_field_first;
259 int nb_top_field_first;
260 SpecifierOpt *metadata_map;
261 int nb_metadata_map;
262 SpecifierOpt *presets;
263 int nb_presets;
264 SpecifierOpt *copy_initial_nonkeyframes;
265 int nb_copy_initial_nonkeyframes;
266 SpecifierOpt *copy_prior_start;
267 int nb_copy_prior_start;
268 SpecifierOpt *filters;
269 int nb_filters;
270 SpecifierOpt *filter_scripts;
271 int nb_filter_scripts;
272 SpecifierOpt *reinit_filters;
273 int nb_reinit_filters;
274 SpecifierOpt *fix_sub_duration;
275 int nb_fix_sub_duration;
276 SpecifierOpt *fix_sub_duration_heartbeat;
277 int nb_fix_sub_duration_heartbeat;
278 SpecifierOpt *canvas_sizes;
279 int nb_canvas_sizes;
280 SpecifierOpt *pass;
281 int nb_pass;
282 SpecifierOpt *passlogfiles;
283 int nb_passlogfiles;
284 SpecifierOpt *max_muxing_queue_size;
285 int nb_max_muxing_queue_size;
286 SpecifierOpt *muxing_queue_data_threshold;
287 int nb_muxing_queue_data_threshold;
288 SpecifierOpt *guess_layout_max;
289 int nb_guess_layout_max;
290 SpecifierOpt *apad;
291 int nb_apad;
292 SpecifierOpt *discard;
293 int nb_discard;
294 SpecifierOpt *disposition;
295 int nb_disposition;
296 SpecifierOpt *program;
297 int nb_program;
298 SpecifierOpt *time_bases;
299 int nb_time_bases;
300 SpecifierOpt *enc_time_bases;
301 int nb_enc_time_bases;
302 SpecifierOpt *autoscale;
303 int nb_autoscale;
304 SpecifierOpt *bits_per_raw_sample;
305 int nb_bits_per_raw_sample;
306 SpecifierOpt *enc_stats_pre;
307 int nb_enc_stats_pre;
308 SpecifierOpt *enc_stats_post;
309 int nb_enc_stats_post;
310 SpecifierOpt *mux_stats;
311 int nb_mux_stats;
312 SpecifierOpt *enc_stats_pre_fmt;
313 int nb_enc_stats_pre_fmt;
314 SpecifierOpt *enc_stats_post_fmt;
315 int nb_enc_stats_post_fmt;
316 SpecifierOpt *mux_stats_fmt;
317 int nb_mux_stats_fmt;
318} OptionsContext;
319
320 typedef struct InputFilter {
321 AVFilterContext *filter;
322 struct InputStream *ist;
323 struct FilterGraph *graph;
324 uint8_t *name;
325 enum AVMediaType type; // AVMEDIA_TYPE_SUBTITLE for sub2video
326
327 AVFifo *frame_queue;
328
329 // parameters configured for this input
330 int format;
331
332 int width, height;
333 AVRational sample_aspect_ratio;
334
335 int sample_rate;
336 AVChannelLayout ch_layout;
337
338 AVBufferRef *hw_frames_ctx;
339 int32_t *displaymatrix;
340
341 int eof;
342} InputFilter;
343
344 typedef struct OutputFilter {
345 AVFilterContext *filter;
346 struct OutputStream *ost;
347 struct FilterGraph *graph;
348 uint8_t *name;
349
350 /* temporary storage until stream maps are processed */
351 AVFilterInOut *out_tmp;
352 enum AVMediaType type;
353
354 /* desired output stream properties */
355 int width, height;
356 AVRational frame_rate;
357 int format;
358 int sample_rate;
359 AVChannelLayout ch_layout;
360
361 // those are only set if no format is specified and the encoder gives us multiple options
362 // They point directly to the relevant lists of the encoder.
363 const int *formats;
364 const AVChannelLayout *ch_layouts;
365 const int *sample_rates;
366} OutputFilter;
367
368 typedef struct FilterGraph {
369 int index;
370 const char *graph_desc;
371
372 AVFilterGraph *graph;
373 int reconfiguration;
374 // true when the filtergraph contains only meta filters
375 // that do not modify the frame data
376 int is_meta;
377
378 InputFilter **inputs;
379 int nb_inputs;
380 OutputFilter **outputs;
381 int nb_outputs;
382} FilterGraph;
383
384 typedef struct InputStream {
385 int file_index;
386 AVStream *st;
387 int discard; /* true if stream data should be discarded */
388 int user_set_discard;
389 int decoding_needed; /* non zero if the packets must be decoded in 'raw_fifo', see DECODING_FOR_* */
390#define DECODING_FOR_OST 1
391#define DECODING_FOR_FILTER 2
392 int processing_needed; /* non zero if the packets must be processed */
393 // should attach FrameData as opaque_ref after decoding
394 int want_frame_data;
395
401 AVCodecParameters *par;
402 AVCodecContext *dec_ctx;
403 const AVCodec *dec;
404 AVFrame *decoded_frame;
405 AVPacket *pkt;
406
407 AVRational framerate_guessed;
408
409 int64_t prev_pkt_pts;
410 int64_t start; /* time when read started */
411 /* predicted dts of the next packet read for this stream or (when there are
412 * several frames in a packet) of the next frame in current packet (in AV_TIME_BASE units) */
413 int64_t next_dts;
414 int64_t first_dts;
415 int64_t dts;
416
417 int64_t next_pts;
418 int64_t pts;
419 int wrap_correction_done;
420
421 // the value of AVCodecParserContext.repeat_pict from the AVStream parser
422 // for the last packet returned from ifile_get_packet()
423 // -1 if unknown
424 // FIXME: this is a hack, the avstream parser should not be used
425 int last_pkt_repeat_pict;
426
427 int64_t filter_in_rescale_delta_last;
428
429 int64_t min_pts; /* pts with the smallest value in a current stream */
430 int64_t max_pts; /* pts with the higher value in a current stream */
431
432 // when forcing constant input framerate through -r,
433 // this contains the pts that will be given to the next decoded frame
434 int64_t cfr_next_pts;
435
436 int64_t nb_samples; /* number of samples in the last decoded audio frame before looping */
437
438 double ts_scale;
439 int saw_first_ts;
440 AVDictionary *decoder_opts;
441 AVRational framerate; /* framerate forced with -r */
442 int top_field_first;
443 int guess_layout_max;
444
445 int autorotate;
446
447 int fix_sub_duration;
448 struct { /* previous decoded subtitle and related variables */
449 int got_output;
450 int ret;
451 AVSubtitle subtitle;
452 } prev_sub;
453
454 struct sub2video {
455 int64_t last_pts;
456 int64_t end_pts;
457 AVFifo *sub_queue;
458 AVFrame *frame;
459 int w, h;
460 unsigned int initialize;
461 } sub2video;
462
463 /* decoded data from this stream goes into all those filters
464 * currently video and audio only */
465 InputFilter **filters;
466 int nb_filters;
467
468 int reinit_filters;
469
470 /* hwaccel options */
471 enum HWAccelID hwaccel_id;
472 enum AVHWDeviceType hwaccel_device_type;
473 char *hwaccel_device;
474 enum AVPixelFormat hwaccel_output_format;
475
476 int (*hwaccel_retrieve_data)(AVCodecContext *s, AVFrame *frame);
477 enum AVPixelFormat hwaccel_pix_fmt;
478
479 /* stats */
480 // combined size of all the packets read
481 uint64_t data_size;
482 /* number of packets successfully read for this stream */
483 uint64_t nb_packets;
484 // number of frames/samples retrieved from the decoder
485 uint64_t frames_decoded;
486 uint64_t samples_decoded;
487
488 int64_t *dts_buffer;
489 int nb_dts_buffer;
490
491 int got_output;
492} InputStream;
493
494 typedef struct LastFrameDuration {
495 int stream_idx;
496 int64_t duration;
497} LastFrameDuration;
498
499 typedef struct InputFile {
500 int index;
501
502 AVFormatContext *ctx;
503 int eof_reached; /* true if eof reached */
504 int eagain; /* true if last read attempt returned EAGAIN */
505 int64_t input_ts_offset;
506 int input_sync_ref;
510 int64_t start_time_effective;
511 int64_t ts_offset;
515 int64_t ts_offset_discont;
516 int64_t last_ts;
517 int64_t start_time; /* user-specified start time in AV_TIME_BASE or AV_NOPTS_VALUE */
518 int64_t recording_time;
519
520 /* streams that ffmpeg is aware of;
521 * there may be extra streams in ctx that are not mapped to an InputStream
522 * if new streams appear dynamically during demuxing */
523 InputStream **streams;
524 int nb_streams;
525
526 int rate_emu;
527 float readrate;
528 int accurate_seek;
529
530 /* when looping the input file, this queue is used by decoders to report
531 * the last frame duration back to the demuxer thread */
532 AVThreadMessageQueue *audio_duration_queue;
533 int audio_duration_queue_size;
534} InputFile;
535
536 enum forced_keyframes_const {
537 FKF_N,
538 FKF_N_FORCED,
539 FKF_PREV_FORCED_N,
540 FKF_PREV_FORCED_T,
541 FKF_T,
542 FKF_NB
543};
544
545#define ABORT_ON_FLAG_EMPTY_OUTPUT (1 << 0)
546#define ABORT_ON_FLAG_EMPTY_OUTPUT_STREAM (1 << 1)
547
548 enum EncStatsType {
549 ENC_STATS_LITERAL = 0,
550 ENC_STATS_FILE_IDX,
551 ENC_STATS_STREAM_IDX,
552 ENC_STATS_FRAME_NUM,
553 ENC_STATS_FRAME_NUM_IN,
554 ENC_STATS_TIMEBASE,
555 ENC_STATS_TIMEBASE_IN,
556 ENC_STATS_PTS,
557 ENC_STATS_PTS_TIME,
558 ENC_STATS_PTS_IN,
559 ENC_STATS_PTS_TIME_IN,
560 ENC_STATS_DTS,
561 ENC_STATS_DTS_TIME,
562 ENC_STATS_SAMPLE_NUM,
563 ENC_STATS_NB_SAMPLES,
564 ENC_STATS_PKT_SIZE,
565 ENC_STATS_BITRATE,
566 ENC_STATS_AVG_BITRATE,
567};
568
569 typedef struct EncStatsComponent {
570 enum EncStatsType type;
571
572 uint8_t *str;
573 size_t str_len;
574} EncStatsComponent;
575
576 typedef struct EncStats {
577 EncStatsComponent *components;
578 int nb_components;
579
580 AVIOContext *io;
581} EncStats;
582
583 extern const char *const forced_keyframes_const_names[];
584
585 typedef enum {
586 ENCODER_FINISHED = 1,
587 MUXER_FINISHED = 2,
588} OSTFinished ;
589
590 enum {
591 KF_FORCE_SOURCE = 1,
592 KF_FORCE_SOURCE_NO_DROP = 2,
593};
594
595 typedef struct KeyframeForceCtx {
596 int type;
597
598 int64_t ref_pts;
599
600 // timestamps of the forced keyframes, in AV_TIME_BASE_Q
601 int64_t *pts;
602 int nb_pts;
603 int index;
604
605 AVExpr *pexpr;
606 double expr_const_values[FKF_NB];
607
608 int dropped_keyframe;
609} KeyframeForceCtx;
610
611 typedef struct OutputStream {
612 const AVClass *clazz;
613
614 int file_index; /* file index */
615 int index; /* stream index in the output file */
616
617 /* input stream that is the source for this output stream;
618 * may be NULL for streams with no well-defined source, e.g.
619 * attachments or outputs from complex filtergraphs */
620 InputStream *ist;
621
622 AVStream *st; /* stream in the output file */
623 /* number of frames emitted by the video-encoding sync code */
624 int64_t vsync_frame_number;
625 /* predicted pts of the next frame to be encoded
626 * audio/video encoding only */
627 int64_t next_pts;
628 /* dts of the last packet sent to the muxing queue, in AV_TIME_BASE_Q */
629 int64_t last_mux_dts;
630 /* pts of the last frame received from the filters, in AV_TIME_BASE_Q */
631 int64_t last_filter_pts;
632
633 // timestamp from which the streamcopied streams should start,
634 // in AV_TIME_BASE_Q;
635 // everything before it should be discarded
636 int64_t ts_copy_start;
637
638 // the timebase of the packets sent to the muxer
639 AVRational mux_timebase;
640 AVRational enc_timebase;
641
642 AVCodecContext *enc_ctx;
643 AVFrame *filtered_frame;
644 AVFrame *last_frame;
645 AVFrame *sq_frame;
646 AVPacket *pkt;
647 int64_t last_dropped;
648 int64_t last_nb0_frames[3];
649
650 /* video only */
651 AVRational frame_rate;
652 AVRational max_frame_rate;
653 enum VideoSyncMethod vsync_method;
654 int is_cfr;
655 int force_fps;
656 int top_field_first;
657#if FFMPEG_ROTATION_METADATA
658 int rotate_overridden;
659#endif
660 int autoscale;
661 int bitexact;
662 int bits_per_raw_sample;
663#if FFMPEG_ROTATION_METADATA
664 double rotate_override_value;
665#endif
666
667 AVRational frame_aspect_ratio;
668
669 KeyframeForceCtx kf;
670
671 /* audio only */
672#if FFMPEG_OPT_MAP_CHANNEL
673 int *audio_channels_map; /* list of the channels id to pick from the source stream */
674 int audio_channels_mapped; /* number of channels in audio_channels_map */
675#endif
676
677 char *logfile_prefix;
678 FILE *logfile;
679
680 OutputFilter *filter;
681 char *avfilter;
682 char *filters;
683 char *filters_script;
684
685 AVDictionary *encoder_opts;
686 AVDictionary *sws_dict;
687 AVDictionary *swr_opts;
688 char *apad;
689 OSTFinished finished; /* no more packets should be written for this stream */
690 int unavailable; /* true if the steram is unavailable (possibly temporarily) */
691
692 // init_output_stream() has been called for this stream
693 // The encoder and the bitstream filters have been initialized and the stream
694 // parameters are set in the AVStream.
695 int initialized;
696
697 int inputs_done;
698
699 const char *attachment_filename;
700 int streamcopy_started;
701 int copy_initial_nonkeyframes;
702 int copy_prior_start;
703
704 int keep_pix_fmt;
705
706 /* stats */
707 // combined size of all the packets sent to the muxer
708 uint64_t data_size_mux;
709 // combined size of all the packets received from the encoder
710 uint64_t data_size_enc;
711 // number of packets send to the muxer
712 atomic_uint_least64_t packets_written;
713 // number of frames/samples sent to the encoder
714 uint64_t frames_encoded;
715 uint64_t samples_encoded;
716 // number of packets received from the encoder
717 uint64_t packets_encoded;
718
719 /* packet quality factor */
720 int quality;
721
722 /* packet picture type */
723 int pict_type;
724
725 /* frame encode sum of squared error values */
726 int64_t error[4];
727
728 int sq_idx_encode;
729 int sq_idx_mux;
730
731 EncStats enc_stats_pre;
732 EncStats enc_stats_post;
733
734 /*
735 * bool on whether this stream should be utilized for splitting
736 * subtitles utilizing fix_sub_duration at random access points.
737 */
738 unsigned int fix_sub_duration_heartbeat;
739} OutputStream;
740
741 typedef struct OutputFile {
742 const AVClass *clazz;
743
744 int index;
745
746 const AVOutputFormat *format;
747 const char *url;
748
749 OutputStream **streams;
750 int nb_streams;
751
752 SyncQueue *sq_encode;
753
754 int64_t recording_time;
755 int64_t start_time;
756
757 int shortest;
758 int bitexact;
759} OutputFile;
760
761 extern __thread InputFile **input_files;
762 extern __thread int nb_input_files;
763
764 extern __thread OutputFile **output_files;
765 extern __thread int nb_output_files;
766
767 extern __thread FilterGraph **filtergraphs;
768 extern __thread int nb_filtergraphs;
769
770 extern __thread char *vstats_filename;
771 extern __thread char *sdp_filename;
772
773 extern __thread float audio_drift_threshold;
774 extern __thread float dts_delta_threshold;
775 extern __thread float dts_error_threshold;
776
777 extern __thread enum VideoSyncMethod video_sync_method;
778 extern __thread float frame_drop_threshold;
779 extern __thread int do_benchmark;
780 extern __thread int do_benchmark_all;
781 extern __thread int do_hex_dump;
782 extern __thread int do_pkt_dump;
783 extern __thread int copy_ts;
784 extern __thread int start_at_zero;
785 extern __thread int copy_tb;
786 extern __thread int debug_ts;
787 extern __thread int exit_on_error;
788 extern __thread int abort_on_flags;
789 extern __thread int print_stats;
790 extern __thread int64_t stats_period;
791 extern __thread int qp_hist;
792 extern __thread int stdin_interaction;
793 extern __thread AVIOContext *progress_avio;
794 extern __thread float max_error_rate;
795
796 extern __thread char *filter_nbthreads;
797 extern __thread int filter_complex_nbthreads;
798 extern __thread int vstats_version;
799 extern __thread int auto_conversion_filters;
800
801 extern __thread const AVIOInterruptCB int_cb;
802
803 extern __thread HWDevice *filter_hw_device;
804
805 extern __thread unsigned nb_output_dumped;
806 extern __thread int main_ffmpeg_return_code;
807
808 extern __thread int ignore_unknown_streams;
809 extern __thread int copy_unknown_streams;
810
811 extern __thread int recast_media;
812
813#if FFMPEG_OPT_PSNR
814 extern __thread int do_psnr;
815#endif
816
817 void term_init(void);
818 void term_exit(void);
819
820 void show_usage(void);
821
822 void remove_avoptions(AVDictionary **a, AVDictionary *b);
823 void assert_avoptions(AVDictionary *m);
824
825 void assert_file_overwrite(const char *filename);
826 char *file_read(const char *filename);
827AVDictionary *strip_specifiers(const AVDictionary *dict);
828 const AVCodec *find_codec_or_die(void *logctx, const char *name,
829 enum AVMediaType type, int encoder);
830 int parse_and_set_vsync(const char *arg, int *vsync_var, int file_idx, int st_idx, int is_global);
831
832 int configure_filtergraph(FilterGraph *fg);
833 void check_filter_outputs(void);
834 int filtergraph_is_simple(FilterGraph *fg);
835 int init_simple_filtergraph(InputStream *ist, OutputStream *ost);
836 int init_complex_filtergraph(FilterGraph *fg);
837
838 void sub2video_update(InputStream *ist, int64_t heartbeat_pts, AVSubtitle *sub);
839
840 int ifilter_parameters_from_frame(InputFilter *ifilter, const AVFrame *frame);
841
842 int ffmpeg_parse_options(int argc, char **argv);
843
844 void enc_stats_write(OutputStream *ost, EncStats *es,
845 const AVFrame *frame, const AVPacket *pkt,
846 uint64_t frame_num);
847
848 HWDevice *hw_device_get_by_name(const char *name);
849 int hw_device_init_from_string(const char *arg, HWDevice **dev);
850 void hw_device_free_all(void);
851
852 int hw_device_setup_for_decode(InputStream *ist);
853 int hw_device_setup_for_encode(OutputStream *ost);
854 int hw_device_setup_for_filter(FilterGraph *fg);
855
856 int hwaccel_decode_init(AVCodecContext *avctx);
857
858/*
859 * Initialize muxing state for the given stream, should be called
860 * after the codec/streamcopy setup has been done.
861 *
862 * Open the muxer once all the streams have been initialized.
863 */
864 int of_stream_init(OutputFile *of, OutputStream *ost);
865 int of_write_trailer(OutputFile *of);
866 int of_open(const OptionsContext *o, const char *filename);
867 void of_close(OutputFile **pof);
868
869 void of_enc_stats_close(void);
870
871/*
872 * Send a single packet to the output, applying any bitstream filters
873 * associated with the output stream. This may result in any number
874 * of packets actually being written, depending on what bitstream
875 * filters are applied. The supplied packet is consumed and will be
876 * blank (as if newly-allocated) when this function returns.
877 *
878 * If eof is set, instead indicate EOF to all bitstream filters and
879 * therefore flush any delayed packets to the output. A blank packet
880 * must be supplied in this case.
881 */
882 void of_output_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int eof);
883int64_t of_filesize(OutputFile *of);
884
885 int ifile_open(const OptionsContext *o, const char *filename);
886 void ifile_close(InputFile **f);
887
898 int ifile_get_packet(InputFile *f, AVPacket **pkt);
899
900/* iterate over all input streams in all input files;
901 * pass NULL to start iteration */
902 InputStream *ist_iter(InputStream *prev);
903
904 extern const char * const opt_name_codec_names[];
905 extern const char * const opt_name_codec_tags[];
906 extern const char * const opt_name_frame_rates[];
907 extern const char * const opt_name_top_field_first[];
908
909 void set_report_callback(void (*callback)(int, float, float, int64_t, double, double, double));
910 void cancel_operation(long id);
911
912#endif /* FFTOOLS_FFMPEG_H */
Signal.h
fftools_cmdutils.h
dts_delta_threshold
__thread float dts_delta_threshold
Definition fftools_ffmpeg_opt.c:109
hw_device_setup_for_encode
int hw_device_setup_for_encode(OutputStream *ost)
Definition fftools_ffmpeg_hw.c:470
InputFile
struct InputFile InputFile
copy_tb
__thread int copy_tb
Definition fftools_ffmpeg_opt.c:120
HWAccelID
HWAccelID
Definition fftools_ffmpeg.h:118
HWACCEL_NONE
@ HWACCEL_NONE
Definition fftools_ffmpeg.h:119
HWACCEL_GENERIC
@ HWACCEL_GENERIC
Definition fftools_ffmpeg.h:121
HWACCEL_AUTO
@ HWACCEL_AUTO
Definition fftools_ffmpeg.h:120
ifilter_parameters_from_frame
int ifilter_parameters_from_frame(InputFilter *ifilter, const AVFrame *frame)
Definition fftools_ffmpeg_filter.c:1299
of_close
void of_close(OutputFile **pof)
Definition fftools_ffmpeg_mux.c:750
of_filesize
int64_t of_filesize(OutputFile *of)
Definition fftools_ffmpeg_mux.c:777
int_cb
__thread const AVIOInterruptCB int_cb
Definition fftools_ffmpeg.c:657
stats_period
__thread int64_t stats_period
Definition fftools_ffmpeg_opt.c:132
term_exit
void term_exit(void)
Definition fftools_ffmpeg.c:458
forced_keyframes_const_names
const char *const forced_keyframes_const_names[]
Definition fftools_ffmpeg_mux_init.c:2044
parse_and_set_vsync
int parse_and_set_vsync(const char *arg, int *vsync_var, int file_idx, int st_idx, int is_global)
Definition fftools_ffmpeg_opt.c:228
output_files
__thread OutputFile ** output_files
Definition fftools_ffmpeg.c:210
sdp_filename
__thread char * sdp_filename
Definition fftools_ffmpeg_opt.c:106
video_sync_method
__thread enum VideoSyncMethod video_sync_method
Definition fftools_ffmpeg_opt.c:112
opt_name_top_field_first
const char *const opt_name_top_field_first[]
Definition fftools_ffmpeg_opt.c:101
of_open
int of_open(const OptionsContext *o, const char *filename)
Definition fftools_ffmpeg_mux_init.c:2221
ifile_close
void ifile_close(InputFile **f)
Definition fftools_ffmpeg_demux.c:496
print_stats
__thread int print_stats
Definition fftools_ffmpeg_opt.c:124
filter_complex_nbthreads
__thread int filter_complex_nbthreads
Definition fftools_ffmpeg_opt.c:129
abort_on_flags
__thread int abort_on_flags
Definition fftools_ffmpeg_opt.c:123
opt_name_codec_tags
const char *const opt_name_codec_tags[]
Definition fftools_ffmpeg_opt.c:100
nb_input_files
__thread int nb_input_files
Definition fftools_ffmpeg.c:208
max_error_rate
__thread float max_error_rate
Definition fftools_ffmpeg_opt.c:127
recast_media
__thread int recast_media
Definition fftools_ffmpeg_opt.c:142
nb_output_files
__thread int nb_output_files
Definition fftools_ffmpeg.c:211
copy_ts
__thread int copy_ts
Definition fftools_ffmpeg_opt.c:118
stdin_interaction
__thread int stdin_interaction
Definition fftools_ffmpeg_opt.c:126
set_report_callback
void set_report_callback(void(*callback)(int, float, float, int64_t, double, double, double))
Definition fftools_ffmpeg.c:4362
dts_error_threshold
__thread float dts_error_threshold
Definition fftools_ffmpeg_opt.c:110
hwaccel_decode_init
int hwaccel_decode_init(AVCodecContext *avctx)
Definition fftools_ffmpeg_hw.c:567
opt_name_frame_rates
const char *const opt_name_frame_rates[]
Definition fftools_ffmpeg_opt.c:99
hw_device_get_by_name
HWDevice * hw_device_get_by_name(const char *name)
Definition fftools_ffmpeg_hw.c:69
OSTFinished
OSTFinished
Definition fftools_ffmpeg.h:585
ENCODER_FINISHED
@ ENCODER_FINISHED
Definition fftools_ffmpeg.h:586
MUXER_FINISHED
@ MUXER_FINISHED
Definition fftools_ffmpeg.h:587
show_usage
void show_usage(void)
Definition fftools_ffmpeg_opt.c:1252
copy_unknown_streams
__thread int copy_unknown_streams
Definition fftools_ffmpeg_opt.c:141
of_output_packet
void of_output_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int eof)
Definition fftools_ffmpeg_mux.c:359
ifile_get_packet
int ifile_get_packet(InputFile *f, AVPacket **pkt)
Definition fftools_ffmpeg_demux.c:427
filter_nbthreads
__thread char * filter_nbthreads
Definition fftools_ffmpeg_opt.c:128
strip_specifiers
AVDictionary * strip_specifiers(const AVDictionary *dict)
Definition fftools_ffmpeg_opt.c:211
do_benchmark
__thread int do_benchmark
Definition fftools_ffmpeg_opt.c:114
frame_drop_threshold
__thread float frame_drop_threshold
Definition fftools_ffmpeg_opt.c:113
vstats_version
__thread int vstats_version
Definition fftools_ffmpeg_opt.c:130
vstats_filename
__thread char * vstats_filename
Definition fftools_ffmpeg_opt.c:105
hw_device_setup_for_decode
int hw_device_setup_for_decode(InputStream *ist)
Definition fftools_ffmpeg_hw.c:342
hw_device_free_all
void hw_device_free_all(void)
Definition fftools_ffmpeg_hw.c:313
hw_device_setup_for_filter
int hw_device_setup_for_filter(FilterGraph *fg)
Definition fftools_ffmpeg_hw.c:576
init_simple_filtergraph
int init_simple_filtergraph(InputStream *ist, OutputStream *ost)
Definition fftools_ffmpeg_filter.c:203
audio_drift_threshold
__thread float audio_drift_threshold
Definition fftools_ffmpeg_opt.c:108
cancel_operation
void cancel_operation(long id)
Definition fftools_ffmpeg.c:4367
progress_avio
__thread AVIOContext * progress_avio
Definition fftools_ffmpeg.c:205
input_files
__thread InputFile ** input_files
Definition fftools_ffmpeg.c:207
of_enc_stats_close
void of_enc_stats_close(void)
Definition fftools_ffmpeg_mux_init.c:232
sub2video_update
void sub2video_update(InputStream *ist, int64_t heartbeat_pts, AVSubtitle *sub)
Definition fftools_ffmpeg.c:362
of_write_trailer
int of_write_trailer(OutputFile *of)
Definition fftools_ffmpeg_mux.c:634
do_benchmark_all
__thread int do_benchmark_all
Definition fftools_ffmpeg_opt.c:115
filtergraphs
__thread FilterGraph ** filtergraphs
Definition fftools_ffmpeg.c:213
start_at_zero
__thread int start_at_zero
Definition fftools_ffmpeg_opt.c:119
KF_FORCE_SOURCE
@ KF_FORCE_SOURCE
Definition fftools_ffmpeg.h:591
KF_FORCE_SOURCE_NO_DROP
@ KF_FORCE_SOURCE_NO_DROP
Definition fftools_ffmpeg.h:592
nb_output_dumped
__thread unsigned nb_output_dumped
Definition fftools_ffmpeg.c:202
assert_file_overwrite
void assert_file_overwrite(const char *filename)
Definition fftools_ffmpeg_opt.c:700
main_ffmpeg_return_code
__thread int main_ffmpeg_return_code
Definition fftools_ffmpeg.c:468
forced_keyframes_const
forced_keyframes_const
Definition fftools_ffmpeg.h:536
FKF_NB
@ FKF_NB
Definition fftools_ffmpeg.h:542
FKF_PREV_FORCED_N
@ FKF_PREV_FORCED_N
Definition fftools_ffmpeg.h:539
FKF_T
@ FKF_T
Definition fftools_ffmpeg.h:541
FKF_PREV_FORCED_T
@ FKF_PREV_FORCED_T
Definition fftools_ffmpeg.h:540
FKF_N_FORCED
@ FKF_N_FORCED
Definition fftools_ffmpeg.h:538
FKF_N
@ FKF_N
Definition fftools_ffmpeg.h:537
of_stream_init
int of_stream_init(OutputFile *of, OutputStream *ost)
Definition fftools_ffmpeg_mux.c:613
exit_on_error
__thread int exit_on_error
Definition fftools_ffmpeg_opt.c:122
remove_avoptions
void remove_avoptions(AVDictionary **a, AVDictionary *b)
Definition fftools_ffmpeg.c:779
ifile_open
int ifile_open(const OptionsContext *o, const char *filename)
Definition fftools_ffmpeg_demux.c:859
ffmpeg_parse_options
int ffmpeg_parse_options(int argc, char **argv)
Definition fftools_ffmpeg_opt.c:1303
VideoSyncMethod
VideoSyncMethod
Definition fftools_ffmpeg.h:107
VSYNC_VFR
@ VSYNC_VFR
Definition fftools_ffmpeg.h:111
VSYNC_AUTO
@ VSYNC_AUTO
Definition fftools_ffmpeg.h:108
VSYNC_PASSTHROUGH
@ VSYNC_PASSTHROUGH
Definition fftools_ffmpeg.h:109
VSYNC_CFR
@ VSYNC_CFR
Definition fftools_ffmpeg.h:110
VSYNC_DROP
@ VSYNC_DROP
Definition fftools_ffmpeg.h:113
VSYNC_VSCFR
@ VSYNC_VSCFR
Definition fftools_ffmpeg.h:112
filter_hw_device
__thread HWDevice * filter_hw_device
Definition fftools_ffmpeg_opt.c:103
find_codec_or_die
const AVCodec * find_codec_or_die(void *logctx, const char *name, enum AVMediaType type, int encoder)
Definition fftools_ffmpeg_opt.c:670
nb_filtergraphs
__thread int nb_filtergraphs
Definition fftools_ffmpeg.c:214
term_init
void term_init(void)
Definition fftools_ffmpeg.c:535
qp_hist
__thread int qp_hist
Definition fftools_ffmpeg_opt.c:125
filtergraph_is_simple
int filtergraph_is_simple(FilterGraph *fg)
Definition fftools_ffmpeg_filter.c:1331
hw_device_init_from_string
int hw_device_init_from_string(const char *arg, HWDevice **dev)
Definition fftools_ffmpeg_hw.c:119
check_filter_outputs
void check_filter_outputs(void)
Definition fftools_ffmpeg_filter.c:822
opt_name_codec_names
const char *const opt_name_codec_names[]
Definition fftools_ffmpeg_opt.c:98
configure_filtergraph
int configure_filtergraph(FilterGraph *fg)
Definition fftools_ffmpeg_filter.c:1136
do_psnr
__thread int do_psnr
Definition fftools_ffmpeg_opt.c:138
do_hex_dump
__thread int do_hex_dump
Definition fftools_ffmpeg_opt.c:116
do_pkt_dump
__thread int do_pkt_dump
Definition fftools_ffmpeg_opt.c:117
debug_ts
__thread int debug_ts
Definition fftools_ffmpeg_opt.c:121
ist_iter
InputStream * ist_iter(InputStream *prev)
Definition fftools_ffmpeg.c:763
auto_conversion_filters
__thread int auto_conversion_filters
Definition fftools_ffmpeg_opt.c:131
file_read
char * file_read(const char *filename)
Definition fftools_ffmpeg_opt.c:743
assert_avoptions
void assert_avoptions(AVDictionary *m)
Definition fftools_ffmpeg.c:788
InputStream
struct InputStream InputStream
ignore_unknown_streams
__thread int ignore_unknown_streams
Definition fftools_ffmpeg_opt.c:140
EncStatsType
EncStatsType
Definition fftools_ffmpeg.h:548
ENC_STATS_STREAM_IDX
@ ENC_STATS_STREAM_IDX
Definition fftools_ffmpeg.h:551
ENC_STATS_PTS_TIME
@ ENC_STATS_PTS_TIME
Definition fftools_ffmpeg.h:557
ENC_STATS_SAMPLE_NUM
@ ENC_STATS_SAMPLE_NUM
Definition fftools_ffmpeg.h:562
ENC_STATS_AVG_BITRATE
@ ENC_STATS_AVG_BITRATE
Definition fftools_ffmpeg.h:566
ENC_STATS_LITERAL
@ ENC_STATS_LITERAL
Definition fftools_ffmpeg.h:549
ENC_STATS_TIMEBASE
@ ENC_STATS_TIMEBASE
Definition fftools_ffmpeg.h:554
ENC_STATS_DTS_TIME
@ ENC_STATS_DTS_TIME
Definition fftools_ffmpeg.h:561
ENC_STATS_PKT_SIZE
@ ENC_STATS_PKT_SIZE
Definition fftools_ffmpeg.h:564
ENC_STATS_FRAME_NUM_IN
@ ENC_STATS_FRAME_NUM_IN
Definition fftools_ffmpeg.h:553
ENC_STATS_PTS
@ ENC_STATS_PTS
Definition fftools_ffmpeg.h:556
ENC_STATS_FRAME_NUM
@ ENC_STATS_FRAME_NUM
Definition fftools_ffmpeg.h:552
ENC_STATS_FILE_IDX
@ ENC_STATS_FILE_IDX
Definition fftools_ffmpeg.h:550
ENC_STATS_DTS
@ ENC_STATS_DTS
Definition fftools_ffmpeg.h:560
ENC_STATS_BITRATE
@ ENC_STATS_BITRATE
Definition fftools_ffmpeg.h:565
ENC_STATS_PTS_IN
@ ENC_STATS_PTS_IN
Definition fftools_ffmpeg.h:558
ENC_STATS_TIMEBASE_IN
@ ENC_STATS_TIMEBASE_IN
Definition fftools_ffmpeg.h:555
ENC_STATS_PTS_TIME_IN
@ ENC_STATS_PTS_TIME_IN
Definition fftools_ffmpeg.h:559
ENC_STATS_NB_SAMPLES
@ ENC_STATS_NB_SAMPLES
Definition fftools_ffmpeg.h:563
enc_stats_write
void enc_stats_write(OutputStream *ost, EncStats *es, const AVFrame *frame, const AVPacket *pkt, uint64_t frame_num)
Definition fftools_ffmpeg.c:970
init_complex_filtergraph
int init_complex_filtergraph(FilterGraph *fg)
Definition fftools_ffmpeg_filter.c:491
int
int
Definition fftools_ffmpeg_filter.c:180
fftools_sync_queue.h
AudioChannelMap
Definition fftools_ffmpeg.h:139
AudioChannelMap::ofile_idx
int ofile_idx
Definition fftools_ffmpeg.h:141
AudioChannelMap::channel_idx
int channel_idx
Definition fftools_ffmpeg.h:140
EncStatsComponent
Definition fftools_ffmpeg.h:569
EncStatsComponent::type
enum EncStatsType type
Definition fftools_ffmpeg.h:570
EncStatsComponent::str
uint8_t * str
Definition fftools_ffmpeg.h:572
EncStatsComponent::str_len
size_t str_len
Definition fftools_ffmpeg.h:573
EncStats
Definition fftools_ffmpeg.h:576
EncStats::nb_components
int nb_components
Definition fftools_ffmpeg.h:578
EncStats::io
AVIOContext * io
Definition fftools_ffmpeg.h:580
EncStats::components
EncStatsComponent * components
Definition fftools_ffmpeg.h:577
FilterGraph
Definition fftools_ffmpeg.h:368
FilterGraph::is_meta
int is_meta
Definition fftools_ffmpeg.h:376
FilterGraph::index
int index
Definition fftools_ffmpeg.h:369
FilterGraph::reconfiguration
int reconfiguration
Definition fftools_ffmpeg.h:373
FilterGraph::nb_outputs
int nb_outputs
Definition fftools_ffmpeg.h:381
FilterGraph::outputs
OutputFilter ** outputs
Definition fftools_ffmpeg.h:380
FilterGraph::nb_inputs
int nb_inputs
Definition fftools_ffmpeg.h:379
FilterGraph::graph_desc
const char * graph_desc
Definition fftools_ffmpeg.h:370
FilterGraph::graph
AVFilterGraph * graph
Definition fftools_ffmpeg.h:372
FilterGraph::inputs
InputFilter ** inputs
Definition fftools_ffmpeg.h:378
HWDevice
Definition fftools_ffmpeg.h:124
HWDevice::device_ref
AVBufferRef * device_ref
Definition fftools_ffmpeg.h:127
HWDevice::type
enum AVHWDeviceType type
Definition fftools_ffmpeg.h:126
HWDevice::name
const char * name
Definition fftools_ffmpeg.h:125
InputFile
Definition fftools_ffmpeg.h:499
InputFile::eagain
int eagain
Definition fftools_ffmpeg.h:504
InputFile::ts_offset
int64_t ts_offset
Definition fftools_ffmpeg.h:511
InputFile::ts_offset_discont
int64_t ts_offset_discont
Definition fftools_ffmpeg.h:515
InputFile::accurate_seek
int accurate_seek
Definition fftools_ffmpeg.h:528
InputFile::ctx
AVFormatContext * ctx
Definition fftools_ffmpeg.h:502
InputFile::rate_emu
int rate_emu
Definition fftools_ffmpeg.h:526
InputFile::input_ts_offset
int64_t input_ts_offset
Definition fftools_ffmpeg.h:505
InputFile::index
int index
Definition fftools_ffmpeg.h:500
InputFile::audio_duration_queue
AVThreadMessageQueue * audio_duration_queue
Definition fftools_ffmpeg.h:532
InputFile::recording_time
int64_t recording_time
Definition fftools_ffmpeg.h:518
InputFile::input_sync_ref
int input_sync_ref
Definition fftools_ffmpeg.h:506
InputFile::eof_reached
int eof_reached
Definition fftools_ffmpeg.h:503
InputFile::last_ts
int64_t last_ts
Definition fftools_ffmpeg.h:516
InputFile::start_time_effective
int64_t start_time_effective
Definition fftools_ffmpeg.h:510
InputFile::audio_duration_queue_size
int audio_duration_queue_size
Definition fftools_ffmpeg.h:533
InputFile::streams
InputStream ** streams
Definition fftools_ffmpeg.h:523
InputFile::readrate
float readrate
Definition fftools_ffmpeg.h:527
InputFile::start_time
int64_t start_time
Definition fftools_ffmpeg.h:517
InputFile::nb_streams
int nb_streams
Definition fftools_ffmpeg.h:524
InputFilter
Definition fftools_ffmpeg.h:320
InputFilter::hw_frames_ctx
AVBufferRef * hw_frames_ctx
Definition fftools_ffmpeg.h:338
InputFilter::name
uint8_t * name
Definition fftools_ffmpeg.h:324
InputFilter::sample_rate
int sample_rate
Definition fftools_ffmpeg.h:335
InputFilter::height
int height
Definition fftools_ffmpeg.h:332
InputFilter::ist
struct InputStream * ist
Definition fftools_ffmpeg.h:322
InputFilter::displaymatrix
int32_t * displaymatrix
Definition fftools_ffmpeg.h:339
InputFilter::frame_queue
AVFifo * frame_queue
Definition fftools_ffmpeg.h:327
InputFilter::filter
AVFilterContext * filter
Definition fftools_ffmpeg.h:321
InputFilter::ch_layout
AVChannelLayout ch_layout
Definition fftools_ffmpeg.h:336
InputFilter::type
enum AVMediaType type
Definition fftools_ffmpeg.h:325
InputFilter::graph
struct FilterGraph * graph
Definition fftools_ffmpeg.h:323
InputFilter::sample_aspect_ratio
AVRational sample_aspect_ratio
Definition fftools_ffmpeg.h:333
InputFilter::eof
int eof
Definition fftools_ffmpeg.h:341
InputFilter::format
int format
Definition fftools_ffmpeg.h:330
InputFilter::width
int width
Definition fftools_ffmpeg.h:332
InputStream::sub2video
Definition fftools_ffmpeg.h:454
InputStream::sub2video::w
int w
Definition fftools_ffmpeg.h:459
InputStream::sub2video::frame
AVFrame * frame
Definition fftools_ffmpeg.h:458
InputStream::sub2video::initialize
unsigned int initialize
marks if sub2video_update should force an initialization
Definition fftools_ffmpeg.h:460
InputStream::sub2video::sub_queue
AVFifo * sub_queue
queue of AVSubtitle* before filter init
Definition fftools_ffmpeg.h:457
InputStream::sub2video::last_pts
int64_t last_pts
Definition fftools_ffmpeg.h:455
InputStream::sub2video::end_pts
int64_t end_pts
Definition fftools_ffmpeg.h:456
InputStream::sub2video::h
int h
Definition fftools_ffmpeg.h:459
InputStream
Definition fftools_ffmpeg.h:384
InputStream::hwaccel_pix_fmt
enum AVPixelFormat hwaccel_pix_fmt
Definition fftools_ffmpeg.h:477
InputStream::saw_first_ts
int saw_first_ts
Definition fftools_ffmpeg.h:439
InputStream::ts_scale
double ts_scale
Definition fftools_ffmpeg.h:438
InputStream::decoded_frame
AVFrame * decoded_frame
Definition fftools_ffmpeg.h:404
InputStream::dts_buffer
int64_t * dts_buffer
Definition fftools_ffmpeg.h:488
InputStream::dts
int64_t dts
dts of the last packet read for this stream (in AV_TIME_BASE units)
Definition fftools_ffmpeg.h:415
InputStream::fix_sub_duration
int fix_sub_duration
Definition fftools_ffmpeg.h:447
InputStream::hwaccel_output_format
enum AVPixelFormat hwaccel_output_format
Definition fftools_ffmpeg.h:474
InputStream::cfr_next_pts
int64_t cfr_next_pts
Definition fftools_ffmpeg.h:434
InputStream::want_frame_data
int want_frame_data
Definition fftools_ffmpeg.h:394
InputStream::got_output
int got_output
Definition fftools_ffmpeg.h:449
InputStream::nb_dts_buffer
int nb_dts_buffer
Definition fftools_ffmpeg.h:489
InputStream::dec_ctx
AVCodecContext * dec_ctx
Definition fftools_ffmpeg.h:402
InputStream::pts
int64_t pts
current pts of the decoded frame (in AV_TIME_BASE units)
Definition fftools_ffmpeg.h:418
InputStream::start
int64_t start
Definition fftools_ffmpeg.h:410
InputStream::ret
int ret
Definition fftools_ffmpeg.h:450
InputStream::hwaccel_id
enum HWAccelID hwaccel_id
Definition fftools_ffmpeg.h:471
InputStream::processing_needed
int processing_needed
Definition fftools_ffmpeg.h:392
InputStream::data_size
uint64_t data_size
Definition fftools_ffmpeg.h:481
InputStream::nb_filters
int nb_filters
Definition fftools_ffmpeg.h:466
InputStream::filter_in_rescale_delta_last
int64_t filter_in_rescale_delta_last
Definition fftools_ffmpeg.h:427
InputStream::next_dts
int64_t next_dts
Definition fftools_ffmpeg.h:413
InputStream::reinit_filters
int reinit_filters
Definition fftools_ffmpeg.h:468
InputStream::user_set_discard
int user_set_discard
Definition fftools_ffmpeg.h:388
InputStream::par
AVCodecParameters * par
Definition fftools_ffmpeg.h:401
InputStream::wrap_correction_done
int wrap_correction_done
Definition fftools_ffmpeg.h:419
InputStream::max_pts
int64_t max_pts
Definition fftools_ffmpeg.h:430
InputStream::guess_layout_max
int guess_layout_max
Definition fftools_ffmpeg.h:443
InputStream::pkt
AVPacket * pkt
Definition fftools_ffmpeg.h:405
InputStream::first_dts
int64_t first_dts
dts of the first packet read for this stream (in AV_TIME_BASE units)
Definition fftools_ffmpeg.h:414
InputStream::samples_decoded
uint64_t samples_decoded
Definition fftools_ffmpeg.h:486
InputStream::last_pkt_repeat_pict
int last_pkt_repeat_pict
Definition fftools_ffmpeg.h:425
InputStream::next_pts
int64_t next_pts
synthetic pts for the next decode frame (in AV_TIME_BASE units)
Definition fftools_ffmpeg.h:417
InputStream::top_field_first
int top_field_first
Definition fftools_ffmpeg.h:442
InputStream::autorotate
int autorotate
Definition fftools_ffmpeg.h:445
InputStream::prev_sub
struct InputStream::@3 prev_sub
InputStream::discard
int discard
Definition fftools_ffmpeg.h:387
InputStream::frames_decoded
uint64_t frames_decoded
Definition fftools_ffmpeg.h:485
InputStream::decoding_needed
int decoding_needed
Definition fftools_ffmpeg.h:389
InputStream::st
AVStream * st
Definition fftools_ffmpeg.h:386
InputStream::file_index
int file_index
Definition fftools_ffmpeg.h:385
InputStream::filters
InputFilter ** filters
Definition fftools_ffmpeg.h:465
InputStream::hwaccel_retrieve_data
int(* hwaccel_retrieve_data)(AVCodecContext *s, AVFrame *frame)
Definition fftools_ffmpeg.h:476
InputStream::nb_packets
uint64_t nb_packets
Definition fftools_ffmpeg.h:483
InputStream::subtitle
AVSubtitle subtitle
Definition fftools_ffmpeg.h:451
InputStream::hwaccel_device
char * hwaccel_device
Definition fftools_ffmpeg.h:473
InputStream::framerate_guessed
AVRational framerate_guessed
Definition fftools_ffmpeg.h:407
InputStream::prev_pkt_pts
int64_t prev_pkt_pts
Definition fftools_ffmpeg.h:409
InputStream::decoder_opts
AVDictionary * decoder_opts
Definition fftools_ffmpeg.h:440
InputStream::min_pts
int64_t min_pts
Definition fftools_ffmpeg.h:429
InputStream::dec
const AVCodec * dec
Definition fftools_ffmpeg.h:403
InputStream::hwaccel_device_type
enum AVHWDeviceType hwaccel_device_type
Definition fftools_ffmpeg.h:472
InputStream::nb_samples
int64_t nb_samples
Definition fftools_ffmpeg.h:436
InputStream::framerate
AVRational framerate
Definition fftools_ffmpeg.h:441
KeyframeForceCtx
Definition fftools_ffmpeg.h:595
KeyframeForceCtx::pts
int64_t * pts
Definition fftools_ffmpeg.h:601
KeyframeForceCtx::ref_pts
int64_t ref_pts
Definition fftools_ffmpeg.h:598
KeyframeForceCtx::expr_const_values
double expr_const_values[FKF_NB]
Definition fftools_ffmpeg.h:606
KeyframeForceCtx::index
int index
Definition fftools_ffmpeg.h:603
KeyframeForceCtx::dropped_keyframe
int dropped_keyframe
Definition fftools_ffmpeg.h:608
KeyframeForceCtx::pexpr
AVExpr * pexpr
Definition fftools_ffmpeg.h:605
KeyframeForceCtx::type
int type
Definition fftools_ffmpeg.h:596
KeyframeForceCtx::nb_pts
int nb_pts
Definition fftools_ffmpeg.h:602
LastFrameDuration
Definition fftools_ffmpeg.h:494
LastFrameDuration::stream_idx
int stream_idx
Definition fftools_ffmpeg.h:495
LastFrameDuration::duration
int64_t duration
Definition fftools_ffmpeg.h:496
OptionGroup
Definition fftools_cmdutils.h:299
OptionsContext
Definition fftools_ffmpeg.h:145
OptionsContext::fps_mode
SpecifierOpt * fps_mode
Definition fftools_ffmpeg.h:238
OptionsContext::nb_codec_tags
int nb_codec_tags
Definition fftools_ffmpeg.h:231
OptionsContext::metadata_map
SpecifierOpt * metadata_map
Definition fftools_ffmpeg.h:260
OptionsContext::nb_pass
int nb_pass
Definition fftools_ffmpeg.h:281
OptionsContext::nb_copy_initial_nonkeyframes
int nb_copy_initial_nonkeyframes
Definition fftools_ffmpeg.h:265
OptionsContext::mux_preload
float mux_preload
Definition fftools_ffmpeg.h:209
OptionsContext::frame_pix_fmts
SpecifierOpt * frame_pix_fmts
Definition fftools_ffmpeg.h:168
OptionsContext::dump_attachment
SpecifierOpt * dump_attachment
Definition fftools_ffmpeg.h:183
OptionsContext::autoscale
SpecifierOpt * autoscale
Definition fftools_ffmpeg.h:302
OptionsContext::nb_chroma_intra_matrices
int nb_chroma_intra_matrices
Definition fftools_ffmpeg.h:257
OptionsContext::nb_reinit_filters
int nb_reinit_filters
Definition fftools_ffmpeg.h:273
OptionsContext::nb_bits_per_raw_sample
int nb_bits_per_raw_sample
Definition fftools_ffmpeg.h:305
OptionsContext::nb_stream_maps
int nb_stream_maps
Definition fftools_ffmpeg.h:196
OptionsContext::nb_muxing_queue_data_threshold
int nb_muxing_queue_data_threshold
Definition fftools_ffmpeg.h:287
OptionsContext::nb_max_frame_rates
int nb_max_frame_rates
Definition fftools_ffmpeg.h:165
OptionsContext::frame_aspect_ratios
SpecifierOpt * frame_aspect_ratios
Definition fftools_ffmpeg.h:242
OptionsContext::pass
SpecifierOpt * pass
Definition fftools_ffmpeg.h:280
OptionsContext::bitexact
int bitexact
Definition fftools_ffmpeg.h:213
OptionsContext::filter_scripts
SpecifierOpt * filter_scripts
Definition fftools_ffmpeg.h:270
OptionsContext::nb_mux_stats
int nb_mux_stats
Definition fftools_ffmpeg.h:311
OptionsContext::copy_initial_nonkeyframes
SpecifierOpt * copy_initial_nonkeyframes
Definition fftools_ffmpeg.h:264
OptionsContext::guess_layout_max
SpecifierOpt * guess_layout_max
Definition fftools_ffmpeg.h:288
OptionsContext::start_time
int64_t start_time
Definition fftools_ffmpeg.h:149
OptionsContext::format
const char * format
Definition fftools_ffmpeg.h:152
OptionsContext::nb_streamid_map
int nb_streamid_map
Definition fftools_ffmpeg.h:222
OptionsContext::enc_time_bases
SpecifierOpt * enc_time_bases
Definition fftools_ffmpeg.h:300
OptionsContext::max_frame_rates
SpecifierOpt * max_frame_rates
Definition fftools_ffmpeg.h:164
OptionsContext::input_ts_offset
int64_t input_ts_offset
Definition fftools_ffmpeg.h:172
OptionsContext::audio_sample_rate
SpecifierOpt * audio_sample_rate
Definition fftools_ffmpeg.h:160
OptionsContext::nb_audio_channel_maps
int nb_audio_channel_maps
Definition fftools_ffmpeg.h:199
OptionsContext::rate_emu
int rate_emu
Definition fftools_ffmpeg.h:174
OptionsContext::nb_frame_rates
int nb_frame_rates
Definition fftools_ffmpeg.h:163
OptionsContext::nb_passlogfiles
int nb_passlogfiles
Definition fftools_ffmpeg.h:283
OptionsContext::nb_time_bases
int nb_time_bases
Definition fftools_ffmpeg.h:299
OptionsContext::nb_attachments
int nb_attachments
Definition fftools_ffmpeg.h:202
OptionsContext::max_frames
SpecifierOpt * max_frames
Definition fftools_ffmpeg.h:226
OptionsContext::nb_intra_matrices
int nb_intra_matrices
Definition fftools_ffmpeg.h:253
OptionsContext::input_sync_ref
int input_sync_ref
Definition fftools_ffmpeg.h:178
OptionsContext::nb_enc_stats_post_fmt
int nb_enc_stats_post_fmt
Definition fftools_ffmpeg.h:315
OptionsContext::nb_hwaccel_devices
int nb_hwaccel_devices
Definition fftools_ffmpeg.h:188
OptionsContext::nb_codec_names
int nb_codec_names
Definition fftools_ffmpeg.h:155
OptionsContext::stream_maps
StreamMap * stream_maps
Definition fftools_ffmpeg.h:195
OptionsContext::frame_sizes
SpecifierOpt * frame_sizes
Definition fftools_ffmpeg.h:166
OptionsContext::muxing_queue_data_threshold
SpecifierOpt * muxing_queue_data_threshold
Definition fftools_ffmpeg.h:286
OptionsContext::display_hflips
SpecifierOpt * display_hflips
Definition fftools_ffmpeg.h:246
OptionsContext::discard
SpecifierOpt * discard
Definition fftools_ffmpeg.h:292
OptionsContext::forced_key_frames
SpecifierOpt * forced_key_frames
Definition fftools_ffmpeg.h:236
OptionsContext::nb_max_frames
int nb_max_frames
Definition fftools_ffmpeg.h:227
OptionsContext::nb_audio_ch_layouts
int nb_audio_ch_layouts
Definition fftools_ffmpeg.h:157
OptionsContext::nb_metadata
int nb_metadata
Definition fftools_ffmpeg.h:225
OptionsContext::nb_rc_overrides
int nb_rc_overrides
Definition fftools_ffmpeg.h:251
OptionsContext::hwaccel_devices
SpecifierOpt * hwaccel_devices
Definition fftools_ffmpeg.h:187
OptionsContext::nb_discard
int nb_discard
Definition fftools_ffmpeg.h:293
OptionsContext::accurate_seek
int accurate_seek
Definition fftools_ffmpeg.h:176
OptionsContext::nb_display_hflips
int nb_display_hflips
Definition fftools_ffmpeg.h:247
OptionsContext::nb_enc_stats_post
int nb_enc_stats_post
Definition fftools_ffmpeg.h:309
OptionsContext::filters
SpecifierOpt * filters
Definition fftools_ffmpeg.h:268
OptionsContext::nb_top_field_first
int nb_top_field_first
Definition fftools_ffmpeg.h:259
OptionsContext::readrate
float readrate
Definition fftools_ffmpeg.h:175
OptionsContext::nb_autorotate
int nb_autorotate
Definition fftools_ffmpeg.h:192
OptionsContext::find_stream_info
int find_stream_info
Definition fftools_ffmpeg.h:179
OptionsContext::metadata
SpecifierOpt * metadata
Definition fftools_ffmpeg.h:224
OptionsContext::nb_canvas_sizes
int nb_canvas_sizes
Definition fftools_ffmpeg.h:279
OptionsContext::nb_frame_sizes
int nb_frame_sizes
Definition fftools_ffmpeg.h:167
OptionsContext::enc_stats_pre
SpecifierOpt * enc_stats_pre
Definition fftools_ffmpeg.h:306
OptionsContext::autorotate
SpecifierOpt * autorotate
Definition fftools_ffmpeg.h:191
OptionsContext::nb_dump_attachment
int nb_dump_attachment
Definition fftools_ffmpeg.h:184
OptionsContext::recording_time
int64_t recording_time
Definition fftools_ffmpeg.h:206
OptionsContext::disposition
SpecifierOpt * disposition
Definition fftools_ffmpeg.h:294
OptionsContext::enc_stats_post
SpecifierOpt * enc_stats_post
Definition fftools_ffmpeg.h:308
OptionsContext::nb_frame_aspect_ratios
int nb_frame_aspect_ratios
Definition fftools_ffmpeg.h:243
OptionsContext::fix_sub_duration_heartbeat
SpecifierOpt * fix_sub_duration_heartbeat
Definition fftools_ffmpeg.h:276
OptionsContext::nb_fix_sub_duration
int nb_fix_sub_duration
Definition fftools_ffmpeg.h:275
OptionsContext::nb_forced_key_frames
int nb_forced_key_frames
Definition fftools_ffmpeg.h:237
OptionsContext::nb_metadata_map
int nb_metadata_map
Definition fftools_ffmpeg.h:261
OptionsContext::nb_disposition
int nb_disposition
Definition fftools_ffmpeg.h:295
OptionsContext::nb_fps_mode
int nb_fps_mode
Definition fftools_ffmpeg.h:239
OptionsContext::shortest_buf_duration
float shortest_buf_duration
Definition fftools_ffmpeg.h:211
OptionsContext::nb_mux_stats_fmt
int nb_mux_stats_fmt
Definition fftools_ffmpeg.h:317
OptionsContext::nb_audio_channels
int nb_audio_channels
Definition fftools_ffmpeg.h:159
OptionsContext::nb_display_vflips
int nb_display_vflips
Definition fftools_ffmpeg.h:249
OptionsContext::nb_apad
int nb_apad
Definition fftools_ffmpeg.h:291
OptionsContext::sample_fmts
SpecifierOpt * sample_fmts
Definition fftools_ffmpeg.h:232
OptionsContext::nb_enc_stats_pre
int nb_enc_stats_pre
Definition fftools_ffmpeg.h:307
OptionsContext::audio_channels
SpecifierOpt * audio_channels
Definition fftools_ffmpeg.h:158
OptionsContext::codec_names
SpecifierOpt * codec_names
Definition fftools_ffmpeg.h:154
OptionsContext::start_time_eof
int64_t start_time_eof
Definition fftools_ffmpeg.h:150
OptionsContext::canvas_sizes
SpecifierOpt * canvas_sizes
Definition fftools_ffmpeg.h:278
OptionsContext::reinit_filters
SpecifierOpt * reinit_filters
Definition fftools_ffmpeg.h:272
OptionsContext::thread_queue_size
int thread_queue_size
Definition fftools_ffmpeg.h:177
OptionsContext::display_vflips
SpecifierOpt * display_vflips
Definition fftools_ffmpeg.h:248
OptionsContext::passlogfiles
SpecifierOpt * passlogfiles
Definition fftools_ffmpeg.h:282
OptionsContext::data_disable
int data_disable
Definition fftools_ffmpeg.h:218
OptionsContext::frame_rates
SpecifierOpt * frame_rates
Definition fftools_ffmpeg.h:162
OptionsContext::bits_per_raw_sample
SpecifierOpt * bits_per_raw_sample
Definition fftools_ffmpeg.h:304
OptionsContext::chapters_input_file
int chapters_input_file
Definition fftools_ffmpeg.h:204
OptionsContext::streamid_map
int * streamid_map
Definition fftools_ffmpeg.h:221
OptionsContext::enc_stats_pre_fmt
SpecifierOpt * enc_stats_pre_fmt
Definition fftools_ffmpeg.h:312
OptionsContext::video_disable
int video_disable
Definition fftools_ffmpeg.h:215
OptionsContext::nb_force_fps
int nb_force_fps
Definition fftools_ffmpeg.h:241
OptionsContext::mux_stats_fmt
SpecifierOpt * mux_stats_fmt
Definition fftools_ffmpeg.h:316
OptionsContext::audio_disable
int audio_disable
Definition fftools_ffmpeg.h:216
OptionsContext::intra_matrices
SpecifierOpt * intra_matrices
Definition fftools_ffmpeg.h:252
OptionsContext::nb_inter_matrices
int nb_inter_matrices
Definition fftools_ffmpeg.h:255
OptionsContext::nb_enc_time_bases
int nb_enc_time_bases
Definition fftools_ffmpeg.h:301
OptionsContext::apad
SpecifierOpt * apad
Definition fftools_ffmpeg.h:290
OptionsContext::chroma_intra_matrices
SpecifierOpt * chroma_intra_matrices
Definition fftools_ffmpeg.h:256
OptionsContext::nb_hwaccel_output_formats
int nb_hwaccel_output_formats
Definition fftools_ffmpeg.h:190
OptionsContext::top_field_first
SpecifierOpt * top_field_first
Definition fftools_ffmpeg.h:258
OptionsContext::nb_presets
int nb_presets
Definition fftools_ffmpeg.h:263
OptionsContext::nb_program
int nb_program
Definition fftools_ffmpeg.h:297
OptionsContext::audio_ch_layouts
SpecifierOpt * audio_ch_layouts
Definition fftools_ffmpeg.h:156
OptionsContext::display_rotations
SpecifierOpt * display_rotations
Definition fftools_ffmpeg.h:244
OptionsContext::force_fps
SpecifierOpt * force_fps
Definition fftools_ffmpeg.h:240
OptionsContext::qscale
SpecifierOpt * qscale
Definition fftools_ffmpeg.h:234
OptionsContext::copy_prior_start
SpecifierOpt * copy_prior_start
Definition fftools_ffmpeg.h:266
OptionsContext::max_muxing_queue_size
SpecifierOpt * max_muxing_queue_size
Definition fftools_ffmpeg.h:284
OptionsContext::stop_time
int64_t stop_time
Definition fftools_ffmpeg.h:207
OptionsContext::nb_fix_sub_duration_heartbeat
int nb_fix_sub_duration_heartbeat
Definition fftools_ffmpeg.h:277
OptionsContext::nb_sample_fmts
int nb_sample_fmts
Definition fftools_ffmpeg.h:233
OptionsContext::rc_overrides
SpecifierOpt * rc_overrides
Definition fftools_ffmpeg.h:250
OptionsContext::attachments
const char ** attachments
Definition fftools_ffmpeg.h:201
OptionsContext::nb_copy_prior_start
int nb_copy_prior_start
Definition fftools_ffmpeg.h:267
OptionsContext::hwaccels
SpecifierOpt * hwaccels
Definition fftools_ffmpeg.h:185
OptionsContext::nb_filter_scripts
int nb_filter_scripts
Definition fftools_ffmpeg.h:271
OptionsContext::nb_qscale
int nb_qscale
Definition fftools_ffmpeg.h:235
OptionsContext::program
SpecifierOpt * program
Definition fftools_ffmpeg.h:296
OptionsContext::nb_frame_pix_fmts
int nb_frame_pix_fmts
Definition fftools_ffmpeg.h:169
OptionsContext::limit_filesize
int64_t limit_filesize
Definition fftools_ffmpeg.h:208
OptionsContext::loop
int loop
Definition fftools_ffmpeg.h:173
OptionsContext::mux_max_delay
float mux_max_delay
Definition fftools_ffmpeg.h:210
OptionsContext::codec_tags
SpecifierOpt * codec_tags
Definition fftools_ffmpeg.h:230
OptionsContext::time_bases
SpecifierOpt * time_bases
Definition fftools_ffmpeg.h:298
OptionsContext::shortest
int shortest
Definition fftools_ffmpeg.h:212
OptionsContext::presets
SpecifierOpt * presets
Definition fftools_ffmpeg.h:262
OptionsContext::ts_scale
SpecifierOpt * ts_scale
Definition fftools_ffmpeg.h:181
OptionsContext::nb_audio_sample_rate
int nb_audio_sample_rate
Definition fftools_ffmpeg.h:161
OptionsContext::nb_hwaccels
int nb_hwaccels
Definition fftools_ffmpeg.h:186
OptionsContext::fix_sub_duration
SpecifierOpt * fix_sub_duration
Definition fftools_ffmpeg.h:274
OptionsContext::inter_matrices
SpecifierOpt * inter_matrices
Definition fftools_ffmpeg.h:254
OptionsContext::hwaccel_output_formats
SpecifierOpt * hwaccel_output_formats
Definition fftools_ffmpeg.h:189
OptionsContext::mux_stats
SpecifierOpt * mux_stats
Definition fftools_ffmpeg.h:310
OptionsContext::nb_autoscale
int nb_autoscale
Definition fftools_ffmpeg.h:303
OptionsContext::nb_enc_stats_pre_fmt
int nb_enc_stats_pre_fmt
Definition fftools_ffmpeg.h:313
OptionsContext::nb_display_rotations
int nb_display_rotations
Definition fftools_ffmpeg.h:245
OptionsContext::subtitle_disable
int subtitle_disable
Definition fftools_ffmpeg.h:217
OptionsContext::enc_stats_post_fmt
SpecifierOpt * enc_stats_post_fmt
Definition fftools_ffmpeg.h:314
OptionsContext::nb_bitstream_filters
int nb_bitstream_filters
Definition fftools_ffmpeg.h:229
OptionsContext::nb_guess_layout_max
int nb_guess_layout_max
Definition fftools_ffmpeg.h:289
OptionsContext::seek_timestamp
int seek_timestamp
Definition fftools_ffmpeg.h:151
OptionsContext::bitstream_filters
SpecifierOpt * bitstream_filters
Definition fftools_ffmpeg.h:228
OptionsContext::nb_max_muxing_queue_size
int nb_max_muxing_queue_size
Definition fftools_ffmpeg.h:285
OptionsContext::nb_ts_scale
int nb_ts_scale
Definition fftools_ffmpeg.h:182
OptionsContext::audio_channel_maps
AudioChannelMap * audio_channel_maps
Definition fftools_ffmpeg.h:198
OptionsContext::g
OptionGroup * g
Definition fftools_ffmpeg.h:146
OptionsContext::nb_filters
int nb_filters
Definition fftools_ffmpeg.h:269
OutputFile
Definition fftools_ffmpeg.h:741
OutputFile::format
const AVOutputFormat * format
Definition fftools_ffmpeg.h:746
OutputFile::index
int index
Definition fftools_ffmpeg.h:744
OutputFile::sq_encode
SyncQueue * sq_encode
Definition fftools_ffmpeg.h:752
OutputFile::url
const char * url
Definition fftools_ffmpeg.h:747
OutputFile::bitexact
int bitexact
Definition fftools_ffmpeg.h:758
OutputFile::streams
OutputStream ** streams
Definition fftools_ffmpeg.h:749
OutputFile::nb_streams
int nb_streams
Definition fftools_ffmpeg.h:750
OutputFile::start_time
int64_t start_time
start time in microseconds == AV_TIME_BASE units
Definition fftools_ffmpeg.h:755
OutputFile::clazz
const AVClass * clazz
Definition fftools_ffmpeg.h:742
OutputFile::shortest
int shortest
Definition fftools_ffmpeg.h:757
OutputFile::recording_time
int64_t recording_time
desired length of the resulting file in microseconds == AV_TIME_BASE units
Definition fftools_ffmpeg.h:754
OutputFilter
Definition fftools_ffmpeg.h:344
OutputFilter::width
int width
Definition fftools_ffmpeg.h:355
OutputFilter::out_tmp
AVFilterInOut * out_tmp
Definition fftools_ffmpeg.h:351
OutputFilter::ost
struct OutputStream * ost
Definition fftools_ffmpeg.h:346
OutputFilter::filter
AVFilterContext * filter
Definition fftools_ffmpeg.h:345
OutputFilter::name
uint8_t * name
Definition fftools_ffmpeg.h:348
OutputFilter::formats
const int * formats
Definition fftools_ffmpeg.h:363
OutputFilter::ch_layouts
const AVChannelLayout * ch_layouts
Definition fftools_ffmpeg.h:364
OutputFilter::graph
struct FilterGraph * graph
Definition fftools_ffmpeg.h:347
OutputFilter::ch_layout
AVChannelLayout ch_layout
Definition fftools_ffmpeg.h:359
OutputFilter::height
int height
Definition fftools_ffmpeg.h:355
OutputFilter::sample_rate
int sample_rate
Definition fftools_ffmpeg.h:358
OutputFilter::sample_rates
const int * sample_rates
Definition fftools_ffmpeg.h:365
OutputFilter::frame_rate
AVRational frame_rate
Definition fftools_ffmpeg.h:356
OutputFilter::format
int format
Definition fftools_ffmpeg.h:357
OutputFilter::type
enum AVMediaType type
Definition fftools_ffmpeg.h:352
OutputStream
Definition fftools_ffmpeg.h:611
OutputStream::sq_idx_encode
int sq_idx_encode
Definition fftools_ffmpeg.h:728
OutputStream::data_size_mux
uint64_t data_size_mux
Definition fftools_ffmpeg.h:708
OutputStream::swr_opts
AVDictionary * swr_opts
Definition fftools_ffmpeg.h:687
OutputStream::fix_sub_duration_heartbeat
unsigned int fix_sub_duration_heartbeat
Definition fftools_ffmpeg.h:738
OutputStream::bitexact
int bitexact
Definition fftools_ffmpeg.h:661
OutputStream::copy_initial_nonkeyframes
int copy_initial_nonkeyframes
Definition fftools_ffmpeg.h:701
OutputStream::last_mux_dts
int64_t last_mux_dts
Definition fftools_ffmpeg.h:629
OutputStream::top_field_first
int top_field_first
Definition fftools_ffmpeg.h:656
OutputStream::mux_timebase
AVRational mux_timebase
Definition fftools_ffmpeg.h:639
OutputStream::vsync_frame_number
int64_t vsync_frame_number
Definition fftools_ffmpeg.h:624
OutputStream::finished
OSTFinished finished
Definition fftools_ffmpeg.h:689
OutputStream::initialized
int initialized
Definition fftools_ffmpeg.h:695
OutputStream::audio_channels_map
int * audio_channels_map
Definition fftools_ffmpeg.h:673
OutputStream::pkt
AVPacket * pkt
Definition fftools_ffmpeg.h:646
OutputStream::frame_aspect_ratio
AVRational frame_aspect_ratio
Definition fftools_ffmpeg.h:667
OutputStream::rotate_override_value
double rotate_override_value
Definition fftools_ffmpeg.h:664
OutputStream::last_filter_pts
int64_t last_filter_pts
Definition fftools_ffmpeg.h:631
OutputStream::data_size_enc
uint64_t data_size_enc
Definition fftools_ffmpeg.h:710
OutputStream::ts_copy_start
int64_t ts_copy_start
Definition fftools_ffmpeg.h:636
OutputStream::last_frame
AVFrame * last_frame
Definition fftools_ffmpeg.h:644
OutputStream::autoscale
int autoscale
Definition fftools_ffmpeg.h:660
OutputStream::enc_stats_pre
EncStats enc_stats_pre
Definition fftools_ffmpeg.h:731
OutputStream::unavailable
int unavailable
Definition fftools_ffmpeg.h:690
OutputStream::audio_channels_mapped
int audio_channels_mapped
Definition fftools_ffmpeg.h:674
OutputStream::force_fps
int force_fps
Definition fftools_ffmpeg.h:655
OutputStream::sq_idx_mux
int sq_idx_mux
Definition fftools_ffmpeg.h:729
OutputStream::error
int64_t error[4]
Definition fftools_ffmpeg.h:726
OutputStream::pict_type
int pict_type
Definition fftools_ffmpeg.h:723
OutputStream::frames_encoded
uint64_t frames_encoded
Definition fftools_ffmpeg.h:714
OutputStream::bits_per_raw_sample
int bits_per_raw_sample
Definition fftools_ffmpeg.h:662
OutputStream::apad
char * apad
Definition fftools_ffmpeg.h:688
OutputStream::inputs_done
int inputs_done
Definition fftools_ffmpeg.h:697
OutputStream::vsync_method
enum VideoSyncMethod vsync_method
Definition fftools_ffmpeg.h:653
OutputStream::ist
InputStream * ist
Definition fftools_ffmpeg.h:620
OutputStream::kf
KeyframeForceCtx kf
Definition fftools_ffmpeg.h:669
OutputStream::max_frame_rate
AVRational max_frame_rate
Definition fftools_ffmpeg.h:652
OutputStream::quality
int quality
Definition fftools_ffmpeg.h:720
OutputStream::enc_timebase
AVRational enc_timebase
Definition fftools_ffmpeg.h:640
OutputStream::is_cfr
int is_cfr
Definition fftools_ffmpeg.h:654
OutputStream::filtered_frame
AVFrame * filtered_frame
Definition fftools_ffmpeg.h:643
OutputStream::attachment_filename
const char * attachment_filename
Definition fftools_ffmpeg.h:699
OutputStream::clazz
const AVClass * clazz
Definition fftools_ffmpeg.h:612
OutputStream::next_pts
int64_t next_pts
Definition fftools_ffmpeg.h:627
OutputStream::sq_frame
AVFrame * sq_frame
Definition fftools_ffmpeg.h:645
OutputStream::frame_rate
AVRational frame_rate
Definition fftools_ffmpeg.h:651
OutputStream::copy_prior_start
int copy_prior_start
Definition fftools_ffmpeg.h:702
OutputStream::last_nb0_frames
int64_t last_nb0_frames[3]
Definition fftools_ffmpeg.h:648
OutputStream::enc_ctx
AVCodecContext * enc_ctx
Definition fftools_ffmpeg.h:642
OutputStream::encoder_opts
AVDictionary * encoder_opts
Definition fftools_ffmpeg.h:685
OutputStream::st
AVStream * st
Definition fftools_ffmpeg.h:622
OutputStream::filters
char * filters
filtergraph associated to the -filter option
Definition fftools_ffmpeg.h:682
OutputStream::avfilter
char * avfilter
Definition fftools_ffmpeg.h:681
OutputStream::packets_written
atomic_uint_least64_t packets_written
Definition fftools_ffmpeg.h:712
OutputStream::enc_stats_post
EncStats enc_stats_post
Definition fftools_ffmpeg.h:732
OutputStream::samples_encoded
uint64_t samples_encoded
Definition fftools_ffmpeg.h:715
OutputStream::filters_script
char * filters_script
filtergraph script associated to the -filter_script option
Definition fftools_ffmpeg.h:683
OutputStream::sws_dict
AVDictionary * sws_dict
Definition fftools_ffmpeg.h:686
OutputStream::filter
OutputFilter * filter
Definition fftools_ffmpeg.h:680
OutputStream::streamcopy_started
int streamcopy_started
Definition fftools_ffmpeg.h:700
OutputStream::index
int index
Definition fftools_ffmpeg.h:615
OutputStream::rotate_overridden
int rotate_overridden
Definition fftools_ffmpeg.h:658
OutputStream::packets_encoded
uint64_t packets_encoded
Definition fftools_ffmpeg.h:717
OutputStream::keep_pix_fmt
int keep_pix_fmt
Definition fftools_ffmpeg.h:704
OutputStream::logfile
FILE * logfile
Definition fftools_ffmpeg.h:678
OutputStream::file_index
int file_index
Definition fftools_ffmpeg.h:614
OutputStream::last_dropped
int64_t last_dropped
Definition fftools_ffmpeg.h:647
OutputStream::logfile_prefix
char * logfile_prefix
Definition fftools_ffmpeg.h:677
SpecifierOpt
Definition fftools_cmdutils.h:182
StreamMap
Definition fftools_ffmpeg.h:131
StreamMap::stream_index
int stream_index
Definition fftools_ffmpeg.h:134
StreamMap::disabled
int disabled
Definition fftools_ffmpeg.h:132
StreamMap::linklabel
char * linklabel
Definition fftools_ffmpeg.h:135
StreamMap::file_index
int file_index
Definition fftools_ffmpeg.h:133
SyncQueue
Definition fftools_sync_queue.c:59