/* select an input stream for an output stream */
typedef struct StreamMap {
- int disabled; /** 1 is this mapping is disabled by a negative map */
+ int disabled; /* 1 is this mapping is disabled by a negative map */
int file_index;
int stream_index;
int sync_file_index;
int sync_stream_index;
- char *linklabel; /** name of an output link, for mapping lavfi outputs */
+ char *linklabel; /* name of an output link, for mapping lavfi outputs */
} StreamMap;
-/**
- * select an input file for an output file
- */
+/* select an input file for an output file */
typedef struct MetadataMap {
- int file; ///< file index
- char type; ///< type of metadata to copy -- (g)lobal, (s)tream, (c)hapter or (p)rogram
- int index; ///< stream/chapter/program number
+ int file; // file index
+ char type; // type of metadata to copy -- (g)lobal, (s)tream, (c)hapter or (p)rogram
+ int index; // stream/chapter/program number
} MetadataMap;
typedef struct OptionsContext {
uint64_t limit_filesize;
float mux_preload;
float mux_max_delay;
+ int shortest;
int video_disable;
int audio_disable;
int nb_copy_initial_nonkeyframes;
SpecifierOpt *filters;
int nb_filters;
+ SpecifierOpt *pass;
+ int nb_pass;
+ SpecifierOpt *passlogfiles;
+ int nb_passlogfiles;
} OptionsContext;
typedef struct InputFilter {
typedef struct InputFile {
AVFormatContext *ctx;
int eof_reached; /* true if eof reached */
+ int eagain; /* true if last read attempt returned EAGAIN */
int ist_index; /* index of first stream in ist_table */
- int buffer_size; /* current total buffer size */
int64_t ts_offset;
int nb_streams; /* number of stream that avconv is aware of; may be different
from ctx.nb_streams if new streams appear during av_read_frame() */
int top_field_first;
float frame_aspect_ratio;
- float last_quality;
/* forced key frames */
int64_t *forced_kf_pts;
int forced_kf_index;
char *forced_keyframes;
+ char *logfile_prefix;
FILE *logfile;
OutputFilter *filter;
int64_t sws_flags;
AVDictionary *opts;
- int is_past_recording_time;
+ int finished; /* no more packets should be written for this stream */
int stream_copy;
const char *attachment_filename;
int copy_initial_nonkeyframes;
- enum PixelFormat pix_fmts[2];
+ enum AVPixelFormat pix_fmts[2];
} OutputStream;
typedef struct OutputFile {
int64_t recording_time; /* desired length of the resulting file in microseconds */
int64_t start_time; /* start time in microseconds */
uint64_t limit_filesize;
+
+ int shortest;
} OutputFile;
extern InputStream **input_streams;
extern FilterGraph **filtergraphs;
extern int nb_filtergraphs;
-extern char *pass_logfilename_prefix;
extern char *vstats_filename;
extern float audio_drift_threshold;
extern int do_pkt_dump;
extern int copy_ts;
extern int copy_tb;
-extern int opt_shortest;
extern int exit_on_error;
extern int print_stats;
extern int qp_hist;
-extern int same_quant;
extern const AVIOInterruptCB int_cb;
void reset_options(OptionsContext *o);
void show_usage(void);
-int opt_cpuflags(const char *opt, const char *arg);
+int opt_cpuflags(void *optctx, const char *opt, const char *arg);
void opt_output_file(void *optctx, const char *filename);
int configure_filtergraph(FilterGraph *fg);
int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out);
+int ist_in_filtergraph(FilterGraph *fg, InputStream *ist);
+FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost);
#endif /* AVCONV_H */