X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=ffmpeg.h;h=03ba2d0d99027eb33d33a6857b4daadc6ae8f90b;hb=8db0f71b49a360dd64ae482fa4244db055f117eb;hp=7fd129a2837f15b26247e234a212541be24df65d;hpb=3b03186d56794b902050a36516e44191ba07bb05;p=ffmpeg diff --git a/ffmpeg.h b/ffmpeg.h index 7fd129a2837..03ba2d0d990 100644 --- a/ffmpeg.h +++ b/ffmpeg.h @@ -63,6 +63,7 @@ enum HWAccelID { HWACCEL_VDPAU, HWACCEL_DXVA2, HWACCEL_VDA, + HWACCEL_VIDEOTOOLBOX, }; typedef struct HWAccel { @@ -92,6 +93,7 @@ typedef struct OptionsContext { /* input/output options */ int64_t start_time; + int64_t start_time_eof; int seek_timestamp; const char *format; @@ -229,6 +231,7 @@ typedef struct OutputFilter { /* temporary storage until stream maps are processed */ AVFilterInOut *out_tmp; + enum AVMediaType type; } OutputFilter; typedef struct FilterGraph { @@ -455,6 +458,15 @@ typedef struct OutputStream { // number of frames/samples sent to the encoder uint64_t frames_encoded; uint64_t samples_encoded; + + /* packet quality factor */ + int quality; + + /* packet picture type */ + int pict_type; + + /* frame encode sum of squared error values */ + int64_t error[4]; } OutputStream; typedef struct OutputFile { @@ -509,6 +521,7 @@ extern int frame_bits_per_raw_sample; extern AVIOContext *progress_avio; extern float max_error_rate; extern int vdpau_api_ver; +extern char *videotoolbox_pixfmt; extern const AVIOInterruptCB int_cb; @@ -536,11 +549,13 @@ 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); +int init_complex_filtergraph(FilterGraph *fg); int ffmpeg_parse_options(int argc, char **argv); int vdpau_init(AVCodecContext *s); int dxva2_init(AVCodecContext *s); int vda_init(AVCodecContext *s); +int videotoolbox_init(AVCodecContext *s); #endif /* FFMPEG_H */