gimp/plug-ins/file-dds
Jacob Boerema c17b324910 plug-ins/dds: fix #12790 for 32-bit
On 32-bit systems the computed linear size can overflow, causing a
crash.
Use a function that checks for overflow when multiplying and return
an error if that fails.
As extra security also update the loop to compute the base offset after
each line of data, and convert to gsize first when computing the
size for g_malloc and memset.
2025-06-20 10:29:43 -04:00
..
COPYING file-dds: add original source code of the DDS plug-in 2019-01-02 18:33:46 +01:00
LICENSE file-dds: add original source code of the DDS plug-in 2019-01-02 18:33:46 +01:00
LICENSE.nvtt file-dds: add original source code of the DDS plug-in 2019-01-02 18:33:46 +01:00
README file-dds: add original source code of the DDS plug-in 2019-01-02 18:33:46 +01:00
README.dxt Fix various typos 2019-09-21 17:10:46 +00:00
TODO file-dds: add original source code of the DDS plug-in 2019-01-02 18:33:46 +01:00
bc7.c plug-ins: Import DDS BC7 compression 2025-01-11 16:51:09 +00:00
bc7.h plug-ins: Import DDS BC7 compression 2025-01-11 16:51:09 +00:00
dds.c plug-ins: Use selected layer for DDS export option 2025-03-30 01:38:18 +00:00
dds.h plug-ins: Import DDS BC7 compression 2025-01-11 16:51:09 +00:00
ddsread.c plug-ins/dds: fix #12790 for 32-bit 2025-06-20 10:29:43 -04:00
ddsread.h ddsread and ddswrite cleanup and commenting 2023-12-01 20:42:16 +00:00
ddswrite.c plug-ins: fix dds volume map export with more than 2 layers 2025-04-01 19:00:24 +00:00
ddswrite.h plug-ins: port dds-write to GimpProcedureDialog. 2023-10-26 17:16:49 +00:00
dxt.c plug-ins: Import DDS BC7 compression 2025-01-11 16:51:09 +00:00
dxt.h plug-ins: big formatting and indentation cleanup in file-dds 2019-05-23 14:34:00 +02:00
dxt_tables.h plug-ins: big formatting and indentation cleanup in file-dds 2019-05-23 14:34:00 +02:00
endian_rw.h plug-ins: big formatting and indentation cleanup in file-dds 2019-05-23 14:34:00 +02:00
formats.c plug-ins: fix #13107 failure to read exported grayscale DDS image 2025-03-14 12:23:42 -04:00
formats.h plug-ins: DDS import rewrite 2023-12-13 03:30:48 +00:00
imath.h plug-ins: big formatting and indentation cleanup in file-dds 2019-05-23 14:34:00 +02:00
meson.build build, plug-ins: Generate *associations.list automatically at build-time 2025-05-30 19:23:41 -03:00
mipmap.c Consolidate YCoCg/AlphaExp code, always decode 2023-12-01 20:42:16 +00:00
mipmap.h Mipmap generation fixes and cleanup 2023-12-01 20:42:16 +00:00
misc.c plug-ins: mark DDS progress strings as translatable 2024-04-10 15:30:00 +00:00
misc.h Consolidate YCoCg/AlphaExp code, always decode 2023-12-01 20:42:16 +00:00
vec.h plug-ins: big formatting and indentation cleanup in file-dds 2019-05-23 14:34:00 +02:00

README

DDS plugin for The GIMP
(C) 2004-2012 Shawn Kirst <skirst@gmail.com>,
with parts (C) 2003 Arne Reuter <homepage@arnereuter.de> where specified.
==========================================

This is a plugin for GIMP version 2.4.x. It allows you to load and save
images in Direct Draw Surface (DDS) format.

Features
==========================================
* Load/Save DDS files using DXT texture compression
* Automatic mipmap generation on save
* Load mipmaps into separate layers
* Load cube map faces and volume map slices into separate layers
* Cube and volume map saving
* Pixel conversion selection for custom formats (RGBA4, R5G6B5, RGB10A2, etc.)
* Load/save DDS files, optionally using DirectX texture compression (DXT)
* Optional automatic mipmap generation when saving
* Load mipmaps into separate layers
* Load cube map faces and volume map slices into separate layers
* Save cube maps and volume maps with automatic mipmap generation support
* Save image with a custom pixel format
* Non-power-of-two image loading and saving support with automatic mipmap generation support
* Compliant with DirectX 10 compressed formats
    

Installation
==========================================
See the file INSTALL for installation instructions