Log in

View Full Version : APNG vs. Animated WEBP


jay123210599
4th October 2024, 21:53
Which has the higher quality? Which would be a better alternative to gifs, apngs or lossless animated webps?

Z2697
5th October 2024, 17:05
Lossless is lossless, dude. Quality is equal.
HOWEVER somewhat "quality related" thing is that WebP Lossless only supports ARGB (8-8-8-8) this single one pixel format.

Compression ratio wise WebP Lossless is typically better than PNG. BUT an actual video codec with at least P frames would do far better. Not necessarily HEIF, an animated HEIF is just a mp4 with video stream and an image-item for thumbnail (and perhaps optionally some other stuff). A lot of "GIF" sharing platforms and social medias have been converting them to video clips long before HEIF was introduced. Although these platforms are probably not using lossless compression like you intended but many video codecs are capable.

Video formats also has the benefit of directly taking YUV format frames from your videos. (based on your other threads, you are converting videos right?)
You can even just cut some GOP out and call it a day. That's bit-exact, perfectly lossless, "more lossless" than your proposal (APNG or WebP ,because of the YUV to RGB conversion)

Here's some of my rant about iamge formats:
https://forum.doom9.org/showthread.php?p=2006891#post2006891

My another rant, if you forgive me:
This is just weird, dude. Why are you so seriously considering to convert your videos into "animated images"? What's the use case???

jay123210599
6th October 2024, 06:17
I just trying to find a better alternative to gifs. How about these? Which image format out of the two will handle the colors of these better?

Video 1 Information:
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High 10@L5.1
Format settings : CABAC / 16 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 16 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 23 min 39 s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Scan type : Progressive
Title : 10bit H.264 - 1080p
Writing library : x264 core 140 r2377kMod 1ca7bb9
Encoding settings : cabac=1 / ref=16 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=umh / subme=11 / psy=1 / fade_compensate=0.00 / psy_rd=0.70:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=18 / lookahead_threads=4 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / fgo=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=240 / rc=crf / mbtree=1 / crf=14.5000 / qcomp=0.80 / qpmin=0 / qpmax=81 / qpstep=4 / ip_ratio=1.40 / aq=3:0.82
Language : Japanese
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Video 2 Information:
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Format Range@L4@Main
Codec ID : V_MPEGH/ISO/HEVC
Duration : 23 min 43 s
Bit rate : 10.1 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:4:4
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.203
Stream size : 1.67 GiB (87%)
Title : BDRip by DJATOM
Writing library : x265 3.0_Au+22-feec4bdf9866:[DJATOM's Mod][Linux][GCC 6.3.0][64 bit] 10bit
Encoding settings : cpuid=1111039 / frame-threads=2 / numa-pools= / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / csv / csv-log-level=2 / input-csp=3 / input-res=1920x1080 / interlace=0 / total-frames=34120 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=240 / gop-lookahead=0 / bframes=9 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=20 / lookahead-slices=6 / scenecut=40 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=2 / tu-intra-depth=2 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=2 / limit-refs=3 / limit-modes / me=2 / subme=5 / merange=48 / temporal-mvp / weightp / weightb / no-analyze-src-pics / deblock=1:-1 / no-sao / no-sao-non-deblock / rd=4 / no-early-skip / no-rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=4.00 / no-rd-refine / no-lossless / cbqpoffs=4 / crqpoffs=4 / rc=crf / crf=15.0 / qcomp=0.72 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=0.85 / no-cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=1 / transfer=1 / colormatrix=1 / chromaloc=0 / display-window=0 / max-cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / no-hdr / no-hdr-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=5 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=0 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / hevc-aq / no-svt / qp-adaptation-range=2.00
Language : Japanese
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Z2697
6th October 2024, 08:25
NONE.
They don't use YUV.
But less strictly speaking, 8bit RGB should be enough. Both format are capable.

Should you do that IMO? Absolutely not.
But are they much better than GIF? Surely.

GeoffreyA
6th October 2024, 16:06
JPEG XL is worth a look. It can also recompress GIF (and JPEG) losslesly, so one gains a bit from the improved entropy coding.

https://github.com/libjxl/libjxl

jay123210599
7th October 2024, 19:23
NONE.
They don't use YUV.
But less strictly speaking, 8bit RGB should be enough. Both format are capable.

Should you do that IMO? Absolutely not.
But are they much better than GIF? Surely.

Why noy use them if they're better?

jay123210599
7th October 2024, 19:24
JPEG XL is worth a look. It can also recompress GIF (and JPEG) losslesly, so one gains a bit from the improved entropy coding.

https://github.com/libjxl/libjxl

But it's not an animated image format.

Thundik81
7th October 2024, 21:47
But it's not an animated image format.

What?
https://gitlab.com/wg1/jpeg-xl/-/blob/main/doc/format_overview.md#frames

Z2697
7th October 2024, 22:34
JXL surely can handle animated content. And compression ratio is usually better than WebP. With more pixel formats support.

I still strongly discourage you to convert videos to animated images unless for a good reason, which is totally up to you. I'm just telling my suggestion, but still I provided you enough information you want.
(I guess I have said it enough and I won't further mention this if I continue to participate in this topic)