mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 23:28:11 +00:00
LibGfx: Add the start of a JBIG2 loader
JBIG2 is infamous for two things: 1. It's used in xerox scanners were it falsifies scanned numbers: https://www.dkriesel.com/en/blog/2013/0802_xerox-workcentres_are_switching_written_numbers_when_scanning 2. It was allegedly used in an iOS zero day, in a very cool way: https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html Needless to say, we need support for it in Serenity. (...because it's used in PDF files.) This adds all the scaffolding, but no actual implementation yet. It's enough for `file` to print the mime type of .jb2 files, but `image` can't do anything with the files yet.
This commit is contained in:
parent
d7ad134ae5
commit
58838db445
12 changed files with 86 additions and 22 deletions
|
@ -16,26 +16,28 @@
|
|||
#include <LibGfx/Forward.h>
|
||||
#include <LibGfx/Rect.h>
|
||||
|
||||
#define ENUMERATE_IMAGE_FORMATS \
|
||||
__ENUMERATE_IMAGE_FORMAT(bmp, ".bmp") \
|
||||
__ENUMERATE_IMAGE_FORMAT(dds, ".dds") \
|
||||
__ENUMERATE_IMAGE_FORMAT(gif, ".gif") \
|
||||
__ENUMERATE_IMAGE_FORMAT(ico, ".ico") \
|
||||
__ENUMERATE_IMAGE_FORMAT(iff, ".iff") \
|
||||
__ENUMERATE_IMAGE_FORMAT(jpeg, ".jpeg") \
|
||||
__ENUMERATE_IMAGE_FORMAT(jpeg, ".jpg") \
|
||||
__ENUMERATE_IMAGE_FORMAT(jxl, ".jxl") \
|
||||
__ENUMERATE_IMAGE_FORMAT(iff, ".lbm") \
|
||||
__ENUMERATE_IMAGE_FORMAT(pam, ".pam") \
|
||||
__ENUMERATE_IMAGE_FORMAT(pbm, ".pbm") \
|
||||
__ENUMERATE_IMAGE_FORMAT(pgm, ".pgm") \
|
||||
__ENUMERATE_IMAGE_FORMAT(png, ".png") \
|
||||
__ENUMERATE_IMAGE_FORMAT(ppm, ".ppm") \
|
||||
__ENUMERATE_IMAGE_FORMAT(qoi, ".qoi") \
|
||||
__ENUMERATE_IMAGE_FORMAT(tga, ".tga") \
|
||||
__ENUMERATE_IMAGE_FORMAT(tiff, ".tif") \
|
||||
__ENUMERATE_IMAGE_FORMAT(tiff, ".tiff") \
|
||||
__ENUMERATE_IMAGE_FORMAT(tvg, ".tvg") \
|
||||
#define ENUMERATE_IMAGE_FORMATS \
|
||||
__ENUMERATE_IMAGE_FORMAT(bmp, ".bmp") \
|
||||
__ENUMERATE_IMAGE_FORMAT(dds, ".dds") \
|
||||
__ENUMERATE_IMAGE_FORMAT(gif, ".gif") \
|
||||
__ENUMERATE_IMAGE_FORMAT(ico, ".ico") \
|
||||
__ENUMERATE_IMAGE_FORMAT(iff, ".iff") \
|
||||
__ENUMERATE_IMAGE_FORMAT(jpeg, ".jb2") \
|
||||
__ENUMERATE_IMAGE_FORMAT(jpeg, ".jbig2") \
|
||||
__ENUMERATE_IMAGE_FORMAT(jpeg, ".jpeg") \
|
||||
__ENUMERATE_IMAGE_FORMAT(jpeg, ".jpg") \
|
||||
__ENUMERATE_IMAGE_FORMAT(jxl, ".jxl") \
|
||||
__ENUMERATE_IMAGE_FORMAT(iff, ".lbm") \
|
||||
__ENUMERATE_IMAGE_FORMAT(pam, ".pam") \
|
||||
__ENUMERATE_IMAGE_FORMAT(pbm, ".pbm") \
|
||||
__ENUMERATE_IMAGE_FORMAT(pgm, ".pgm") \
|
||||
__ENUMERATE_IMAGE_FORMAT(png, ".png") \
|
||||
__ENUMERATE_IMAGE_FORMAT(ppm, ".ppm") \
|
||||
__ENUMERATE_IMAGE_FORMAT(qoi, ".qoi") \
|
||||
__ENUMERATE_IMAGE_FORMAT(tga, ".tga") \
|
||||
__ENUMERATE_IMAGE_FORMAT(tiff, ".tif") \
|
||||
__ENUMERATE_IMAGE_FORMAT(tiff, ".tiff") \
|
||||
__ENUMERATE_IMAGE_FORMAT(tvg, ".tvg") \
|
||||
__ENUMERATE_IMAGE_FORMAT(tvg, ".webp")
|
||||
|
||||
namespace Gfx {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue