302 Commits

Author SHA1 Message Date
neuromancer c478c5c541 IMAGE: correctly decode PICT images with offsets 2026-04-03 15:31:25 +02:00
Simon Delamarre 9336278b45 IMAGE: Handle ANI files wrongly including header size in the chunk size field
Found for example in Adi4's waiting cursor "WAIT.ANI"
2026-02-28 12:39:10 +01:00
Michael Kuerbis fc6bb6eaac JANITORIAL: use common ARRAYSIZE macro 2026-02-15 22:45:14 +02:00
antoniou79 8bd0a2b660 IMAGE: Fix inclusion of MJPEG codec when JPEG support is enabled 2026-02-08 22:19:49 +02:00
Filippos Karapetis ad40dad8ac IMAGE: Fix signed/unsigned warnings 2026-02-03 22:46:08 +02:00
Filippos Karapetis aba2a17d9d IMAGE: Fix whitespace 2026-02-03 22:05:13 +02:00
Filippos Karapetis 52414ed284 IMAGE: Remove unused parameter 2026-02-03 22:05:13 +02:00
Cameron Cawley 7dd583c358 IMAGE: Avoid writing alpha channels to PNG files if not required 2026-02-03 22:05:13 +02:00
Cameron Cawley 9b41a94bf0 IMAGE: Support creating PNG images with palettes 2026-02-03 22:05:13 +02:00
Cameron Cawley 0a34752638 IMAGE: Combine writeBMP() and writePalettedBMP() 2026-02-03 22:05:13 +02:00
Cameron Cawley a06885758c IMAGE: Make more codecs into optional components 2026-02-01 17:12:07 +02:00
Donovan Watteau 1162174448 JANITORIAL: IMAGE: Use web.archive.org link for www.fileformat.info
Looks like the URL for this specification of the PCX format is becoming
unstable on this site, lately -- let's just use a stable URL at
web.archive.org instead.

Also, when referencing the FFmpeg PCX decoder, link to an FFmpeg
release tag that should be close to what was checked back when this
was committed.
2026-01-25 09:16:39 +01:00
Paul Gilbert 80b5cadedf IMAGE: Added Image::writePalettedBitmap 2025-12-25 14:36:58 +11:00
Le Philousophe 96d411445f IMAGE: Gracefully handle JPEG decompression failures
This can happen when the JPEG file is corrupted but also when compiling
against libjpeg-turbo and running using original libjpeg shared object.
In this case a fallback is attempted on the supported everywhere JCS_RGB
format.
2025-11-01 12:46:51 +01:00
Donovan Watteau 69dd0889cc JANITORIAL: Update some HTTP links in comments to HTTPS
The modern web is mostly HTTPS now, and some browsers may start giving
warnings when one uses a plain HTTP connection.

