r870: Merge 2.1:
[cinelerra_cv.git] / cinelerra / filejpeg.h
blobbabd44f0d426f87960e807de458e7c6c87914688
1 #ifndef FILEJPEG_H
2 #define FILEJPEG_H
4 #include "file.inc"
5 #include "filelist.h"
6 #include "vframe.inc"
8 class FileJPEG : public FileList
10 public:
11 FileJPEG(Asset *asset, File *file);
12 ~FileJPEG();
14 // basic commands for every file interpreter
15 static int check_sig(Asset *asset);
16 static void get_parameters(BC_WindowBase *parent_window,
17 Asset *asset,
18 BC_WindowBase* &format_window,
19 int audio_options,
20 int video_options);
22 static int get_best_colormodel(Asset *asset, int driver);
23 int colormodel_supported(int colormodel);
24 int read_frame(VFrame *frame, VFrame *data);
25 int write_frame(VFrame *frame, VFrame *data, FrameWriterUnit *unit);
26 int can_copy_from(Edit *edit, int64_t position);
27 int read_frame_header(char *path);
28 FrameWriterUnit* new_writer_unit(FrameWriter *writer);
30 void *decompressor;
34 class JPEGUnit : public FrameWriterUnit
36 public:
37 JPEGUnit(FileJPEG *file, FrameWriter *writer);
38 ~JPEGUnit();
40 FileJPEG *file;
41 void *compressor;
44 class JPEGConfigVideo : public BC_Window
46 public:
47 JPEGConfigVideo(BC_WindowBase *parent_window, Asset *asset);
48 ~JPEGConfigVideo();
50 int create_objects();
51 int close_event();
53 BC_WindowBase *parent_window;
54 Asset *asset;
57 #endif