Aurelia Molzer
Aurelia Molzer
https://github.com/strukturag/libheif/blob/0f8496f22d284e1a69df12fe0b72f375aed31315/libheif/heif_decoder_dav1d.cc#L178-L183 Huh. Thanks, good pointer.
Can you be more precise or recheck? The images in the columns contain *literally* the same pixel matrix: ``` $ png2pnm /tmp/hulu.png > /tmp/hulu.pnm $ png2pnm /tmp/hulu-image.png.png > /tmp/hulu-image.pnm $...
Oops, messed up paths, I see it now. Probably color profiles which we definitely are *not* doing properly through the whole chain.
Wait.. Wait.. The initial observation was correct. Pixels *are* literally the same value. The difference is simply because we're dropping the color profile chunks. Original chunks: ``` ChunkType { type:...
It's actually consistent with option 1, the Y component in BT709: https://www.itu.int/rec/R-REC-BT.709-1-199311-S/en > Derivation of luminance signal > E′ = 0.2126 RE′ + 0.7152 GE′ + 0.0722 BE′ Where prime...
You'll also find that the BT709 primaries are the same as sRGB.
I'm unsure how to turn this report into something actionable. Everything here is working as documented, decoding into a pixel matrix does not preserve format specific metadata. - Are you...
* The palette isn't the only metadata. If the input does DisposalMethod::Keep frames then we expand each of the frames to a full image but re-encoding doesn't try to find...
Hm, might the size largely be caused by encoding the palette for *each* frame instead of utilizing a single global palette as in the original image? Frame Sequence Before ```...
Hm, some additional investigation makes me reconsider if it is the local palette. I've reworked `gif`'s encoder to create frames based on a persistent quantization map (PR incoming) however that...