[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology

Name
Options
Comment
Verification
4chan Pass users can bypass this verification. [Learn More] [Login]
File
  • Please read the Rules and FAQ before posting.
  • You may highlight syntax and preserve whitespace by using [code] tags.

08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
05/04/17New trial board added: /bant/ - International/Random
10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
[Hide] [Show All]


[Advertise on 4chan]


File: 1741913766907526.png (293 KB, 1920x2160)
293 KB
293 KB PNG
I did some image encoding tests out of curiosity and the fact that I don't get anything useful from retard flamewar threads yesterday and I'm honestly shocked at the results, have I made some kind of mistake here?
The dataset is https://imagecompression.info/test_images/ 16 bit RGB that I downsampled with dithering to 8 bit
Both encoders (avifenc, cjxl) were set to all 16 cores, yuv 444, default tuning and were deocded with their respecitve decoders (avifdec, djxl) with output disabled. Images were searched from lossless (100) to whatever quality gave a ssim2 value below 90 then I continued (so that this would finish in some reasonable amount of time) to the next effort value and so on. In total 2000 images encoded. Real quality was measured with the ssim2 tool that came with libjxl, could have also tried butteraugli but I forgot that it exists.
>>
Did you use jpgs as the test images?
>>
File: 1742747429158987.webm (3.19 MB, 1280x512)
3.19 MB
3.19 MB WEBM
>>107862359
SS2 90 is a pretty brutally high standard for any image format. At that point you might as well just go full lossless and JXL would win in that category too. Anyway AVIF is doing much much better @ SS2 80 and below now with the IQ tune so it doesn't just smear detail away (as much). That still leaves room for improvement but to be fair it is pretty cool that the stock JXL settings are "good enough".

>80 = very high quality. Distortion not noticeable by an average observer in a side-by-side comparison at 1:1 from a normal viewing distance. This corresponds to the typical output of cjxl -d 1.5 / -q 85 or libjpeg-turbo 4:2:2 quality 85.

https://github.com/cloudinary/ssimulacra2


File size: 254 KB (~29% smaller than JPG)
https://files.catbox.moe/ptvr88.avif
--sharpyuv -s 6 -q 72 -d 10 -y 420 --cicp 1/13/1 -a tune=iq

File size: 284 KB (~20% smaller than JPG)
https://files.catbox.moe/isrw29.jxl
-q 91 -e 7 --override_bitdepth=10
>>
>>107862505
Yeah I suppose I could have looked at the iq tune of avif before doing this, would have been much more fair.
Btw. when does the jxl encoder choose to use 420, if ever? I've only ever seen it output 444 even with really low quality settings
>>
>>107862550
JXL seems to be RGB based when you type ffmpeg -h encoder=libjxl so it's stuck with full chroma resolution. AVIF is more flexible in that aspect since a lot of video screenshots can now be compressed in native yuv 420. YUV 444 is more of a niche thing for like videogame screenshots IMHO.
>>
File: 1762896747824462.png (3.01 MB, 1024x1024)
3.01 MB
3.01 MB PNG
I forgot, here's the source image in case anyone wants to work with it. Not mine, it's from another thread, it's a very good stress test for image codecs since it's not just some lines a flat colors (ie Anime).
>>
File: 1760405617164377.png (306 KB, 1144x268)
306 KB
306 KB PNG
>>107862624
That doesn't seem to be the case, haven't tested it if it's some experimental unstable option but I don't think they would be stupid enough to not include chroma downsampling support.
What does --sharpyuv even do? Variable downsampling encoding around edges like utf-8 is for text?
>>
File: 1765129223363834.png (4 KB, 256x256)
4 KB
4 KB PNG
>>107863075
>Variable downsampling encoding around edges like utf-8 is for text?
This wasn't particularly clear so I made a visual
>>
>>107863075
Not sure about jxl thing but --sharpyuv tried to align colors to bright edges of images better in an attempt to mask chroma sub sampling artifacts. Works good enough in photographic images but you'll still find problems with videogame screenshots especially with anti-aliasing disabled.
>>
>>107863191
I'll repeat the experiment with 420, iq tune and butteraugli and search down to ssim 85 then. Anything else I should try?
Here's the spreasheet if you want it
https://litter.catbox.moe/z6my3icu4mq28g1a.ods
>>
File: 1751377719693234.jpg (36 KB, 460x518)
36 KB
36 KB JPG
>>107863362
I'd say avoid testing Anime images, AVIF just really really loves lines with flat colors lol. Maybe include some cat pics, cat fur seems to stress out AVIF.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.