HWACCEL_AUTO,
HWACCEL_VDPAU,
HWACCEL_DXVA2,
+ HWACCEL_VDA,
};
typedef struct HWAccel {
int nb_hwaccels;
SpecifierOpt *hwaccel_devices;
int nb_hwaccel_devices;
+ SpecifierOpt *autorotate;
+ int nb_autorotate;
/* output options */
StreamMap *stream_maps;
/* temporary storage until stream maps are processed */
AVFilterInOut *out_tmp;
+ enum AVMediaType type;
} OutputFilter;
typedef struct FilterGraph {
AVStream *st;
int discard; /* true if stream data should be discarded */
int decoding_needed; /* true if the packets must be decoded in 'raw_fifo' */
+ AVCodecContext *dec_ctx;
AVCodec *dec;
AVFrame *decoded_frame;
AVFrame *filter_frame; /* a ref of decoded_frame, to be sent to filters */
PtsCorrectionContext pts_ctx;
double ts_scale;
int showed_multi_packet_warning;
- AVDictionary *opts;
+ AVDictionary *decoder_opts;
AVRational framerate; /* framerate forced with -r */
+ int autorotate;
int resample_height;
int resample_width;
int resample_pix_fmt;
/* dts of the last packet sent to the muxer */
int64_t last_mux_dts;
AVBitStreamFilterContext *bitstream_filters;
+ AVCodecContext *enc_ctx;
AVCodec *enc;
int64_t max_frames;
AVFrame *filtered_frame;
char *avfilter;
int64_t sws_flags;
- AVDictionary *opts;
+ AVDictionary *encoder_opts;
AVDictionary *resample_opts;
int finished; /* no more packets should be written for this stream */
int stream_copy;
// number of frames/samples sent to the encoder
uint64_t frames_encoded;
uint64_t samples_encoded;
+
+ /* packet quality factor */
+ int quality;
} OutputStream;
typedef struct OutputFile {
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);
+int init_complex_filtergraph(FilterGraph *fg);
int avconv_parse_options(int argc, char **argv);
int vdpau_init(AVCodecContext *s);
int dxva2_init(AVCodecContext *s);
+int vda_init(AVCodecContext *s);
#endif /* AVCONV_H */