airsdk / Adobe-Runtime-Support

Report, track and discuss issues in Adobe AIR. Monitored by Adobe - and HARMAN - and maintained by the AIR community.
200 stars 11 forks source link

Latest ATF Tools ignore quaility setting #2454

Open sjabberwocky opened 1 year ago

sjabberwocky commented 1 year ago

I use this command lines to generate aft files.

For PC: png2atf -c d -n 0,0 -r -i %2\%1 -o %2\pc\%1.atf

For iOS: png2atf -c p -n 0,0 -r -q 0 -i %2\%1 -o %2\ios\%1.atf

And for Android: png2atf -c e -n 0,0 -q 0 -i %2\%1 -o %2\android\%1.atf

Today I found out that latest ATF tools (ver. 3?) ignore -q 0 argument and save it with compression.

ajwfrost commented 1 year ago

-q is about the quantization level used for the JPEG-XR compression which is more relevant to ETC2 format I think. All the ATF formats are compressed though..? eg:

The original 'ETC1' compression scheme provides 6x compression of 24-bit RGB data

PVRTC (PowerVR Texture Compression) and PVRTC2 are a family of lossy, fixed-rate texture compression formats

Do you mean lossy vs lossless compression?

   -c  Create a block compressed texture set (DXT1+ETC1+ETC2+PVRTC4bpp).
       Use d, e, p or e2 to only encode and embed either dxt1, etc1, pvrtc or etc2.
   -r  Compress block compressed textures using JPEG-XR+LZMA to reduce file size.
   -q  quantization level. 0 == lossless. (default is 30 for standard
       textures and 0 for block compressed textures)
   -f  trim flex bits. 0 == lossless. (default is 0)

so with -q of 0 you would expect compression but without losing information..

sjabberwocky commented 1 year ago

so with -q of 0 you would expect compression but without losing information..

Yes, it looks like something is broken, because with the same data the atf tool generates a much lighter atf file, than it was before.

ajwfrost commented 1 year ago

I'm not seeing much of a difference in the file sizes when using -q 0 or when omitting it, but the atfinfo results are showing a different file type which is odd...

Can you please share the output of the png2atf tool when you're doing one of these, with/without the -q 0, i.e.

png2atf -c e -n 0,0 -q 0 -i %2\%1 -o test_withq0.atf
png2atf -c e -n 0,0      -i %2\%1 -o test_noq0.atf

and then also:

atfinfo -i  test_withq0.atf
atfinfo -i  test_noq0.atf

If you've got two different versions of the ATF tools then doing this with both versions would also help.

Plus I'm not sure what versions you're looking at but it seems that the png2atf tool, run on its own, gives out a version 0.8 regardless of which version it is. I've used the latest one, and the earliest one I could find which is from AIR SDK 18. Can you confirm where you got each of your versions from and what the "date modified" field is on them (from Properties, Details tab)?

thanks