57#ifndef FFTOOLS_FFMPEG_H
58#define FFTOOLS_FFMPEG_H
68#include "libavformat/avformat.h"
69#include "libavformat/avio.h"
71#include "libavcodec/avcodec.h"
72#include "libavcodec/bsf.h"
74#include "libavfilter/avfilter.h"
76#include "libavutil/avutil.h"
77#include "libavutil/dict.h"
78#include "libavutil/eval.h"
79#include "libavutil/fifo.h"
80#include "libavutil/hwcontext.h"
81#include "libavutil/pixfmt.h"
82#include "libavutil/rational.h"
83#include "libavutil/thread.h"
84#include "libavutil/threadmessage.h"
86#include "libswresample/swresample.h"
97#define MAX_STREAMS 1024
350#define DECODING_FOR_OST 1
351#define DECODING_FOR_FILTER 2
468 AVThreadMessageQueue *in_thread_queue;
472 int thread_queue_size;
485#define ABORT_ON_FLAG_EMPTY_OUTPUT (1 << 0)
486#define ABORT_ON_FLAG_EMPTY_OUTPUT_STREAM (1 << 1)
689extern __thread
const AVIOInterruptCB
int_cb;
692extern __thread
char *qsv_device;
743void set_report_callback(
void (*callback)(
int,
float,
float, int64_t,
int,
double,
double));
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 metadata_global_manual
SpecifierOpt * frame_sizes
SpecifierOpt * muxing_queue_data_threshold
SpecifierOpt * forced_key_frames
SpecifierOpt * hwaccel_devices
int metadata_streams_manual
SpecifierOpt * autorotate
SpecifierOpt * disposition
int nb_frame_aspect_ratios
SpecifierOpt * sample_fmts
SpecifierOpt * audio_channels
SpecifierOpt * codec_names
SpecifierOpt * canvas_sizes
SpecifierOpt * reinit_filters
SpecifierOpt * passlogfiles
SpecifierOpt * frame_rates
SpecifierOpt * bits_per_raw_sample
SpecifierOpt * intra_matrices
SpecifierOpt * chroma_intra_matrices
int nb_hwaccel_output_formats
SpecifierOpt * top_field_first
int metadata_chapters_manual
SpecifierOpt * audio_ch_layouts
SpecifierOpt * copy_prior_start
SpecifierOpt * max_muxing_queue_size
SpecifierOpt * rc_overrides
const char ** attachments
SpecifierOpt * codec_tags
SpecifierOpt * time_bases
SpecifierOpt * fix_sub_duration
SpecifierOpt * inter_matrices
SpecifierOpt * hwaccel_output_formats
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
int max_muxing_queue_size
int copy_initial_nonkeyframes
double forced_keyframes_expr_const_values[FKF_NB]
AVRational frame_aspect_ratio
double rotate_override_value
int audio_channels_mapped
size_t muxing_queue_data_threshold
enum VideoSyncMethod vsync_method
AVRational max_frame_rate
AVCodecParameters * ref_par
const char * attachment_filename
int64_t last_nb0_frames[3]
struct InputStream * sync_ist
AVDictionary * encoder_opts
char * filters
filtergraph associated to the -filter option
int64_t forced_kf_ref_pts
char * filters_script
filtergraph script associated to the -filter_script option
AVExpr * forced_keyframes_pexpr
size_t muxing_queue_data_size