Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENHANCEMENT] tune psy --tune 4 with featues from aom -tune=ssimulacra2 and svt --avif #105

Closed
gitoss opened this issue Dec 6, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@gitoss
Copy link

gitoss commented Dec 6, 2024

Is your feature request related to a problem? Please describe.
I'm using avif more often lately becasue jxl adoption for web and devices seems to hampred by Google.

The psy --tune 4 is great, but the new kid on the block is aom -tune=ssimulacra2 - here's a thread and even a comparison (though biased towards aom, because thee measurement score is exactly what aom is tuned for):

AOMediaCodec/libavif#2412 (comment)
webmproject/codec-compare#17

Describe the solution you'd like
If you -psy devs didn't already do it, looking at whatever aom is doing with its image tuning might be worth considering for svt, too. https://aomedia.googlesource.com/aom/+log/refs/heads/main

And of course you've already seen the memory-reducing --avif mode of mainline: https://gitlab.com/AOMediaCodec/SVT-AV1/-/commit/7faf0462f32ba9ad61f17b5f30e0939e1f0723a4

Describe alternatives you've considered
I've considered switching to aom, but am not yet convinced aom is and will keep being superior to svt for image encoding.

Additional context
I'm aware that svt cannot do 444, but imho 420 is just fine for most lossy image encoding.

@gitoss gitoss added the enhancement New feature or request label Dec 6, 2024
@juliobbv-p
Copy link
Collaborator

So, libaom's tune=ssimulacra2's tweaks (Variance Boost, chroma delta q offset and QM, rdmult scaling, etc) actually come from SVT-AV1-PSY's tune=4, with some extra tweaks for 4:4:4. So feel free to give libaom's new tune a try.

Tune "ssimulacra2" is actually kind of a misnomer -- it performs as well (or even better) with other modern image metrics like DSSIM and Butteraugli (for distances <2.5).

That said, libaom doesn't allow to thread encodes as well as SVT-AV1-PSY, so you might need to factor in the need to parallel encode images to get adequate CPU core saturation.

@gitoss
Copy link
Author

gitoss commented Dec 7, 2024

So, libaom's tune=ssimulacra2's tweaks (Variance Boost, chroma delta q offset and QM, rdmult scaling, etc) actually come from SVT-AV1-PSY's tune=4

Thanks for looking at it. I'm only recognizing just now that the patches of -psy and aom are all committed by @juliobbv - so I'm closing this ticket.

I'll stick with svt because of the superior threading - having to use tiles or do parallel /chunked encoding with av1 in the olden days always annoyed me.

@gitoss gitoss closed this as completed Dec 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants