Loading...
Searching...
No Matches
fftools_ffmpeg.h
Go to the documentation of this file.
/*
* This file is part of FFmpeg.
* Copyright (c) 2018-2022 Taner Sener
* Copyright (c) 2023 ARTHENICA LTD
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* This file is the modified version of ffmpeg.h file living in ffmpeg source code under the fftools folder. We
* manually update it each time we depend on a new ffmpeg version. Below you can see the list of changes applied
* by us to develop mobile-ffmpeg and later ffmpeg-kit libraries.
*
* ffmpeg-kit changes by ARTHENICA LTD
*
* 07.2023
* --------------------------------------------------------
* - FFmpeg 6.0 changes migrated
* - WARN_MULTIPLE_OPT_USAGE, MATCH_PER_STREAM_OPT, MATCH_PER_TYPE_OPT, SPECIFIER_OPT_FMT declarations migrated to
* ffmpeg_mux.h
* - "class" member field renamed as clazz
* - time field in set_report_callback updated as double
*
* mobile-ffmpeg / ffmpeg-kit changes by Taner Sener
*
* 09.2022
* --------------------------------------------------------
* - config.h include added back
* - volatile dropped from thread local variables
* - dropped signatures of ffmpeg_opt.c methods called by both ffmpeg and ffprobe
*
* 06.2020
* --------------------------------------------------------
* - cancel_operation() method signature updated with id
*
* 12.2019
* --------------------------------------------------------
* - concurrent execution support ("__thread" specifier added to variables used by multiple threads,
* signatures of ffmpeg_opt.c methods called by both ffmpeg and ffprobe added)
*
* 03.2019
* --------------------------------------------------------
* - config.h include removed
*
* 08.2018
* --------------------------------------------------------
* - fftools_ prefix added to file name and include guards
* - set_report_callback() method declared
* - cancel_operation() method declared
*
* 07.2018
* --------------------------------------------------------
* - include guards renamed
*/
#ifndef FFTOOLS_FFMPEG_H
#define FFTOOLS_FFMPEG_H
#include "config.h"
#include <stdatomic.h>
#include <stdint.h>
#include <stdio.h>
#include <signal.h>
#include "fftools_cmdutils.h"
#include "fftools_sync_queue.h"
#include "libavformat/avformat.h"
#include "libavformat/avio.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/bsf.h"
#include "libavfilter/avfilter.h"
#include "libavutil/avutil.h"
#include "libavutil/dict.h"
#include "libavutil/eval.h"
#include "libavutil/fifo.h"
#include "libavutil/hwcontext.h"
#include "libavutil/pixfmt.h"
#include "libavutil/rational.h"
#include "libavutil/thread.h"
#include "libavutil/threadmessage.h"
#include "libswresample/swresample.h"
// deprecated features
#define FFMPEG_OPT_PSNR 1
#define FFMPEG_OPT_MAP_CHANNEL 1
#define FFMPEG_OPT_MAP_SYNC 1
#define FFMPEG_ROTATION_METADATA 1
enum VideoSyncMethod {
VSYNC_AUTO = -1,
VSYNC_PASSTHROUGH,
VSYNC_CFR,
VSYNC_VFR,
VSYNC_VSCFR,
VSYNC_DROP,
};
#define MAX_STREAMS 1024 /* arbitrary sanity check value */
enum HWAccelID {
HWACCEL_NONE = 0,
HWACCEL_AUTO,
HWACCEL_GENERIC,
};
typedef struct HWDevice {
const char *name;
enum AVHWDeviceType type;
AVBufferRef *device_ref;
} HWDevice;
/* select an input stream for an output stream */
typedef struct StreamMap {
int disabled; /* 1 is this mapping is disabled by a negative map */
int file_index;
int stream_index;
char *linklabel; /* name of an output link, for mapping lavfi outputs */
} StreamMap;
#if FFMPEG_OPT_MAP_CHANNEL
typedef struct {
int file_idx, stream_idx, channel_idx; // input
int ofile_idx, ostream_idx; // output
} AudioChannelMap;
#endif
typedef struct OptionsContext {
OptionGroup *g;
/* input/output options */
int64_t start_time;
int64_t start_time_eof;
int seek_timestamp;
const char *format;
SpecifierOpt *codec_names;
int nb_codec_names;
SpecifierOpt *audio_ch_layouts;
int nb_audio_ch_layouts;
SpecifierOpt *audio_channels;
int nb_audio_channels;
SpecifierOpt *audio_sample_rate;
int nb_audio_sample_rate;
SpecifierOpt *frame_rates;
int nb_frame_rates;
SpecifierOpt *max_frame_rates;
int nb_max_frame_rates;
SpecifierOpt *frame_sizes;
int nb_frame_sizes;
SpecifierOpt *frame_pix_fmts;
int nb_frame_pix_fmts;
/* input options */
int64_t input_ts_offset;
int loop;
int rate_emu;
float readrate;
int accurate_seek;
int thread_queue_size;
int input_sync_ref;
int find_stream_info;
SpecifierOpt *ts_scale;
int nb_ts_scale;
SpecifierOpt *dump_attachment;
int nb_dump_attachment;
SpecifierOpt *hwaccels;
int nb_hwaccels;
SpecifierOpt *hwaccel_devices;
int nb_hwaccel_devices;
SpecifierOpt *hwaccel_output_formats;
int nb_hwaccel_output_formats;
SpecifierOpt *autorotate;
int nb_autorotate;
/* output options */
StreamMap *stream_maps;
int nb_stream_maps;
#if FFMPEG_OPT_MAP_CHANNEL
AudioChannelMap *audio_channel_maps; /* one info entry per -map_channel */
int nb_audio_channel_maps; /* number of (valid) -map_channel settings */
#endif
const char **attachments;
int nb_attachments;
int chapters_input_file;
int64_t recording_time;
int64_t stop_time;
int64_t limit_filesize;
float mux_preload;
float mux_max_delay;
float shortest_buf_duration;
int shortest;
int bitexact;
int video_disable;
int audio_disable;
int subtitle_disable;
int data_disable;
/* indexed by output file stream index */
int *streamid_map;
int nb_streamid_map;
SpecifierOpt *metadata;
int nb_metadata;
SpecifierOpt *max_frames;
int nb_max_frames;
SpecifierOpt *bitstream_filters;
int nb_bitstream_filters;
SpecifierOpt *codec_tags;
int nb_codec_tags;
SpecifierOpt *sample_fmts;
int nb_sample_fmts;
SpecifierOpt *qscale;
int nb_qscale;
SpecifierOpt *forced_key_frames;
int nb_forced_key_frames;
SpecifierOpt *fps_mode;
int nb_fps_mode;
SpecifierOpt *force_fps;
int nb_force_fps;
SpecifierOpt *frame_aspect_ratios;
int nb_frame_aspect_ratios;
SpecifierOpt *display_rotations;
int nb_display_rotations;
SpecifierOpt *display_hflips;
int nb_display_hflips;
SpecifierOpt *display_vflips;
int nb_display_vflips;
SpecifierOpt *rc_overrides;
int nb_rc_overrides;
SpecifierOpt *intra_matrices;
int nb_intra_matrices;
SpecifierOpt *inter_matrices;
int nb_inter_matrices;
SpecifierOpt *chroma_intra_matrices;
int nb_chroma_intra_matrices;
SpecifierOpt *top_field_first;
int nb_top_field_first;
SpecifierOpt *metadata_map;
int nb_metadata_map;
SpecifierOpt *presets;
int nb_presets;
SpecifierOpt *copy_initial_nonkeyframes;
int nb_copy_initial_nonkeyframes;
SpecifierOpt *copy_prior_start;
int nb_copy_prior_start;
SpecifierOpt *filters;
int nb_filters;
SpecifierOpt *filter_scripts;
int nb_filter_scripts;
SpecifierOpt *reinit_filters;
int nb_reinit_filters;
SpecifierOpt *fix_sub_duration;
int nb_fix_sub_duration;
SpecifierOpt *fix_sub_duration_heartbeat;
int nb_fix_sub_duration_heartbeat;
SpecifierOpt *canvas_sizes;
int nb_canvas_sizes;
SpecifierOpt *pass;
int nb_pass;
SpecifierOpt *passlogfiles;
int nb_passlogfiles;
SpecifierOpt *max_muxing_queue_size;
int nb_max_muxing_queue_size;
SpecifierOpt *muxing_queue_data_threshold;
int nb_muxing_queue_data_threshold;
SpecifierOpt *guess_layout_max;
int nb_guess_layout_max;
SpecifierOpt *apad;
int nb_apad;
SpecifierOpt *discard;
int nb_discard;
SpecifierOpt *disposition;
int nb_disposition;
SpecifierOpt *program;
int nb_program;
SpecifierOpt *time_bases;
int nb_time_bases;
SpecifierOpt *enc_time_bases;
int nb_enc_time_bases;
SpecifierOpt *autoscale;
int nb_autoscale;
SpecifierOpt *bits_per_raw_sample;
int nb_bits_per_raw_sample;
SpecifierOpt *enc_stats_pre;
int nb_enc_stats_pre;
SpecifierOpt *enc_stats_post;
int nb_enc_stats_post;
SpecifierOpt *mux_stats;
int nb_mux_stats;
SpecifierOpt *enc_stats_pre_fmt;
int nb_enc_stats_pre_fmt;
SpecifierOpt *enc_stats_post_fmt;
int nb_enc_stats_post_fmt;
SpecifierOpt *mux_stats_fmt;
int nb_mux_stats_fmt;
} OptionsContext;
typedef struct InputFilter {
AVFilterContext *filter;
struct InputStream *ist;
struct FilterGraph *graph;
uint8_t *name;
enum AVMediaType type; // AVMEDIA_TYPE_SUBTITLE for sub2video
AVFifo *frame_queue;
// parameters configured for this input
int format;
int width, height;
AVRational sample_aspect_ratio;
int sample_rate;
AVChannelLayout ch_layout;
AVBufferRef *hw_frames_ctx;
int32_t *displaymatrix;
int eof;
} InputFilter;
typedef struct OutputFilter {
AVFilterContext *filter;
struct OutputStream *ost;
struct FilterGraph *graph;
uint8_t *name;
/* temporary storage until stream maps are processed */
AVFilterInOut *out_tmp;
enum AVMediaType type;
/* desired output stream properties */
int width, height;
AVRational frame_rate;
int format;
int sample_rate;
AVChannelLayout ch_layout;
// those are only set if no format is specified and the encoder gives us multiple options
// They point directly to the relevant lists of the encoder.
const int *formats;
const AVChannelLayout *ch_layouts;
const int *sample_rates;
} OutputFilter;
typedef struct FilterGraph {
int index;
const char *graph_desc;
AVFilterGraph *graph;
int reconfiguration;
// true when the filtergraph contains only meta filters
// that do not modify the frame data
int is_meta;
InputFilter **inputs;
int nb_inputs;
OutputFilter **outputs;
int nb_outputs;
} FilterGraph;
typedef struct InputStream {
int file_index;
AVStream *st;
int discard; /* true if stream data should be discarded */
int user_set_discard;
int decoding_needed; /* non zero if the packets must be decoded in 'raw_fifo', see DECODING_FOR_* */
#define DECODING_FOR_OST 1
#define DECODING_FOR_FILTER 2
int processing_needed; /* non zero if the packets must be processed */
// should attach FrameData as opaque_ref after decoding
int want_frame_data;
AVCodecParameters *par;
AVCodecContext *dec_ctx;
const AVCodec *dec;
AVFrame *decoded_frame;
AVPacket *pkt;
AVRational framerate_guessed;
int64_t prev_pkt_pts;
int64_t start; /* time when read started */
/* predicted dts of the next packet read for this stream or (when there are
* several frames in a packet) of the next frame in current packet (in AV_TIME_BASE units) */
int64_t next_dts;
int64_t first_dts;
int64_t dts;
int64_t next_pts;
int64_t pts;
int wrap_correction_done;
// the value of AVCodecParserContext.repeat_pict from the AVStream parser
// for the last packet returned from ifile_get_packet()
// -1 if unknown
// FIXME: this is a hack, the avstream parser should not be used
int last_pkt_repeat_pict;
int64_t filter_in_rescale_delta_last;
int64_t min_pts; /* pts with the smallest value in a current stream */
int64_t max_pts; /* pts with the higher value in a current stream */
// when forcing constant input framerate through -r,
// this contains the pts that will be given to the next decoded frame
int64_t cfr_next_pts;
int64_t nb_samples; /* number of samples in the last decoded audio frame before looping */
double ts_scale;
int saw_first_ts;
AVDictionary *decoder_opts;
AVRational framerate; /* framerate forced with -r */
int top_field_first;
int guess_layout_max;
int autorotate;
int fix_sub_duration;
struct { /* previous decoded subtitle and related variables */
int got_output;
int ret;
AVSubtitle subtitle;
} prev_sub;
struct sub2video {
int64_t last_pts;
int64_t end_pts;
AVFifo *sub_queue;
AVFrame *frame;
int w, h;
unsigned int initialize;
} sub2video;
/* decoded data from this stream goes into all those filters
* currently video and audio only */
InputFilter **filters;
int nb_filters;
int reinit_filters;
/* hwaccel options */
enum HWAccelID hwaccel_id;
enum AVHWDeviceType hwaccel_device_type;
char *hwaccel_device;
enum AVPixelFormat hwaccel_output_format;
int (*hwaccel_retrieve_data)(AVCodecContext *s, AVFrame *frame);
enum AVPixelFormat hwaccel_pix_fmt;
/* stats */
// combined size of all the packets read
uint64_t data_size;
/* number of packets successfully read for this stream */
uint64_t nb_packets;
// number of frames/samples retrieved from the decoder
uint64_t frames_decoded;
uint64_t samples_decoded;
int64_t *dts_buffer;
int nb_dts_buffer;
int got_output;
} InputStream;
typedef struct LastFrameDuration {
int stream_idx;
int64_t duration;
} LastFrameDuration;
typedef struct InputFile {
int index;
AVFormatContext *ctx;
int eof_reached; /* true if eof reached */
int eagain; /* true if last read attempt returned EAGAIN */
int64_t input_ts_offset;
int input_sync_ref;
int64_t start_time_effective;
int64_t ts_offset;
int64_t ts_offset_discont;
int64_t last_ts;
int64_t start_time; /* user-specified start time in AV_TIME_BASE or AV_NOPTS_VALUE */
int64_t recording_time;
/* streams that ffmpeg is aware of;
* there may be extra streams in ctx that are not mapped to an InputStream
* if new streams appear dynamically during demuxing */
InputStream **streams;
int nb_streams;
int rate_emu;
float readrate;
int accurate_seek;
/* when looping the input file, this queue is used by decoders to report
* the last frame duration back to the demuxer thread */
AVThreadMessageQueue *audio_duration_queue;
int audio_duration_queue_size;
} InputFile;
enum forced_keyframes_const {
FKF_N,
FKF_N_FORCED,
FKF_PREV_FORCED_N,
FKF_PREV_FORCED_T,
FKF_T,
FKF_NB
};
#define ABORT_ON_FLAG_EMPTY_OUTPUT (1 << 0)
#define ABORT_ON_FLAG_EMPTY_OUTPUT_STREAM (1 << 1)
enum EncStatsType {
ENC_STATS_LITERAL = 0,
ENC_STATS_FILE_IDX,
ENC_STATS_STREAM_IDX,
ENC_STATS_FRAME_NUM,
ENC_STATS_FRAME_NUM_IN,
ENC_STATS_TIMEBASE,
ENC_STATS_TIMEBASE_IN,
ENC_STATS_PTS,
ENC_STATS_PTS_TIME,
ENC_STATS_PTS_IN,
ENC_STATS_PTS_TIME_IN,
ENC_STATS_DTS,
ENC_STATS_DTS_TIME,
ENC_STATS_SAMPLE_NUM,
ENC_STATS_NB_SAMPLES,
ENC_STATS_PKT_SIZE,
ENC_STATS_BITRATE,
ENC_STATS_AVG_BITRATE,
};
typedef struct EncStatsComponent {
enum EncStatsType type;
uint8_t *str;
size_t str_len;
} EncStatsComponent;
typedef struct EncStats {
EncStatsComponent *components;
int nb_components;
AVIOContext *io;
} EncStats;
extern const char *const forced_keyframes_const_names[];
typedef enum {
ENCODER_FINISHED = 1,
MUXER_FINISHED = 2,
} OSTFinished ;
enum {
KF_FORCE_SOURCE = 1,
KF_FORCE_SOURCE_NO_DROP = 2,
};
typedef struct KeyframeForceCtx {
int type;
int64_t ref_pts;
// timestamps of the forced keyframes, in AV_TIME_BASE_Q
int64_t *pts;
int nb_pts;
int index;
AVExpr *pexpr;
double expr_const_values[FKF_NB];
int dropped_keyframe;
} KeyframeForceCtx;
typedef struct OutputStream {
const AVClass *clazz;
int file_index; /* file index */
int index; /* stream index in the output file */
/* input stream that is the source for this output stream;
* may be NULL for streams with no well-defined source, e.g.
* attachments or outputs from complex filtergraphs */
InputStream *ist;
AVStream *st; /* stream in the output file */
/* number of frames emitted by the video-encoding sync code */
int64_t vsync_frame_number;
/* predicted pts of the next frame to be encoded
* audio/video encoding only */
int64_t next_pts;
/* dts of the last packet sent to the muxing queue, in AV_TIME_BASE_Q */
int64_t last_mux_dts;
/* pts of the last frame received from the filters, in AV_TIME_BASE_Q */
int64_t last_filter_pts;
// timestamp from which the streamcopied streams should start,
// in AV_TIME_BASE_Q;
// everything before it should be discarded
int64_t ts_copy_start;
// the timebase of the packets sent to the muxer
AVRational mux_timebase;
AVRational enc_timebase;
AVCodecContext *enc_ctx;
AVFrame *filtered_frame;
AVFrame *last_frame;
AVFrame *sq_frame;
AVPacket *pkt;
int64_t last_dropped;
int64_t last_nb0_frames[3];
/* video only */
AVRational frame_rate;
AVRational max_frame_rate;
enum VideoSyncMethod vsync_method;
int is_cfr;
int force_fps;
int top_field_first;
#if FFMPEG_ROTATION_METADATA
int rotate_overridden;
#endif
int autoscale;
int bitexact;
int bits_per_raw_sample;
#if FFMPEG_ROTATION_METADATA
double rotate_override_value;
#endif
AVRational frame_aspect_ratio;
KeyframeForceCtx kf;
/* audio only */
#if FFMPEG_OPT_MAP_CHANNEL
int *audio_channels_map; /* list of the channels id to pick from the source stream */
int audio_channels_mapped; /* number of channels in audio_channels_map */
#endif
char *logfile_prefix;
FILE *logfile;
OutputFilter *filter;
char *avfilter;
char *filters;
char *filters_script;
AVDictionary *encoder_opts;
AVDictionary *sws_dict;
AVDictionary *swr_opts;
char *apad;
OSTFinished finished; /* no more packets should be written for this stream */
int unavailable; /* true if the steram is unavailable (possibly temporarily) */
// init_output_stream() has been called for this stream
// The encoder and the bitstream filters have been initialized and the stream
// parameters are set in the AVStream.
int initialized;
int inputs_done;
const char *attachment_filename;
int streamcopy_started;
int copy_initial_nonkeyframes;
int copy_prior_start;
int keep_pix_fmt;
/* stats */
// combined size of all the packets sent to the muxer
uint64_t data_size_mux;
// combined size of all the packets received from the encoder
uint64_t data_size_enc;
// number of packets send to the muxer
atomic_uint_least64_t packets_written;
// number of frames/samples sent to the encoder
uint64_t frames_encoded;
uint64_t samples_encoded;
// number of packets received from the encoder
uint64_t packets_encoded;
/* packet quality factor */
int quality;
/* packet picture type */
int pict_type;
/* frame encode sum of squared error values */
int64_t error[4];
int sq_idx_encode;
int sq_idx_mux;
EncStats enc_stats_pre;
EncStats enc_stats_post;
/*
* bool on whether this stream should be utilized for splitting
* subtitles utilizing fix_sub_duration at random access points.
*/
unsigned int fix_sub_duration_heartbeat;
} OutputStream;
typedef struct OutputFile {
const AVClass *clazz;
int index;
const AVOutputFormat *format;
const char *url;
OutputStream **streams;
int nb_streams;
SyncQueue *sq_encode;
int64_t recording_time;
int64_t start_time;
int shortest;
int bitexact;
} OutputFile;
extern __thread InputFile **input_files;
extern __thread int nb_input_files;
extern __thread OutputFile **output_files;
extern __thread int nb_output_files;
extern __thread FilterGraph **filtergraphs;
extern __thread int nb_filtergraphs;
extern __thread char *vstats_filename;
extern __thread char *sdp_filename;
extern __thread float audio_drift_threshold;
extern __thread float dts_delta_threshold;
extern __thread float dts_error_threshold;
extern __thread enum VideoSyncMethod video_sync_method;
extern __thread float frame_drop_threshold;
extern __thread int do_benchmark;
extern __thread int do_benchmark_all;
extern __thread int do_hex_dump;
extern __thread int do_pkt_dump;
extern __thread int copy_ts;
extern __thread int start_at_zero;
extern __thread int copy_tb;
extern __thread int debug_ts;
extern __thread int exit_on_error;
extern __thread int abort_on_flags;
extern __thread int print_stats;
extern __thread int64_t stats_period;
extern __thread int qp_hist;
extern __thread int stdin_interaction;
extern __thread AVIOContext *progress_avio;
extern __thread float max_error_rate;
extern __thread char *filter_nbthreads;
extern __thread int filter_complex_nbthreads;
extern __thread int vstats_version;
extern __thread int auto_conversion_filters;
extern __thread const AVIOInterruptCB int_cb;
extern __thread HWDevice *filter_hw_device;
extern __thread unsigned nb_output_dumped;
extern __thread int main_ffmpeg_return_code;
extern __thread int ignore_unknown_streams;
extern __thread int copy_unknown_streams;
extern __thread int recast_media;
#if FFMPEG_OPT_PSNR
extern __thread int do_psnr;
#endif
void term_init(void);
void term_exit(void);
void show_usage(void);
void remove_avoptions(AVDictionary **a, AVDictionary *b);
void assert_avoptions(AVDictionary *m);
void assert_file_overwrite(const char *filename);
char *file_read(const char *filename);
AVDictionary *strip_specifiers(const AVDictionary *dict);
const AVCodec *find_codec_or_die(void *logctx, const char *name,
enum AVMediaType type, int encoder);
int parse_and_set_vsync(const char *arg, int *vsync_var, int file_idx, int st_idx, int is_global);
int configure_filtergraph(FilterGraph *fg);
void check_filter_outputs(void);
int filtergraph_is_simple(FilterGraph *fg);
int init_simple_filtergraph(InputStream *ist, OutputStream *ost);
int init_complex_filtergraph(FilterGraph *fg);
void sub2video_update(InputStream *ist, int64_t heartbeat_pts, AVSubtitle *sub);
int ifilter_parameters_from_frame(InputFilter *ifilter, const AVFrame *frame);
int ffmpeg_parse_options(int argc, char **argv);
void enc_stats_write(OutputStream *ost, EncStats *es,
const AVFrame *frame, const AVPacket *pkt,
uint64_t frame_num);
HWDevice *hw_device_get_by_name(const char *name);
int hw_device_init_from_string(const char *arg, HWDevice **dev);
void hw_device_free_all(void);
int hw_device_setup_for_decode(InputStream *ist);
int hw_device_setup_for_encode(OutputStream *ost);
int hw_device_setup_for_filter(FilterGraph *fg);
int hwaccel_decode_init(AVCodecContext *avctx);
/*
* Initialize muxing state for the given stream, should be called
* after the codec/streamcopy setup has been done.
*
* Open the muxer once all the streams have been initialized.
*/
int of_stream_init(OutputFile *of, OutputStream *ost);
int of_write_trailer(OutputFile *of);
int of_open(const OptionsContext *o, const char *filename);
void of_close(OutputFile **pof);
void of_enc_stats_close(void);
/*
* Send a single packet to the output, applying any bitstream filters
* associated with the output stream. This may result in any number
* of packets actually being written, depending on what bitstream
* filters are applied. The supplied packet is consumed and will be
* blank (as if newly-allocated) when this function returns.
*
* If eof is set, instead indicate EOF to all bitstream filters and
* therefore flush any delayed packets to the output. A blank packet
* must be supplied in this case.
*/
void of_output_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int eof);
int64_t of_filesize(OutputFile *of);
int ifile_open(const OptionsContext *o, const char *filename);
void ifile_close(InputFile **f);
int ifile_get_packet(InputFile *f, AVPacket **pkt);
/* iterate over all input streams in all input files;
* pass NULL to start iteration */
InputStream *ist_iter(InputStream *prev);
extern const char * const opt_name_codec_names[];
extern const char * const opt_name_codec_tags[];
extern const char * const opt_name_frame_rates[];
extern const char * const opt_name_top_field_first[];
void set_report_callback(void (*callback)(int, float, float, int64_t, double, double, double));
void cancel_operation(long id);
#endif /* FFTOOLS_FFMPEG_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