Only update the protocol when the HTTPS connection exists and fully
works.  Code from external projects/tools is kept as is.
2025-10-29 14:22:37 +01:00
Donovan Watteau 7f19a83f13 COMMON: Replace STATIC_ASSERT uses with static_assert
The current C++11 requirement means that all targets already support
static_assert().
2025-10-12 14:11:24 +03:00
Eugene Sandulenko 3e5ea69a6b IMAGE: Pass optional paletteCount to writePNG() and add wrapper with Graphics::Palette 2025-10-10 19:00:37 +02:00
Donovan Watteau 04e913e40c IMAGE: Fix build with MSVC 2015 (C1004)
Missing newline at end of file.
2025-10-05 19:40:06 +02:00
Eugene Sandulenko 50ed368f9b IMAGE: CODECS: Put noise debug output to gvideo debug channel 2025-10-03 00:03:57 +02:00
Cameron Cawley db4fb8dc9e IMAGE: Use endian-aware pixel formats for QuickTime RLE frames 2025-07-13 20:01:28 +03:00
Cameron Cawley 751167c988 IMAGE: Use a 24bpp pixel format for true colour PICT images 2025-07-13 20:01:28 +03:00
Cameron Cawley b93a5e68dc IMAGE: Use a 24bpp pixel format for true colour PCX images 2025-07-13 20:01:28 +03:00
Cameron Cawley e16e0d55c7 IMAGE: Use endian-aware pixel formats for TGA images 2025-07-13 20:01:28 +03:00
Cameron Cawley 136e5e7168 IMAGE: Remove filler alpha channel from 24bpp PNG images 2025-07-13 20:01:28 +03:00
Cameron Cawley 7192271ac0 IMAGE: Simplify mapping pixel formats to JPEG colour spaces 2025-07-13 20:01:28 +03:00
Cameron Cawley 1c7e5a75c2 IMAGE: Unify the default pixel format for YUV codecs 2025-07-13 20:01:28 +03:00
Cameron Cawley dd5ff1e441 FREESCAPE: Reduce pixel format conversion when loading images 2025-06-30 17:08:00 +03:00
Cameron Cawley 62851abfa1 GRAPHICS: Add helper functions for creating RGBA32 and BGRA32 formats 2025-06-19 14:17:51 +03:00
Cameron Cawley 48854f0ace GRAPHICS: Add helper functions for creating RGB24 and BGR24 formats 2025-06-19 14:17:51 +03:00
Cameron Cawley c2b5da7338 IMAGE: Fix pixel format in dithering codec 2025-06-17 22:56:50 +01:00
Filippos Karapetis 788b002966 JANITORIAL: Fix comment 2025-05-17 22:40:06 +03:00
Christian Kündig 375a2091c8 IMAGE: Silence warning "'Image::JPEGDecoder::getPalette' hides overloaded virtual function" 2025-05-17 22:40:06 +03:00
Simon Delamarre f3c1d3809a IMAGE: Mention Gob engine in the usage list of TGA decoder 2025-05-15 09:21:01 +03:00
Simon Delamarre a85a6bfbfa IMAGE: Move BRC decoder to the Gob engine 2025-05-15 09:21:01 +03:00
Simon Delamarre 95ca8e315b IMAGE: Add decoder for BRC format
Simple image bitmap format with run-length encoding, used in the Gob
engine (Adibou/Sciences).

We only support 2bpp sources for now.
2025-05-15 09:21:01 +03:00
Cameron Cawley a996f6bd3f IMAGE: Fix dithering 8bpp images when the container owns the palette 2025-05-05 16:27:16 +03:00
Eugene Sandulenko 160ec4bfe5 IMAGE: Added missing override keywords 2025-05-04 07:53:32 +02:00
Cameron Cawley 7294a5eff2 IMAGE: Use the palette class in the dithered codec wrapper 2025-04-30 19:20:29 +08:00
Cameron Cawley 320865e802 IMAGE: Use setOutputPixelFormat to avoid extra conversion when dithering 2025-04-30 19:20:29 +08:00
Cameron Cawley 9bbb019950 IMAGE: Split the generic QuickTime dithering into a separate class 2025-04-30 19:20:29 +08:00
Cameron Cawley 1e62c54dcd IMAGE: Improved dithering support for QuickTime RLE 2025-04-30 19:20:29 +08:00
Eugene Sandulenko 15086355a9 IMAGE: Add missing override keywords 2025-04-15 18:02:36 +02:00
sluicebox cbea9d57cb COMMON: Fix memory leak in Cel3DODecoder
CID 1591690
2025-04-14 13:15:09 -07:00
Eugene Sandulenko 95043035cc IMAGE: Add missing override keywords 2025-04-14 22:04:31 +02:00
Matthew Jimenez 1b58e6dd90 GRAPHICS: Add method to check empty for Palette 2025-04-12 15:47:17 +03:00
Matthew Jimenez 77ee5a9007 IMAGE: Get palette class by reference on image decoders 2025-04-12 15:47:17 +03:00
Filippos Karapetis 2d9ec1ae70 IMAGE: Use C++ 11 range-based for loops 2025-03-27 13:47:57 +08:00
Matthew Jimenez 35b005bd2c IMAGE: Use palette class in more codecs 2025-03-08 20:18:40 +02:00
Matthew Jimenez b940265816 IMAGE: Use palette class in Cinepak decoder.
The Cinepak decoder had an unweighted euclidean color distance calculation for palette matching. This was moved and rewritten to a color distance method on the palette class.
2025-03-05 13:37:01 +02:00
Cameron Cawley 77523c844c CONFIGURE: Make SVQ1 and QDM2 optional components 2025-03-03 07:31:41 +02:00