X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fffmpeg.h;h=4f1624cee5c73558233cf2ec00c8bd4169d228af;hb=81fc9cd689dd964a4736fa1f8986a64db6b4a937;hp=1a514e1d57f8f58a4a3124dc411f0e2d408df065;hpb=6a85ddeaab7b4a87cffb57f105b7a5a96a6e2ff4;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/ffmpeg.h b/cinelerra-5.1/cinelerra/ffmpeg.h index 1a514e1d..4f1624ce 100644 --- a/cinelerra-5.1/cinelerra/ffmpeg.h +++ b/cinelerra-5.1/cinelerra/ffmpeg.h @@ -138,7 +138,7 @@ public: int64_t seek_pos, curr_pos; int fidx; int reading, writing; - int seeked, eof; + int seeking, seeked, eof; int hw_pixfmt; AVBufferRef *hw_device_ctx; @@ -256,6 +256,7 @@ public: int init_frame(AVFrame *picture); int load(VFrame *vframe, int64_t pos); + int probe(int64_t pos); int video_seek(int64_t pos); int encode(VFrame *vframe); int drain(); @@ -368,6 +369,10 @@ public: static double to_secs(int64_t time, AVRational time_base); int info(char *text, int len); + void put_cache_frame(VFrame *frame, int64_t position); + int get_use_cache(); + void purge_cache(); + int init_decoder(const char *filename); int open_decoder(); int init_encoder(const char *filename); @@ -379,6 +384,7 @@ public: double get_initial_timecode(int data_type, int channel, double frame_rate); int audio_seek(int ch, int64_t pos); + int video_probe(int64_t pos); int video_seek(int layer, int64_t pos); int decode(int chn, int64_t pos, double *samples, int len); @@ -430,6 +436,7 @@ public: int decoding, encoding; int has_audio, has_video; + int interlace_from_codec; FFMPEG(FileBase *file_base=0); ~FFMPEG(); @@ -459,6 +466,7 @@ public: float ff_aspect_ratio(int stream); int ff_color_range(int stream); int ff_color_space(int stream); + int ff_interlace(int stream); double ff_frame_rate(int stream); const char *ff_video_codec(int stream); int64_t ff_video_frames(int stream);