cwebp
lossy VP8 sourced from same WebP Lossless vs. PNG gave different output?
#53
Replies: 4 comments 12 replies
-
Unsure if the same issue is also the cause of: |
Beta Was this translation helpful? Give feedback.
-
Your first instruction needs "-lossless -exact" to make sure "cwebp-lossy-in.webp" is the same. I created: https://g-issues.webmproject.org/issues/432241412 [ vrabaud@google.com @ CE 2025-07-16 16:07:41 UTC: The averaging on 4 pixels seems to be more accurate in the lossy case.
---- [ jzern@google.com @ CE 2025-07-16 23:50:29 UTC: It's likely we can change this to "WebPConvertRGBA32ToUV", if that's the source of the difference. ] |
Beta Was this translation helpful? Give feedback.
-
Regarding YUV <-> RGB conversion. |
Beta Was this translation helpful? Give feedback.
-
One thing more that I wonder, what was the exact cause of this rather exceptional size difference? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
cwebp -mt -z 9 "cwebp-lossy-in.png" -o "cwebp-lossy-in.webp"
# ^ Input WebP Lossless reference. Verified identical as the PNG.
cwebp -mt -m 6 -q 92 "cwebp-lossy-in.webp" -o "q92x.webp"
cwebp -mt -m 6 -q 92 "cwebp-lossy-in.png" -o "q92.webp"
.
The output differs.
Using FFmpeg to output equivalently always gave "q92.webp".
(FFmpeg decodes the input to raw data first)
Additionally tested WebP 1.2.2, 1.3.2, 1.4.0, 1.5.0 (besides current 1.6.0):
All gave identical result (of "q92").
Another thing of interest might be:
.
The "q91.5" though of higher PSNR: but visually apparently worse. (for blurriness)
This also demonstrates that very subtle difference in quality factor:
Can cause great visual difference in lossy VP8.
Stepping the "-q" by 0.1, it's also noted that:
Not every different "-q" would give different output.
(e.g "-q" 91.5 .. 91.8 may output identically)
.
It would be sensible to reflect the effective "-q" range for every lossy encode:
So to aid further quality fine-tune.
Beta Was this translation helpful? Give feedback.
All reactions