00001 #ifndef FILEJPEG_H
00002 #define FILEJPEG_H
00003
00004 #include "file.inc"
00005 #include "filelist.h"
00006 #include "vframe.inc"
00007
00008 class FileJPEG : public FileList
00009 {
00010 public:
00011 FileJPEG(Asset *asset, File *file);
00012 ~FileJPEG();
00013
00014
00015 static int check_sig(Asset *asset);
00016 static void get_parameters(BC_WindowBase *parent_window,
00017 Asset *asset,
00018 BC_WindowBase* &format_window,
00019 int audio_options,
00020 int video_options);
00021
00022 static int get_best_colormodel(Asset *asset, int driver);
00023 int colormodel_supported(int colormodel);
00024 int read_frame(VFrame *frame, VFrame *data);
00025 int write_frame(VFrame *frame, VFrame *data, FrameWriterUnit *unit);
00026 int can_copy_from(Edit *edit, int64_t position);
00027 int read_frame_header(char *path);
00028 FrameWriterUnit* new_writer_unit(FrameWriter *writer);
00029
00030 void *decompressor;
00031 };
00032
00033
00034 class JPEGUnit : public FrameWriterUnit
00035 {
00036 public:
00037 JPEGUnit(FileJPEG *file, FrameWriter *writer);
00038 ~JPEGUnit();
00039
00040 FileJPEG *file;
00041 void *compressor;
00042 };
00043
00044 class JPEGConfigVideo : public BC_Window
00045 {
00046 public:
00047 JPEGConfigVideo(BC_WindowBase *parent_window, Asset *asset);
00048 ~JPEGConfigVideo();
00049
00050 int create_objects();
00051 int close_event();
00052
00053 BC_WindowBase *parent_window;
00054 Asset *asset;
00055 };
00056
00057 #endif