#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;
/* input options */
int64_t input_ts_offset;
int rate_emu;
+ int accurate_seek;
SpecifierOpt *ts_scale;
int nb_ts_scale;
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;
int eagain; /* true if last read attempt returned EAGAIN */
int ist_index; /* index of first stream in ist_table */
int64_t ts_offset;
+ int64_t start_time; /* user-specified start time in AV_TIME_BASE or AV_NOPTS_VALUE */
+ int64_t recording_time;
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 rate_emu;
+ int accurate_seek;
#if HAVE_PTHREADS
pthread_t thread; /* thread reading from this file */
/* 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;
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;
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 */