Monthly Archives: June 2003

Better Wavelets

Another update to the wavelet-code (now standing at 2.7). This one is INCOMPATIBLE with older versions and will crash them. The new version has lots of failsafes and should be “immune” towards new versions and corrupt data (if the header is intact). Get the complete package (with source) or visit the demo-page. Warning! Upgrade plugin first if you have an old version installed!

Complete changelog:

  • removed MMX optimisations for wavelet transforms and made code even faster
  • removed unused MaxBits parameter from wv_init_channel
  • changed bitstream format (order in which bits are written) and removed writing unneccessary zeros at the end of each block
  • changed yuv transform slightly (Cr / CB are now centred around 0, not 128), as we’re writing the sign in any case
  • changed colorspace conversion to be in-place
  • fixed bug in raw_load if file was too small
  • misc optimisations to bit-files
  • added wv_ prefix to log2i, mse_to_psnr, psnr_to_mse
  • changed the # of iterations for the multi-channel size selector (now bails out earlier)
  • new function to return the header of an image (wv_read_header), changed layout of t_wv_dchannels
  • changed decompression to work for (hopefully) all invalid data w/o overwriting anything in memory
  • wv_init_decode_channels now accepts an extra reduction parameter (return a scaled down version of image) (see -dr parameter in wako.exe)