X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=avconv.h;h=1244d86ec3c0eeb06540feff975e6c420dff622a;hb=c110cbf6b59dfa0f3fc712b4e3c9095e33c57b50;hp=1cfcc40025e734e4dbefdb0ec59f987946c1143a;hpb=716d413c13981da15323c7a3821860536eefdbbb;p=ffmpeg diff --git a/avconv.h b/avconv.h index 1cfcc40025e..1244d86ec3c 100644 --- a/avconv.h +++ b/avconv.h @@ -36,7 +36,6 @@ #include "libavcodec/avcodec.h" #include "libavfilter/avfilter.h" -#include "libavfilter/avfiltergraph.h" #include "libavutil/avutil.h" #include "libavutil/dict.h" @@ -51,24 +50,24 @@ /* 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; @@ -158,6 +157,8 @@ typedef struct OptionsContext { int nb_copy_initial_nonkeyframes; SpecifierOpt *filters; int nb_filters; + SpecifierOpt *filter_scripts; + int nb_filter_scripts; SpecifierOpt *pass; int nb_pass; SpecifierOpt *passlogfiles; @@ -200,6 +201,7 @@ typedef struct InputStream { 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 @@ -223,9 +225,6 @@ typedef struct InputStream { 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; @@ -267,6 +266,8 @@ typedef struct OutputStream { /* 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; @@ -278,7 +279,6 @@ typedef struct OutputStream { int top_field_first; float frame_aspect_ratio; - float last_quality; /* forced key frames */ int64_t *forced_kf_pts; @@ -294,6 +294,7 @@ typedef struct OutputStream { 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; @@ -343,7 +344,6 @@ extern int copy_tb; extern int exit_on_error; extern int print_stats; extern int qp_hist; -extern int same_quant; extern const AVIOInterruptCB int_cb; @@ -365,4 +365,6 @@ int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOu 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 */