ladybird/Meta
Nico Weber 3a4e0c2804 LibGfx+Utilities: Add animation utility, make it write animated webps
The high-level design is that we have a static method on WebPWriter that
returns an AnimationWriter object. AnimationWriter has a virtual method
for writing individual frames. This allows streaming animations to disk,
without having to buffer up the entire animation in memory first.
The semantics of this function, add_frame(), are that data is flushed
to disk every time the function is called, so that no explicit `close()`
method is needed.

For some formats that store animation length at the start of the file,
including WebP, this means that this needs to write to a SeekableStream,
so that add_frame() can seek to the start and update the size when a
frame is written.

This design should work for GIF and APNG writing as well. We can move
AnimationWriter to a new header if we add writers for these.

Currently, `animation` can read any animated image format we can read
(apng, gif, webp) and convert it to an animated webp file.

The written animated webp file is not compressed whatsoever, so this
creates large output files at the moment.
2024-05-11 15:43:02 -04:00
..
CMake Kernel: Add FUSE support 2024-05-07 16:54:27 -06:00
gn Meta: Use -std=c++2b on mac hosts in the GN build 2024-05-07 11:41:40 -04:00
HeaderCheck HeaderCheck: Also check AK for broken headers 2022-09-18 13:27:24 -04:00
Lagom LibGfx+Utilities: Add animation utility, make it write animated webps 2024-05-11 15:43:02 -04:00
Screenshots README+Meta: Update the screenshot :^) 2023-07-14 23:40:58 +02:00
ShellCompletions/zsh Everywhere: Add RISC-V 64 target to the build system 2023-08-18 08:37:43 -06:00
Websites Meta: Add anchors to headings of man pages 2023-10-30 10:26:21 +00:00
analyze-qemu-coverage.sh Meta: Use absolute paths in Meta/analyze-qemu-coverage.sh 2022-12-10 11:51:16 +00:00
bochsrc Meta: Use BXSHARE instead of a hardcoded Bochs directory 2024-01-22 20:18:38 -07:00
build-image-extlinux.sh Meta: Pass -- to sudo instead of '$SHELL -c' in build scripts 2023-07-16 16:28:18 +01:00
build-image-grub.sh Meta: Pass -- to sudo instead of '$SHELL -c' in build scripts 2023-07-16 16:28:18 +01:00
build-image-limine.sh Meta: Pass -- to sudo instead of '$SHELL -c' in build scripts 2023-07-16 16:28:18 +01:00
build-image-qemu.sh Meta: Pass -- to sudo instead of '$SHELL -c' in build scripts 2023-07-16 16:28:18 +01:00
build-manpages-website.sh Meta: Add anchors to headings of man pages 2023-10-30 10:26:21 +00:00
build-native-partition.sh Meta: Pass -- to sudo instead of '$SHELL -c' in build scripts 2023-07-16 16:28:18 +01:00
build-root-filesystem.sh Tests/Kernel: Add tests for verifying proper loop device support 2024-03-13 15:33:47 -06:00
check-ak-test-files.sh Meta: Fix check for AK test inclusion 2022-09-13 08:29:09 +00:00
check-debug-flags.sh Meta: Fix typos in shell script comments 2023-10-26 15:45:31 -06:00
check-emoji.py Meta: Disallow emoji images with invalid code points in their file name 2022-10-26 18:40:20 +01:00
check-markdown.sh markdown-check: Allow generating a manpage link graph 2023-07-05 16:15:42 +01:00
check-newlines-at-eof.py Meta: Don't check for newlines at EOF in Tests/LibWeb/Layout/ 2023-03-11 13:05:35 +01:00
check-png-sizes.sh Meta: Add a PNG size check to CI and pre-commit checks 2022-06-18 21:58:43 +04:30
check-style.py Kernel: Add FUSE support 2024-05-07 16:54:27 -06:00
convert-markdown-links.lua Meta/build-manpages-website: Use absolute paths for all links 2023-01-08 13:35:29 +01:00
debug-kernel.sh Meta: Support debugging the riscv64 kernel 2024-04-26 09:52:56 +02:00
embed_as_string_view.py Meta: Make embed_as_string_view.py usable by CMake builds :^) 2023-08-24 07:42:12 +01:00
emoji-file-list.txt Base: Add and Rework Emoji 2024-04-06 13:40:45 -04:00
export-argsparser-manpages.sh CI: Ensure the manpage generation step shuts down the VM on failure 2022-10-31 22:10:14 +00:00
extlinux.conf Everywhere: Get rid of the fbdev kernel boot argument remainders 2022-08-14 01:03:23 +01:00
find_compiler.sh Meta: Update Clang version requirement to 17+ 2024-05-10 19:53:15 +02:00
generate-embedded-resource-assembly.sh Meta: Get building on NixOS (#5005) 2021-01-22 17:44:05 +01:00
generate-libwasm-spec-test.py LibWasm: Implement a few SIMD instructions 2023-08-21 13:39:32 +03:30
generate-libwasm-spec-test.sh Meta: Run the Wasm spec tests in CI 2021-05-27 17:28:41 +04:30
grub-ebr.cfg Meta: Use correct boot device selections when using GRUB images 2022-09-02 23:36:08 +01:00
grub-gpt.cfg Meta: Use correct boot device selections when using GRUB images 2022-09-02 23:36:08 +01:00
grub-mbr.cfg Meta: Use correct boot device selections when using GRUB images 2022-09-02 23:36:08 +01:00
install-ports-tree.sh Everywhere: Replace SERENITY_ROOT with SERENITY_SOURCE_DIR 2021-04-20 15:27:52 +02:00
jbig2_to_pdf.py Meta/jbig2_to_pdf.py: Read jbig2 dimensions from file 2024-04-02 15:00:23 -04:00
label-pull-requests.js CI: Automatically apply pull request labels for generic PR actions 2023-01-06 15:25:30 +01:00
limine.cfg Everywhere: Get rid of the fbdev kernel boot argument remainders 2022-08-14 01:03:23 +01:00
lint-ci.sh Meta: Remove check-symbols.sh 2024-05-08 09:54:41 -06:00
lint-clang-format.sh Meta: Switch to clang-format-18 as the standard formatter 2024-04-24 16:50:01 -04:00
lint-commit.sh CI: Add a check to report git merge commit 2022-12-10 12:07:06 +00:00
lint-executable-resources.sh Meta: Add special case for macOS 2021-11-02 12:23:30 +01:00
lint-gml-format.sh Meta: Show GML formatting issues after lint 2024-04-30 17:46:41 -06:00
lint-gn.sh Meta: Add gn linter 2023-07-13 14:07:25 -06:00
lint-keymaps.py Everywhere: "file name" => "filename" 2021-04-29 22:16:18 +02:00
lint-ports.py Meta: Dont finish lines with only one character in lint-ports.py 2023-07-18 00:17:34 +02:00
lint-prettier.sh LibJS: Implement ImportCall and HostImportModuleDynamically 2022-01-22 01:21:18 +00:00
lint-python.sh Meta: Get building on NixOS (#5005) 2021-01-22 17:44:05 +01:00
lint-shell-scripts.sh Meta: Allow shellcheck to search sourced files in the script directory 2022-10-16 23:39:45 +02:00
new-project.sh Meta: Add new-project.sh :^) 2021-08-13 21:12:17 +04:30
refresh-serenity-qtcreator.sh Meta: Make *.in files accessible to QtCreator 2023-05-14 16:01:57 -06:00
run.py Meta/run.py: Bring back SERENITY_EXTRA_QEMU_ARGS 2024-05-02 07:44:13 -06:00
run.sh Meta: Replace run.sh by run.py 2023-12-15 00:11:50 +01:00
serenity.sh Meta: Correct kaddr2line example in serenity.sh 2024-04-15 21:16:22 -06:00
serenity_gdb.py Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
shell_include.sh Meta: Fix typos in shell script comments 2023-10-26 15:45:31 -06:00
test_pdf.py Meta: Let test_pdf.py be less dramatic about issue counts 2024-01-10 09:36:33 +01:00
toot-commits.js CI: Add script to post mastodon toots for commits on master 2023-02-10 13:54:07 +00:00
tweet-commits.js Meta: Ensure long messages fit in commit tweet 2021-06-18 13:34:17 +01:00