r802: Remove renderframfsclient and renderfarmfsserver .h and .C from Makefile.am...
[cinelerra_cv/mob.git] / cinelerra / fileyuv.h
bloba61b62049a3181a273d752addc406a87749f3082
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 Defaults *defaults;
59 BC_TextBox *path_textbox;
60 BC_RecentList *path_recent;
61 PipeConfig *pipe_config;
62 PipePreset *mpeg2enc;
63 PipePreset *ffmpeg;
67 #endif