r955: Fix the Diffkey icon.
[cinelerra_cv.git] / cinelerra / fileyuv.h
bloba8c3116f59b9aa4d82525fb2bfa56a2015e8ad25
1 #ifndef FILEYUV_H
2 #define FILEYUV_H
4 #include "yuvstream.h"
5 #include "file.inc"
6 #include "filelist.h"
7 #include "vframe.inc"
8 #include "formattools.h"
9 #include "ffmpeg.h"
11 class FileYUV : public FileBase
13 public:
14 FileYUV(Asset *asset, File *file);
15 ~FileYUV();
17 static void get_parameters(BC_WindowBase *parent_window,
18 Asset *asset,
19 BC_WindowBase* &format_window,
20 int video_options,
21 FormatTools *format);
23 int open_file(int rd, int wr);
24 static int check_sig(Asset *asset);
25 static int get_best_colormodel(Asset *asset, int driver);
26 int colormodel_supported(int colormodel);
27 int read_frame(VFrame *frame);
28 int write_frames(VFrame ***frame, int len);
29 int can_copy_from(Edit *edit, int64_t position);
30 int close_file();
31 int set_video_position(int64_t x);
33 // below here are local routines not required by interface
34 void ensure_temp(int width, int height);
36 private:
37 VFrame *temp;
38 YUVStream *stream;
39 Asset *incoming_asset;
40 FFMPEG *ffmpeg;
41 int pipe_latency;
45 class YUVConfigVideo : public BC_Window
47 public:
48 YUVConfigVideo(BC_WindowBase *parent_window, Asset *asset,
49 FormatTools *format);
50 ~YUVConfigVideo();
52 int create_objects();
53 int close_event();
55 BC_WindowBase *parent_window;
56 Asset *asset;
57 FormatTools *format;
58 BC_Hash *defaults;
59 BC_TextBox *path_textbox;
60 BC_RecentList *path_recent;
61 PipeConfig *pipe_config;
62 PipePreset *mpeg2enc;
63 PipePreset *ffmpeg;
67 #endif