68#ifndef FFTOOLS_FFMPEG_H
69#define FFTOOLS_FFMPEG_H
81#include "libavformat/avformat.h"
82#include "libavformat/avio.h"
84#include "libavcodec/avcodec.h"
85#include "libavcodec/bsf.h"
87#include "libavfilter/avfilter.h"
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"
99#include "libswresample/swresample.h"
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
116#define MAX_STREAMS 1024
138#if FFMPEG_OPT_MAP_CHANNEL
197#if FFMPEG_OPT_MAP_CHANNEL
390#define DECODING_FOR_OST 1
391#define DECODING_FOR_FILTER 2
545#define ABORT_ON_FLAG_EMPTY_OUTPUT (1 << 0)
546#define ABORT_ON_FLAG_EMPTY_OUTPUT_STREAM (1 << 1)
657#if FFMPEG_ROTATION_METADATA
663#if FFMPEG_ROTATION_METADATA
672#if FFMPEG_OPT_MAP_CHANNEL
801extern __thread
const AVIOInterruptCB
int_cb;
829 enum AVMediaType type,
int encoder);
830int parse_and_set_vsync(
const char *arg,
int *vsync_var,
int file_idx,
int st_idx,
int is_global);
845 const AVFrame *frame,
const AVPacket *pkt,
909void set_report_callback(
void (*callback)(
int,
float,
float, int64_t,
double,
double,
double));
EncStatsComponent * components
double expr_const_values[FKF_NB]
SpecifierOpt * metadata_map
int nb_copy_initial_nonkeyframes
SpecifierOpt * frame_pix_fmts
SpecifierOpt * dump_attachment
int nb_chroma_intra_matrices
int nb_bits_per_raw_sample
int nb_muxing_queue_data_threshold
SpecifierOpt * frame_aspect_ratios
SpecifierOpt * filter_scripts
SpecifierOpt * copy_initial_nonkeyframes
SpecifierOpt * guess_layout_max
SpecifierOpt * enc_time_bases
SpecifierOpt * max_frame_rates
SpecifierOpt * audio_sample_rate
int nb_audio_channel_maps
SpecifierOpt * max_frames
int nb_enc_stats_post_fmt
SpecifierOpt * frame_sizes
SpecifierOpt * muxing_queue_data_threshold
SpecifierOpt * display_hflips
SpecifierOpt * forced_key_frames
SpecifierOpt * hwaccel_devices
SpecifierOpt * enc_stats_pre
SpecifierOpt * autorotate
SpecifierOpt * disposition
SpecifierOpt * enc_stats_post
int nb_frame_aspect_ratios
SpecifierOpt * fix_sub_duration_heartbeat
float shortest_buf_duration
SpecifierOpt * sample_fmts
SpecifierOpt * audio_channels
SpecifierOpt * codec_names
SpecifierOpt * canvas_sizes
SpecifierOpt * reinit_filters
SpecifierOpt * display_vflips
SpecifierOpt * passlogfiles
SpecifierOpt * frame_rates
SpecifierOpt * bits_per_raw_sample
SpecifierOpt * enc_stats_pre_fmt
SpecifierOpt * mux_stats_fmt
SpecifierOpt * intra_matrices
SpecifierOpt * chroma_intra_matrices
int nb_hwaccel_output_formats
SpecifierOpt * top_field_first
SpecifierOpt * audio_ch_layouts
SpecifierOpt * display_rotations
SpecifierOpt * copy_prior_start
SpecifierOpt * max_muxing_queue_size
int nb_fix_sub_duration_heartbeat
SpecifierOpt * rc_overrides
const char ** attachments
SpecifierOpt * codec_tags
SpecifierOpt * time_bases
SpecifierOpt * fix_sub_duration
SpecifierOpt * inter_matrices
SpecifierOpt * hwaccel_output_formats
SpecifierOpt * enc_stats_post_fmt
SpecifierOpt * bitstream_filters
int nb_max_muxing_queue_size
AudioChannelMap * audio_channel_maps
const AVOutputFormat * format
int64_t start_time
start time in microseconds == AV_TIME_BASE units
int64_t recording_time
desired length of the resulting file in microseconds == AV_TIME_BASE units
struct OutputStream * ost
const AVChannelLayout * ch_layouts
struct FilterGraph * graph
AVChannelLayout ch_layout
unsigned int fix_sub_duration_heartbeat
int copy_initial_nonkeyframes
int64_t vsync_frame_number
AVRational frame_aspect_ratio
double rotate_override_value
int audio_channels_mapped
enum VideoSyncMethod vsync_method
AVRational max_frame_rate
const char * attachment_filename
int64_t last_nb0_frames[3]
AVDictionary * encoder_opts
char * filters
filtergraph associated to the -filter option
atomic_uint_least64_t packets_written
char * filters_script
filtergraph script associated to the -filter_script option