From: Carsten H. (T. R. <ra...@ra...> - 2008-03-01 06:39:38
|
On Fri, 15 Feb 2008 15:56:12 +0100 "Cedric BAIL" <ced...@fr...> babbled: ok- some testing here. seems to work. didn't spot any nasties on a read. lets have this in cvs (in cvs now) and let it .... test more. > So here we go with the big dangerous patch that could break every thing :-) > > I did change the file format to this version finally : > > /* Version 3 */ > /* NB: all int's are stored in network byte order on disk */ > /* file format: */ > int magic; /* magic number ie 0x1ee70f42 */ > int num_directory_entries; /* number of directory entries to follow */ > int num_dictionary_entries; /* number of dictionary entries to follow */ > struct > { > int data_offset; /* bytes offset into file for data chunk */ > int size; /* size of the data chunk */ > int data_size; /* size of the (uncompressed) data chunk */ > int name_offset; /* bytes offset into file for name string */ > int name_size; /* length in bytes of the name field */ > int flags; /* flags - for now 0 = uncompressed, 1 = compressed */ > } directory[num_directory_entries]; > struct > { > int hash; > int offset; > int size; > int prev; > int next; > } dictionary[num_dictionary_entries]; > /* now start the string stream. */ > /* and right after them the data stream. */ > > All directory and dictionary entry are now aligned, this simplify a > lot the reading code. With this patch data decoding and encoding use > the dictionary if provided for string, double and float. As float and > double are now uniq string, the dictionary act also like a cache for > float and double string conversion. Old eet_flush is still present in > eet_lib for archeologist, but as we want compatibility with previous > eet file format previous eet_internal_read is still in use and work. > > I also provide a patch for edje, that should be applied with the eet > patch. It use the new eet API to prevent unecessary > evas_stringshare_add and switch edc source file to the new > EET_T_INLINED_STRING type (This string are compressed inside the > encoded data and not put inside the dictionary). Previous edje file > should still work with this update, but only new one will benefit from > this upgrade. > > -- > Cedric BAIL > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ra...@ra... |