00001 /* 00002 exif353.h 00003 */ 00004 #ifndef _EXIF_H 00005 #define _EXIF_H 00006 00007 00008 void exif_invalidate(void); 00009 int exif_rebuild(int frames); // reallocate meta buffer to store per-frame meta data (later output as Exif) 00010 int exif_enable(int en); // enable/disable Exif processing (both W/R) 00011 int dir_find_tag (unsigned long tag); 00012 00013 inline void write_meta_raw_irq(char * data, int offset, int len); //write data to meta, called from IRQ 00014 inline int write_meta_irq(char * data, int * indx, unsigned long ltag, int len); //write data to meta, called from IRQ(len==0 => use field length) 00015 inline void putlong_meta_raw_irq(unsigned long data, int offset); //write data to meta (4 bytes, big endian), called from IRQ 00016 inline int putlong_meta_irq(unsigned long data, int * indx, unsigned long ltag); //write data to meta (4 bytes, big endian), from IRQ 00017 //void write_meta_raw_irq(char * data, int offset, int len); //write data to meta, called from IRQ 00018 //int write_meta_irq(char * data, int * indx, unsigned long ltag, int len); //write data to meta, called from IRQ(len==0 => use field length). Returns index of the written data, -1 if not written 00019 00020 void write_meta_raw(char * data, int offset, int len); //write data to meta, called from outside IRQ (atomic) 00021 int write_meta(char * data, int * indx, unsigned long ltag, int len); //write data to meta, from outside IRQ (atomic) (len==0 => use field length). Returns index of the written data, -1 if not written 00022 void putlong_meta_raw(unsigned long data, int offset); //write data to meta (4 bytes, big endian), called from outside IRQ (atomic) 00023 int putlong_meta(unsigned long data, int * indx, unsigned long ltag); //write data to meta (4 bytes, big endian), from outside IRQ (atomic). Returns index of the written data, -1 if not written 00024 00025 char * encode_time(unsigned long sec, unsigned long usec); 00026 int store_meta(void); //called from IRQ service - put current metadata to meta_buffer, return page index 00027 00028 00029 #endif