ladybird/Libraries/LibGfx/ImageFormats
aplefull 71a4e18bf8
Some checks are pending
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macos-15, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
LibGfx: Only include frames with fcTL chunks in the animation
Before this change, IDAT data was mistakenly always included in the
animation. Now we only include frames with explicit fcTL chunks.

As per the PNG spec (third edition):
"The static image may be included as the first frame of the animation
by the presence of a single fcTL chunk before IDAT. Otherwise, the
static image is not part of the animation."

We also fall back to the IDAT data when APNG has acTL but no fcTL
chunks. Test image is 062.png from fDAT-inherits-cICP.html from WPT.
2025-05-01 10:30:00 +02:00
..
AnimationWriter.cpp
AnimationWriter.h
AVIFLoader.cpp LibGfx: Support AVIF images with missing pixi property 2024-11-23 03:57:54 +00:00
AVIFLoader.h
BMPLoader.cpp LibGfx: Fix incorrect colors in ICO-embedded BMPs 2025-04-24 13:46:54 +01:00
BMPLoader.h
BMPWriter.cpp
BMPWriter.h
BooleanDecoder.cpp
BooleanDecoder.h LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
CCITTDecoder.cpp
CCITTDecoder.h
ExifOrientedBitmap.h
GIFLoader.cpp LibGfx: Fix handling of partially corrupt GIFs 2025-03-20 16:12:53 +01:00
GIFLoader.h LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
ICOLoader.cpp LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
ICOLoader.h
ImageDecoder.cpp LibGfx: Allow ImageDecoders to expose their color space through CICP 2025-02-12 12:03:30 -05:00
ImageDecoder.h LibGfx: Allow ImageDecoders to expose their color space through CICP 2025-02-12 12:03:30 -05:00
JPEGLoader.cpp LibGfx: Add support for YCCK jpeg files 2025-03-22 17:35:29 +01:00
JPEGLoader.h
JPEGWriter.cpp Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
JPEGWriter.h
JPEGXLLoader.cpp LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
JPEGXLLoader.h LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
PNGLoader.cpp LibGfx: Only include frames with fcTL chunks in the animation 2025-05-01 10:30:00 +02:00
PNGLoader.h LibGfx/PNG: Read the cICP chunk 2025-02-12 12:03:30 -05:00
PNGWriter.cpp
PNGWriter.h
TIFFLoader.cpp
TIFFLoader.h
TinyVGLoader.cpp LibWeb/Canvas: Support globalCompositionOperation 2025-02-05 11:26:58 +00:00
TinyVGLoader.h LibGfx: Let Painter care about TinyVG transforms 2024-12-14 23:29:43 +01:00
WebPLoader.cpp
WebPLoader.h
WebPShared.h
WebPSharedLossless.cpp
WebPSharedLossless.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
WebPWriter.cpp
WebPWriter.h LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
WebPWriterLossless.cpp LibGfx+LibWebView+UI: Store Gfx::Bitmap in RefPtr to const 2025-04-16 10:41:44 -06:00
WebPWriterLossless.h