#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
-#include "libavfilter/avfiltergraph.h"
#include "libavutil/avutil.h"
#include "libavutil/dict.h"
/* 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 {
+ OptionGroup *g;
+
/* input/output options */
int64_t start_time;
const char *format;
int nb_copy_initial_nonkeyframes;
SpecifierOpt *filters;
int nb_filters;
+ SpecifierOpt *filter_scripts;
+ int nb_filter_scripts;
SpecifierOpt *pass;
int nb_pass;
SpecifierOpt *passlogfiles;
int decoding_needed; /* true if the packets must be decoded in 'raw_fifo' */
AVCodec *dec;
AVFrame *decoded_frame;
+ AVFrame *filter_frame; /* a ref of decoded_frame, to be sent to filters */
int64_t start; /* time when read started */
/* predicted dts of the next packet read for this stream or (when there are
int resample_channels;
uint64_t resample_channel_layout;
- /* a pool of free buffers for decoded data */
- FrameBuffer *buffer_pool;
-
/* decoded data from this stream goes into all those filters
* currently video and audio only */
InputFilter **filters;
/* pts of the first frame encoded for this stream, used for limiting
* recording time */
int64_t first_pts;
+ /* dts of the last packet sent to the muxer */
+ int64_t last_mux_dts;
AVBitStreamFilterContext *bitstream_filters;
AVCodec *enc;
int64_t max_frames;
int top_field_first;
float frame_aspect_ratio;
- float last_quality;
/* forced key frames */
int64_t *forced_kf_pts;
int64_t sws_flags;
AVDictionary *opts;
+ AVDictionary *resample_opts;
int finished; /* no more packets should be written for this stream */
int stream_copy;
const char *attachment_filename;
extern int exit_on_error;
extern int print_stats;
extern int qp_hist;
-extern int same_quant;
extern const AVIOInterruptCB int_cb;
int ist_in_filtergraph(FilterGraph *fg, InputStream *ist);
FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost);
+int avconv_parse_options(int argc, char **argv);
+
#endif /* AVCONV_H */