View Single Post
  #13  
Old 14-04-2016, 12:43
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,749
Thanks: 2,170
Thanked 11,206 Times in 2,307 Posts
Razor12911 is on a distinguished road
Quote:
Originally Posted by ChronoCross View Post
Hey ramirocruzo reflate always win in size because detects valid and invalid zlib streams. Also if fzr works like precomp and antiz those programs discard invalid zlib streams. I made some test with diferent texture and i cant see good result. So what kind of files suggest to test?
Invalid zlib streams? Maybe you referring to headerless zlib streams.
reflate doesn't always win in size too, there is a file from NFS The Run, UI.sb
with reflate, you get 361MB, precomp gets 373MB, fzr gets 348MB and some other methods of reflate that I have created get 308MB.
If a zlib stream is invalid then it is not a zlib stream, not even reflate can do anything about it.

There are 2 problems with zlib recompressors
1: detection, finding all streams a file has is not easy but finding common is easy which is what fzr, precomp and reflate, the difference with reflate is it takes it too another level, it doesn't detect common zlib, it knows what programs that use zlib as compression for zip, for example 7-Zip or KZip, all those use zlib, detecting the zlib stream using common headers is not possible so the only thing that reflate (rawdet) does I think is detect the header of the zip file created by an archiver, e.g. 7-Zip then it knows that there is a stream here and there but precomp, antiz don't do any of that.

2: is after finding that zlib stream, after unpacking it, can you restore it the way it was (matching CRC) if so then precomp, fzr or reflate will unpack it but if you can't then it is ignored.

precomp, fzr and other recompressors have these problems, if it is not detecting then it is restoration luckily with reflate, it isn't much of a problem because it is a program that is mastered to detect normal zlib streams and zlib streams that have been tuned to work specifically for archivers. PNG's use zlib but I myself have problems restoring the zlib stream because of the variations done to the source of zlib.

**Note, this is what I know so far.

Last edited by Razor12911; 14-04-2016 at 12:46.
Reply With Quote
The Following 2 Users Say Thank You to Razor12911 For This Useful Post:
Mini (14-04-2016), RamiroCruzo (14-04-2016)