Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

fileexr.h

Go to the documentation of this file.
00001 #ifndef FILEEXR_H
00002 #define FILEEXR_H
00003 
00004 
00005 #include "file.inc"
00006 #include "filelist.h"
00007 #include "vframe.inc"
00008 
00009 class FileEXR : public FileList
00010 {
00011 public:
00012         FileEXR(Asset *asset, File *file);
00013         ~FileEXR();
00014 
00015         static int check_sig(Asset *asset, char *test);
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         static int get_best_colormodel(Asset *asset, int driver);
00022         int colormodel_supported(int colormodel);
00023         int read_frame_header(char *path);
00024         int read_frame(VFrame *frame, VFrame *data);
00025         int get_memory_usage();
00026         int write_frame(VFrame *frame, VFrame *data, FrameWriterUnit *unit);
00027         FrameWriterUnit* new_writer_unit(FrameWriter *writer);
00028 
00029 // exr_compression values
00030         enum
00031         {
00032                 NONE,
00033                 PIZ,
00034                 ZIP,
00035                 ZIPS,
00036                 RLE,
00037                 PXR24
00038         };
00039 
00040         static char* compression_to_str(int compression);
00041         static int str_to_compression(char *string);
00042         static int compression_to_exr(int compression);
00043 
00044         int native_cmodel;
00045         int is_yuv;
00046         float *temp_y;
00047         float *temp_u;
00048         float *temp_v;
00049 };
00050 
00051 class EXRUnit : public FrameWriterUnit
00052 {
00053 public:
00054         EXRUnit(FileEXR *file, FrameWriter *writer);
00055         ~EXRUnit();
00056         
00057         FileEXR *file;
00058         VFrame *temp_frame;
00059 };
00060 
00061 
00062 
00063 class EXRConfigVideo : public BC_Window
00064 {
00065 public:
00066         EXRConfigVideo(BC_WindowBase *parent_window, Asset *asset);
00067         ~EXRConfigVideo();
00068 
00069         int create_objects();
00070         int close_event();
00071 
00072         BC_WindowBase *parent_window;
00073         Asset *asset;
00074 };
00075 
00076 
00077 class EXRUseAlpha : public BC_CheckBox
00078 {
00079 public:
00080         EXRUseAlpha(EXRConfigVideo *gui, int x, int y);
00081         int handle_event();
00082         EXRConfigVideo *gui;
00083 };
00084 
00085 class EXRCompression : public BC_PopupMenu
00086 {
00087 public:
00088         EXRCompression(EXRConfigVideo *gui, int x, int y, int w);
00089         void create_objects();
00090         int handle_event();
00091         EXRConfigVideo *gui;
00092 };
00093 
00094 class EXRCompressionItem : public BC_MenuItem
00095 {
00096 public:
00097         EXRCompressionItem(EXRConfigVideo *gui, int value);
00098         int handle_event();
00099         EXRConfigVideo *gui;
00100         int value;
00101 };
00102 
00103 #endif

Generated on Sun Jan 8 13:38:54 2006 for Cinelerra-svn by  doxygen 1.4.4