00001 #ifndef FILECR2_H 00002 #define FILECR2_H 00003 00004 00005 #include "filebase.h" 00006 00007 00008 // This uses a program from a guy called Coffin to do the decoding. 00009 // Changes to the dcraw.c file were commented with // Cinelerra 00010 00011 // The expected behavior for the dcraw function: 00012 // -i <path> 00013 // When the file is recognized, return 0. 00014 // When the file is unknown, return 1. 00015 00016 // <path> 00017 // Decode the file. 00018 extern "C" 00019 { 00020 extern char dcraw_info[1024]; 00021 extern float **dcraw_data; 00022 extern int dcraw_alpha; 00023 int dcraw_main (int argc, char **argv); 00024 } 00025 00026 class FileCR2 : public FileBase 00027 { 00028 public: 00029 FileCR2(Asset *asset, File *file); 00030 ~FileCR2(); 00031 00032 void reset(); 00033 static int check_sig(Asset *asset); 00034 00035 // Open file and set asset properties but don't decode. 00036 int open_file(int rd, int wr); 00037 int close_file(); 00038 // Open file and decode. 00039 int read_frame(VFrame *frame); 00040 // Get best colormodel for decoding. 00041 int colormodel_supported(int colormodel); 00042 00043 private: 00044 void format_to_asset(); 00045 }; 00046 00047 00048 #endif
1.4.4