| N | Image Format | Can Load | Cannot Load | Can Save | Cannot Save | Dependencies |
| 1 | APNG |
Grayscale: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit.
Indexed: 1-bit, 2-bit, 4-bit, 8-bit.
RGB: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
Content: Static, Animated, Meta data, ICC profiles. Special properties: Key: "apng-frames". Description: Number of frames in the animation. Possible values: unsigned int. Key: "apng-plays". Description: Number of plays of the animation. Possible values: unsigned int. Key: "apng-first-frame-hidden". Description: Whether the first frame is hidden. Possible values: bool. |
Blend operations with pixel formats other than BPP16-GRAYSCALE-ALPHA, BPP32-GRAYSCALE-ALPHA, BPP32-RGBA, BPP64-RGBA. |
Grayscale: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit.
Grayscale+Alpha: 16-bit, 32-bit.
Indexed: 1-bit, 2-bit, 4-bit, 8-bit.
RGB: 24-bit, 48-bit.
BGR: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
BGRA: 32-bit, 64-bit.
ARGB: 32-bit, 64-bit.
ABGR: 32-bit, 64-bit.
Compressions: DEFLATE. Content: Static, Animated, Meta data, ICC profiles. Tuning: Key: "png-filter". Description: PNG filter methods (comma-separated). Possible values: none, sub, up, avg, paeth. Key: "apng-frames". Description: Number of frames to write in animation. Possible values: unsigned int (>1 enables APNG mode). Key: "apng-plays". Description: Number of animation loops (0 = infinite). Possible values: unsigned int (default: 0). |
- | libpng+APNG patch |
| 2 | AVIF |
YUV: 8-bit, 10-bit, 12-bit.
Content: Static, Animated, Meta data, ICC profiles. Tuning: Key: "avif-threads". Description: Number of decoder threads. Possible values: positive int/unsigned int (default: 1). |
Thumbnails. |
RGB: 24-bit.
BGR: 24-bit.
RGBA: 32-bit.
BGRA: 32-bit.
ARGB: 32-bit.
ABGR: 32-bit.
Compressions: AV1. Content: Static, Animated, Meta data, ICC profiles. Tuning: Key: "avif-speed". Description: Encoding speed (0=slowest/best compression, 10=fastest). Possible values: 0-10 int/unsigned int (default: 6). Key: "avif-threads". Description: Number of encoder threads. Possible values: positive int/unsigned int (default: 1). Key: "avif-auto-tiling". Description: Enable automatic tiling for parallel encoding. Possible values: true or false. |
10-bit and 12-bit depths, Thumbnails. | libavif |
| 3 | BMP |
Indexed: 1-bit, 4-bit, 8-bit (DIB only).
RGB: 16-bit, 24-bit, 32-bit.
Compressions: NONE, RLE4, RLE8. BMP Versions: V1 (DDB), V2, V3, V4, V5. Content: Static, Meta data, ICC profiles. |
Indexed: 8-bit (in DDB images).
Compressions: ALPHABITFIELDS, BITFIELDS, CMYK, CMYK-RLE4, CMYK-RLE8, JPEG, PNG. BMP Versions: OS/2. |
Indexed: 1-bit, 4-bit, 8-bit.
Grayscale: 8-bit.
RGB: 16-bit, 24-bit.
RGBA: 32-bit.
Compressions: NONE, RLE (RLE4 for 4-bit, RLE8 for 8-bit). Content: Static. |
Compressions: ALPHABITFIELDS, BITFIELDS, JPEG, PNG.
Content: Meta data, ICC profiles. BMP Versions: V1 (DDB), V2, V4, V5. |
- |
| 4 | FLI |
Indexed: 8-bit.
Compressions: RLE (BRUN, LC, SS2). Content: Static, Animated. |
Delta compression (LC, SS2), Postage stamp chunks. |
Indexed: 8-bit.
Compressions: RLE. Content: Static, Animated. Note: Both FLI (320x200) and FLC (any resolution) formats are supported. First frame uses BRUN compression, subsequent frames use COPY for simplicity. Delta compression for writing is not implemented. |
Delta compression (LC, SS2) for writing. | - |
| 5 | GIF |
Indexed: 1-bit, 2-bit, 4-bit, 8-bit.
Content: Static, Animated, Meta data. |
- |
Indexed: 1-bit, 2-bit, 4-bit, 8-bit.
Compressions: LZW. Content: Static, Animated, Meta data (comments only). Tuning[3]: "gif-transparency-index": Transparent color index in palette (-1 for no transparency). Values: int/unsigned int. Default: -1. "gif-loop-count": Number of animation loops (0 for infinite). Values: int/unsigned int. Default: 0. "gif-background-color": Background color index in palette. Values: int/unsigned int. Default: 0. |
- | giflib |
| 6 | HDR |
RGB: 96-bit (32-bit float per channel).
Compressions: RLE. Content: Static, Meta data. Special properties: Key: "hdr-exposure". Description: Exposure value. Possible values: float. Key: "hdr-gamma". Description: Gamma correction value. Possible values: float. Key: "hdr-view". Description: View parameters. Possible values: string. Key: "hdr-primaries". Description: Color primaries. Possible values: string. Key: "hdr-color-correction-1", "hdr-color-correction-2", "hdr-color-correction-3". Description: Color correction per channel. Possible values: float. |
- |
RGB: 96-bit (32-bit float per channel).
Compressions: RLE. Content: Static, Meta data. Tuning[3]: "hdr-rle-compression": Enable/disable RLE compression. Values: 0 or 1. Default: 1. "hdr-y-direction": Y axis direction ("increasing"/"+" or "decreasing"/"-"). Values: string. Default: "decreasing". "hdr-x-direction": X axis direction ("increasing"/"+" or "decreasing"/"-"). Values: string. Default: "increasing". "hdr-exposure": Exposure value for header. Values: positive float/double. Default: 1.0. "hdr-gamma": Gamma correction value for header. Values: positive float/double. Default: 1.0. |
- | - |
| 7 | HEIF/HEIC |
Grayscale: 8-bit, 16-bit[1].
RGB: 24-bit, 48-bit[1].
RGBA: 32-bit, 64-bit[1].
YUV: 24-bit, 30-bit[1], 36-bit[1], 48-bit[1].
Content: Static, Animated, Meta data (EXIF, XMP), ICC profiles. Special properties: Key: "heif-has-depth". Description: Has depth map. Possible values: bool. Key: "heif-depth-count". Description: Number of depth images. Possible values: int. Key: "heif-thumbnail-count". Description: Number of thumbnails. Possible values: int. Key: "heif-is-primary". Description: Is primary image. Possible values: bool. Key: "heif-content-light-level-max". Description: Max content light level (HDR). Possible values: unsigned int. Key: "heif-content-light-level-avg". Description: Average content light level (HDR). Possible values: unsigned int. Tuning: Key: "heif-threads". Description: Number of decoder threads. Possible values: int (1-256, default: 1). |
Thumbnails. |
Grayscale: 8-bit, 16-bit[1].
RGB: 24-bit, 48-bit[1].
RGBA: 32-bit, 64-bit[1].
YUV: 24-bit, 30-bit[1], 36-bit[1], 48-bit[1].
Compressions: HEVC. Content: Static, Animated, Meta data (EXIF, XMP), ICC profiles. Tuning: Key: "heif-preset". Description: Encoding speed preset. Possible values: ultrafast, superfast, veryfast, faster, fast, medium (default), slow, slower, veryslow, placebo. Key: "heif-tune". Description: Encoding optimization. Possible values: psnr, ssim, grain, fastdecode. Key: "heif-tu-intra-depth". Description: Transform Unit intra depth. Possible values: int (1-4). Key: "heif-complexity". Description: Encoding complexity. Possible values: int/unsigned int/float/double (0-100). Key: "heif-chroma". Description: Chroma subsampling. Possible values: 420, 422, 444. Key: "heif-threads". Description: Number of encoder threads. Possible values: int (1-256, default: 1). |
Thumbnails. | libheif |
| 8 | ICO and CUR |
Bit depth: Same to BMP.
Content: Static, Multi-paged. Special properties: Key: "cur-hotspot-x". Description: X coordinate of the hotspot. Possible values: unsigned int. Key: "cur-hotspot-y". Description: Y coordinate of the hotspot. Possible values: unsigned int. |
PNG contained images |
Indexed: 1-bit, 4-bit, 8-bit.
RGB: 24-bit (BGR).
RGBA: 32-bit (BGRA).
Compressions: NONE. Content: Static, Multi-paged. Note: Maximum image size is 256x256 pixels. Special properties: Key: "cur-hotspot-x", "cur-hotspot-y". Description: CUR hotspot coordinates. Possible values: unsigned int. |
Content: PNG embedded images, transparency mask optimization. | - |
| 9 | JBIG |
Indexed: 1-bit.
Compressions: JBIG. Content: Static. |
Multi-plane images. |
Indexed: 1-bit.
Compressions: JBIG. Content: Static. Tuning: Key: "jbig-stripe-height". Description: Number of lines per stripe for progressive encoding. Possible values: unsigned int (default: 0 = automatic). Key: "jbig-typical-prediction". Description: Enable Typical Prediction for better compression. Possible values: 0 (disabled) or 1 (enabled). |
Multi-plane images. | libjbig |
| 10 | JPEG |
Grayscale: 8-bit.
RGB: 565 16-bit[1], 24-bit.
BGR:[1] 24-bit.
YCbCr: 24-bit.
RGBA:[1] 32-bit.
BGRA:[1] 32-bit.
ARGB:[1] 32-bit.
ABGR:[1] 32-bit.
CMYK: 32-bit.
YCCK: 32-bit.
Content: Static, Meta data, ICC profiles. |
- |
Grayscale: 8-bit.
RGB: 565 16-bit[1], 24-bit.
BGR:[1] 24-bit.
YCbCr: 24-bit.
RGBA:[1] 32-bit.
BGRA:[1] 32-bit.
ARGB:[1] 32-bit.
ABGR:[1] 32-bit.
CMYK: 32-bit.
YCCK: 32-bit.
Content: Static, Meta data, ICC profiles. Tuning: Key: "jpeg-dct-method". Description: JPEG DCT method. Possible values: "slow", "fast", "float". Key: "jpeg-optimize-coding". Description: Compute optimal Huffman tables. Possible values: true or false. Key: "jpeg-smoothing-factor". Description: Image smoothing (0-100). Possible values: int/unsigned int 0-100. See the libjpeg docs for more. |
- | libjpeg or libjpeg-turbo |
| 11 | JPEG 2000 |
Grayscale: 8-bit, 16-bit.
Grayscale+Alpha: 16-bit, 32-bit.
RGB: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
YCbCr: 24-bit.
CMYK: 32-bit, 64-bit.
CMYKA: 40-bit, 80-bit.
Content: Static, ICC profiles. Tuning: Key: "jpeg2000-reduce". Description: Discard resolution levels (0=full resolution, 1=half, 2=quarter, etc.). Possible values: int/unsigned int. Key: "jpeg2000-layer". Description: Maximum quality layers to decode (0=all). Possible values: int/unsigned int. Key: "jpeg2000-tile-index". Description: Specific tile index to decode. Possible values: int/unsigned int. Key: "jpeg2000-num-tiles". Description: Number of tiles to decode. Possible values: int/unsigned int. |
Pixel formats: LAB, XYZ, and other exotic color spaces.
Content: Meta data, images with non-zero position, images with bits per channel greater than 16. |
Grayscale: 8-bit, 16-bit.
Grayscale+Alpha: 16-bit, 32-bit.
RGB: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
YCbCr: 24-bit.
CMYK: 32-bit, 64-bit.
CMYKA: 40-bit, 80-bit.
Content: Static, ICC profiles (requires OpenJPEG 2.5.4+). Tuning: Key: "jpeg2000-irreversible". Description: Use lossy DWT 9-7 instead of lossless 5-3. Possible values: bool. Key: "jpeg2000-numresolution". Description: Number of resolution levels (1-32). Possible values: int/unsigned int. Key: "jpeg2000-prog-order". Description: Progression order. Possible values: "lrcp", "rlcp", "rpcl", "pcrl", "cprl". Key: "jpeg2000-codeblock-width". Description: Code block width (4-1024, power of 2). Possible values: int/unsigned int. Key: "jpeg2000-codeblock-height". Description: Code block height (4-1024, power of 2). Possible values: int/unsigned int. |
Content: Meta data, ICC profiles (OpenJPEG < 2.5.4 has encoding bug). | openjpeg |
| 12 | JPEG XL |
Grayscale: 8-bit, 16-bit.
Grayscale+Alpha: 16-bit, 32-bit.
RGB: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
CMYK: 32-bit, 64-bit.
CMYKA: 40-bit, 80-bit.
Content: Static, Animated, Meta data, ICC profiles. Special properties: Key: "jpegxl-bits-per-sample". Possible values: unsigned int. Key: "jpegxl-exponent-bits-per-sample". Possible values: unsigned int. Key: "jpegxl-intensity-target". Possible values: float. Key: "jpegxl-min-nits". Possible values: float. Key: "jpegxl-relative-to-max-display". Possible values: bool. Key: "jpegxl-linear-below". Possible values: float. Key: "jpegxl-color-channels". Possible values: unsigned int. Key: "jpegxl-extra-channels". Possible values: unsigned int. Key: "jpegxl-alpha-bits". Possible values: unsigned int. Key: "jpegxl-intrinsic-width". Possible values: unsigned int. Key: "jpegxl-intrinsic-height". Possible values: unsigned int. See the JxlBasicInfo structure documentation in libjxl for more. Tuning: Key: "jpegxl-desired-intensity-target". Description: Desired display intensity target. Possible values: float/double. Key: "jpegxl-render-spotcolors". Description: Render spot colors. Possible values: bool. |
Wide color gamut data gets clipped. |
Grayscale: 8-bit, 16-bit.
Grayscale+Alpha: 16-bit, 32-bit.
RGB: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
Content: Static, Animated, ICC profiles. Tuning: Key: "jpegxl-effort". Description: Encoder effort/speed (1=fastest, 9=slowest). Possible values: int/unsigned int 1-9. Default: 7. Key: "jpegxl-decoding-speed". Description: Decoding speed tier (0=best quality, 4=fastest). Possible values: int/unsigned int 0-4. Default: 0. Key: "jpegxl-modular". Description: Encoding mode (-1=auto, 0=VarDCT, 1=modular). Possible values: int/unsigned int -1, 0, 1. Default: -1. Key: "jpegxl-progressive-ac". Description: Progressive AC mode. Possible values: int/unsigned int -1 (auto), 0 (off), 1 (on). Default: -1. Key: "jpegxl-progressive-dc". Description: Progressive DC mode. Possible values: int/unsigned int -1 (auto), 0 (off), 1, 2. Default: -1. Key: "jpegxl-responsive". Description: Responsive mode for modular. Possible values: int/unsigned int -1 (auto), 0 (off), 1 (on). Default: -1. Key: "jpegxl-epf". Description: Edge Preserving Filter strength. Possible values: int/unsigned int -1 (auto), 0-3. Default: -1. Key: "jpegxl-gaborish". Description: Gaborish filter. Possible values: int/unsigned int -1 (auto), 0 (off), 1 (on). Default: -1. Key: "jpegxl-photon-noise". Description: Film grain noise (0=none, 3200=high). Possible values: int/unsigned int 0+. Default: 0. Key: "jpegxl-modular-predictor". Description: Predictor for modular. Possible values: int/unsigned int -1 (auto), 0-15. Default: -1. Key: "jpegxl-palette-colors". Description: Use palette if colors ≤ N. Possible values: int/unsigned int -1 (auto), 0-1024. Default: -1. Key: "jpegxl-resampling". Description: Downsampling factor. Possible values: int/unsigned int -1, 1, 2, 4, 8. Default: -1. |
Pixel formats: CMYK, CMYKA.
Content: Meta data. |
libjxl |
| 13 | OpenEXR |
Grayscale: 16-bit (half), 32-bit (float), 32-bit (uint).
Grayscale+Alpha: 32-bit (half), 64-bit (float), 64-bit (uint).
RGB: 48-bit (half), 96-bit (float), 96-bit (uint).
RGBA: 64-bit (half), 128-bit (float), 128-bit (uint).
Compressions: NONE, RLE, ZIPS, ZIP, PIZ, PXR24, B44, B44A, DWAA, DWAB. Content: Static. |
Multipart, Deep images, Tiled images. |
Grayscale: 16-bit (half), 32-bit (float), 32-bit (uint).
Grayscale+Alpha: 32-bit (half), 64-bit (float), 64-bit (uint).
RGB: 48-bit (half), 96-bit (float), 96-bit (uint).
RGBA: 64-bit (half), 128-bit (float), 128-bit (uint).
Compressions: NONE, RLE, ZIPS, ZIP, PIZ, PXR24, B44, B44A, DWAA, DWAB. Content: Static, HDR. Note: Initial implementation uses simplified RGBA API. Full support for all channels and pixel types planned. |
Multipart, Deep images, Tiled images. | libopenexr-dev |
| 14 | PCX |
Indexed: 1-bit, 4-bit, 8-bit.
RGB: 24-bit.
RGBA: 32-bit.
Content: Static. Compressions: NONE[2], RLE. |
- |
Indexed: 1-bit, 4-bit, 8-bit.
RGB: 24-bit.
RGBA: 32-bit.
Compressions: NONE, RLE. Content: Static. |
- | - |
| 15 | PNG |
Grayscale: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit.
Indexed: 1-bit, 2-bit, 4-bit, 8-bit.
RGB: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
Content: Static, Meta data, ICC profiles. |
- |
Grayscale: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit.
Indexed: 1-bit, 2-bit, 4-bit, 8-bit.
RGB: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
Content: Static, Meta data, ICC profiles. Tuning: Key: "png-filter". Description: PNG filters to apply. Possible values: "none", "sub", "up", "avg", "paeth". It's also possible to combine filters with ';' like that: "none;sub;paeth". See the libpng docs for more. |
- | libpng |
| 16 | PNM |
Indexed: 1-bit.
Grayscale: 8-bit, 16-bit.
Grayscale+Alpha: 16-bit, 32-bit.
RGB: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
Content: Static, Meta data. Formats: PBM (P1/P4), PGM (P2/P5), PPM (P3/P6), PAM (P7). Special properties: Key: "pnm-ascii". Description: True if the image pixels are encoded in ASCII mode (P1-P3). Possible values: bool. |
Indexed: 1-bit (P4).
Grayscale: 8-bit, 16-bit (P5).
Grayscale+Alpha: 16-bit, 32-bit (P7/PAM).
RGB: 24-bit, 48-bit (P6).
RGBA: 32-bit, 64-bit (P7/PAM).
Content: Static. Compression: None. |
- | - | |
| 17 | PSD |
Grayscale: 8-bit, 16-bit.
Grayscale+Alpha: 16-bit, 32-bit.
Indexed: 1-bit, 8-bit.
RGB: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
CMYK: 32-bit, 64-bit.
CMYKA: 40-bit, 80-bit.
LAB: 24-bit, 40-bit.
LABA: 32-bit, 64-bit.
Compressions: NONE, RLE. Content: Static (Composite Image Only). |
Grayscale: 32-bit (float/HDR).
RGB: 96-bit (float/HDR).
RGBA: 128-bit (float/HDR).
Color Modes: Multichannel (mode 7), Duotone (mode 8). Compressions: ZIP. Content: Layers, masks, annotations, etc. |
Unsupported | - | - |
| 18 | QOI |
RGB: 24-bit.
RGBA: 32-bit.
Content: Static. |
Linear color space. |
RGB: 24-bit.
RGBA: 32-bit.
Content: Static. |
Linear color space. | - |
| 19 | RAW |
Grayscale: 8-bit, 16-bit.
RGB: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
Content: Static, Meta data. Supported formats: 3FR, ARW, BAY, CR2, CR3, CRW, DCR, DNG, ERF, FFF, GPR, IIQ, K25, KDC, MEF, MOS, MRW, NEF, NRW, ORF, PEF, RAF, RAW, RW2, RWL, RWZ, SR2, SRF, SRW, X3F. Special properties: Key: "raw-iso". Description: ISO speed. Possible values: float. Key: "raw-shutter". Description: Shutter speed. Possible values: float. Key: "raw-aperture". Description: Aperture value. Possible values: float. Key: "raw-focal-length". Description: Focal length. Possible values: float. Key: "raw-lens-id". Description: Lens ID. Possible values: unsigned long long. Key: "raw-lens". Description: Lens name. Possible values: string. Key: "raw-min-focal-length". Description: Minimum focal length. Possible values: float. Key: "raw-max-focal-length". Description: Maximum focal length. Possible values: float. Key: "raw-max-aperture-min-focal". Description: Maximum aperture at minimum focal length. Possible values: float. Key: "raw-max-aperture-max-focal". Description: Maximum aperture at maximum focal length. Possible values: float. Key: "raw-focal-length-in-35mm-format". Description: Focal length in 35mm format. Possible values: unsigned short. Key: "raw-filters". Description: Bayer filter pattern. Possible values: unsigned int. Key: "raw-colors". Description: Number of color channels. Possible values: int. Key: "raw-width". Description: Raw image width. Possible values: unsigned short. Key: "raw-height". Description: Raw image height. Possible values: unsigned short. Key: "raw-top-margin". Description: Top margin. Possible values: unsigned short. Key: "raw-left-margin". Description: Left margin. Possible values: unsigned short. Key: "raw-is-foveon". Description: Is Foveon sensor. Possible values: bool. Tuning: Key: "raw-brightness". Description: Brightness adjustment. Possible values: float/double. Key: "raw-gamma". Description: Gamma curve. Possible values: "power", "bt709". Key: "raw-highlight". Description: Highlight mode (0-9). Possible values: int/unsigned int 0-9. Key: "raw-output-color". Description: Output color space. Possible values: string ("srgb", "adobe-rgb", "wide-gamut-rgb", "prophoto-rgb", "xyz", "aces", "rec2020"). Key: "raw-output-bits-per-sample". Description: Output bit depth. Possible values: int/unsigned int 8 or 16. Key: "raw-demosaic". Description: Demosaicing algorithm. Possible values: string ("linear", "vng", "ppg", "ahd", "dcb", "dht", "aahd"). Key: "raw-four-color-rgb". Description: Use four-color RGB interpolation. Possible values: bool. Key: "raw-dcb-iterations". Description: DCB iterations (0-100). Possible values: int/unsigned int 0-100. Key: "raw-dcb-enhance-focal-length". Description: DCB enhance focal length (0-100). Possible values: int/unsigned int 0-100. Key: "raw-use-camera-white-balance". Description: Use camera white balance. Possible values: bool. Key: "raw-use-auto-white-balance". Description: Use auto white balance. Possible values: bool. Key: "raw-user-multiplier". Description: User white balance multipliers. Possible values: string ("r g1 b g2"). Key: "raw-auto-brightness". Description: Auto brightness adjustment. Possible values: bool. Key: "raw-half-size". Description: Output half-size image. Possible values: bool. Key: "raw-use-fuji-rotate". Description: Use Fuji rotation. Possible values: bool. Key: "raw-no-interpolation". Description: Disable interpolation. Possible values: bool. Key: "raw-median-passes". Description: Median filter passes (0-100). Possible values: int/unsigned int 0-100. |
Content: Multi-paged, Thumbnails. | Unsupported | - | libraw |
| 20 | SVG |
Bit depth: 32-bit.
Content: Static. See resvg support table when compiled with resvg. |
Content: Animated, Meta data, ICC profiles.
See resvg support table when compiled with resvg. |
Unsupported | - | resvg or nanosvg |
| 21 | TGA |
Grayscale: 8-bit.
Indexed: 8-bit.
BGR: 16-bit (BGR555), 24-bit.
BGRA: 32-bit.
Compressions: NONE, RLE. Content: Static, Meta data. TGA Versions: TGA 1.0, TGA 2.0 (with Extension Area). Special properties: Key: "tga-origin-x". Description: X coordinate of image origin. Possible values: unsigned short. Key: "tga-origin-y". Description: Y coordinate of image origin. Possible values: unsigned short. Key: "tga-alpha-bits". Description: Number of alpha channel bits (0-15). Possible values: unsigned char. Key: "tga-flipped-h". Description: Image is flipped horizontally. Possible values: bool. Key: "tga-flipped-v". Description: Image is flipped vertically. Possible values: bool. Key: "tga-key-color". Description: Key color (ARGB, 32-bit). Possible values: unsigned int (only if not zero). Key: "tga-pixel-aspect-ratio". Description: Pixel aspect ratio. Possible values: double. Key: "tga-scan-line-offset". Description: Offset to scan line table. Possible values: unsigned int (only if not zero). Key: "tga-attributes-type". Description: Attributes type byte indicating how to interpret alpha channel (0=no alpha, 1=undefined/ignore, 2=useful non-premultiplied, 3=useful premultiplied, 4=premultiplied non-linear). Possible values: unsigned char. |
Content: Thumbnails. |
Grayscale: 8-bit.
Indexed: 8-bit.
BGR: 16-bit (BGR555), 24-bit.
BGRA: 32-bit.
Compressions: NONE, RLE. Content: Static, Meta data. Output format: TGA 2.0 with Extension Area. |
- | - |
| 22 | VIDEO |
Grayscale: 8-bit, 16-bit.
RGB: 24-bit, 48-bit.
RGBA: 32-bit, 64-bit.
YUV: 24-bit, 30-bit, 36-bit, 48-bit.
Content: Static, Meta data. Supported formats: MP4, M4V, MOV, AVI, MKV, WEBM, FLV, WMV, MPG, MPEG, 3GP, OGV, TS, MTS, M2TS. Special properties: Key: "video-codec". Description: Video codec name. Possible values: string. Key: "video-profile". Description: Codec profile name. Possible values: string. Key: "video-level". Description: Codec level. Possible values: string. Key: "video-bitrate". Description: Video bitrate in bits per second. Possible values: unsigned long long. Key: "video-framerate". Description: Frame rate (constant framerate from codecpar). Possible values: double. Key: "video-estimated-framerate". Description: Estimated frame rate from stream. Possible values: double. Key: "video-time-base". Description: Time base for timestamps. Possible values: double. Key: "video-color-space". Description: Color space name. Possible values: string. Key: "video-color-range". Description: Color range name. Possible values: string. Key: "video-color-primaries". Description: Color primaries name. Possible values: string. Key: "video-color-transfer". Description: Color transfer characteristics name. Possible values: string. Key: "video-duration". Description: Video duration in milliseconds. Possible values: unsigned long long. Key: "video-frames". Description: Number of frames. Possible values: unsigned long long. Key: "video-audio-tracks-count". Description: Number of audio tracks. Possible values: unsigned int. Key: "video-audio-track-{N}-codec". Description: Audio codec name for track N (N starts from 1). Possible values: string. Key: "video-audio-track-{N}-bitrate". Description: Audio bitrate in bits per second for track N. Possible values: unsigned long long. Key: "video-audio-track-{N}-sample-rate". Description: Audio sample rate in Hz for track N. Possible values: int. Key: "video-audio-track-{N}-channels". Description: Number of audio channels for track N. Possible values: unsigned int. Key: "video-audio-track-{N}-channel-layout". Description: Channel layout description for track N. Possible values: string. Key: "video-audio-track-{N}-stream-index". Description: Stream index in the file for track N. Possible values: int. Key: "video-audio-track-{N}-language". Description: Language code for track N (if available). Possible values: string. Key: "video-subtitle-tracks-count". Description: Number of subtitle tracks. Possible values: unsigned int. Key: "video-subtitle-track-{N}-codec". Description: Subtitle codec name for track N (N starts from 1). Possible values: string. Key: "video-subtitle-track-{N}-stream-index". Description: Stream index in the file for track N. Possible values: int. Key: "video-subtitle-track-{N}-language". Description: Language code for track N (if available). Possible values: string. Tuning: Key: "video-threads". Description: Number of decoder threads. Possible values: int/unsigned int (default: 0 = auto). Key: "video-low-resolution". Description: Decode at lower resolution for speed. Possible values: bool. Key: "video-skip-frame". Description: Skip frame decoding. Possible values: int/unsigned int (0=none, 1=skip non-reference, 2=skip bidir, 4=skip non-keyframes, 8=skip all). Key: "video-skip-idct". Description: Skip IDCT step. Possible values: int/unsigned int (0=none, 1=skip B-frames, 2=skip all). Key: "video-skip-loop-filter". Description: Skip loop filtering. Possible values: int/unsigned int (0=none, 1=skip non-reference, 2=skip bidir, 4=skip non-keyframes, 8=skip all). Key: "video-error-concealment". Description: Error concealment strategy. Possible values: int/unsigned int (bitmask: 1=frame, 2=partitions, 4=drift, 8=merge). Key: "video-seek-time". Description: Extract frames at specific timestamps or time ranges (milliseconds). If not specified, all frames are read sequentially (like GIF). Possible values: string (semicolon-separated list of timestamps or ranges, e.g., "1000;2000;3000-5000"). Format: single timestamps like "1000" or ranges like "1000-5000" (start-end in milliseconds). |
Content: Audio streams, Subtitles. | Unsupported | - | FFmpeg (libavcodec, libavformat, libavutil, libswscale, libswresample) |
| 23 | TIFF |
Bit depth: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit, 24-bit, 32-bit, 40-bit, 48-bit, 64-bit, 80-bit.
Color spaces: Grayscale, Indexed, RGB, RGBA, CMYK, CMYKA, YCbCr, CIELab. Compressions:[1] ADOBE-DEFLATE, CCITT-RLE, CCITT-RLEW, CCITT-T4, CCITT-T6, DCS, DEFLATE, IT-8BL, IT8-CTPAD, IT8-LW, IT8-MP, JBIG, JPEG, JPEG-2000, LERC, LZMA, LZW, NEXT, NONE, OJPEG, PACKBITS, PIXAR-FILM, PIXAR-LOG, SGI-LOG24, SGI-LOG, T43, T85, THUNDERSCAN, WEBP, ZSTD. Content: Static, Multi-paged, Meta data, ICC profiles. |
Tiled TIFFs, Planar configuration (PLANARCONFIG_SEPARATE), EXIF, Thumbnails./td> |
Grayscale: 1-bit, 2-bit, 4-bit, 8-bit, 16-bit, 32-bit (float), 32-bit (uint).
Grayscale+Alpha: 8-bit (4+4), 16-bit (8+8), 32-bit (16+16). Indexed: 1-bit, 2-bit, 4-bit, 8-bit. RGB: 24-bit (8×3), 48-bit (16×3). RGBA: 32-bit (8×4), 64-bit (16×4). CMYK: 32-bit (8×4), 64-bit (16×4). CMYKA: 40-bit (8×5), 80-bit (16×5). YCbCr: 24-bit (8×3). CIELab: 24-bit (8×3). Compressions:[1] ADOBE-DEFLATE, CCITT-RLE, CCITT-RLEW, CCITT-T4, CCITT-T6, DCS, DEFLATE, IT-8BL, IT8-CTPAD, IT8-LW, IT8-MP, JBIG, JPEG, JPEG-2000, LERC, LZMA, LZW, NEXT, NONE, OJPEG, PACKBITS, PIXAR-FILM, PIXAR-LOG, SGI-LOG24, SGI-LOG, T43, T85, THUNDERSCAN, WEBP, ZSTD. Content: Static, Multi-paged, Meta data, ICC profiles. Tuning options: tiff-predictor: Prediction scheme for LZW/DEFLATE. Values: "none", "horizontal", "floating-point". tiff-jpeg-quality: JPEG quality (1-100). Values: int/unsigned int. Default: 75. tiff-zip-quality: ZIP/DEFLATE quality (1-9). Values: int/unsigned int. Default: 6. |
Tiled TIFFs, Planar configuration (PLANARCONFIG_SEPARATE), EXIF, Thumbnails. | libtiff |
| 24 | WAL |
Indexed: 8-bit.
Content: Static, Multi-paged (4 mipmap levels). |
- |
Indexed: 8-bit.
Content: Static, Multi-paged (4 mipmap levels). Note: Dimensions must be divisible by 8. If only one frame is provided, mipmaps are generated automatically. |
- | - |
| 25 | WEBP |
RGBA: 32-bit.
Content: Static, Animated, Meta data, ICC profiles. |
- |
RGB: 24-bit.
BGR: 24-bit.
RGBA: 32-bit.
BGRA: 32-bit.
ARGB: 32-bit.
ABGR: 32-bit.
Compressions: WebP. Content: Static, Animated. Tuning: Key: "webp-lossless". Description: Lossless encoding. Possible values: bool (default: false). Key: "webp-method". Description: Quality/speed trade-off (0=fast, 6=slower-better). Possible values: int/unsigned int 0-6 (default: 4). Key: "webp-image-hint". Description: Image type hint. Possible values: "default", "picture", "photo", "graph" (default: "default"). Key: "webp-target-size". Description: Target size in bytes (0=disabled). Possible values: int/unsigned int (default: 0). Key: "webp-target-psnr". Description: Minimal distortion to achieve (0=disabled). Possible values: float/double (default: 0). Key: "webp-segments". Description: Maximum number of segments. Possible values: int/unsigned int 1-4 (default: 4). Key: "webp-sns-strength". Description: Spatial Noise Shaping (0=off, 100=max). Possible values: int/unsigned int 0-100 (default: 50). Key: "webp-filter-strength". Description: Filtering strength (0=off, 100=strongest). Possible values: int/unsigned int 0-100 (default: 60). Key: "webp-filter-sharpness". Description: Filtering sharpness (0=off, 7=least sharp). Possible values: int/unsigned int 0-7 (default: 0). Key: "webp-filter-type". Description: Filtering type. Possible values: "simple", "strong" (default: "strong"). Key: "webp-autofilter". Description: Auto adjust filter strength. Possible values: bool (default: false). Key: "webp-alpha-compression". Description: Alpha plane compression. Possible values: bool (default: true). Key: "webp-alpha-filtering". Description: Alpha predictive filtering. Possible values: "none", "fast", "best" (default: "fast"). Key: "webp-alpha-quality". Description: Alpha quality (0=smallest, 100=lossless). Possible values: int/unsigned int 0-100 (default: 100). Key: "webp-pass". Description: Number of entropy analysis passes. Possible values: int/unsigned int 1-10 (default: 1). Key: "webp-preprocessing". Description: Preprocessing filter. Possible values: "none", "segment-smooth", "pseudo-random-dithering" (default: "none"). Key: "webp-partitions". Description: log2(number of token partitions). Possible values: int/unsigned int 0-3 (default: 0). Key: "webp-partition-limit". Description: Quality degradation for 512k limit (0=none, 100=max). Possible values: int/unsigned int 0-100 (default: 0). Key: "webp-emulate-jpeg-size". Description: Remap parameters to match JPEG size. Possible values: bool (default: false). Key: "webp-thread-level". Description: Use multi-threaded encoding. Possible values: bool (default: false). Key: "webp-low-memory". Description: Reduce memory usage (increases CPU). Possible values: bool (default: false). Key: "webp-near-lossless". Description: Near lossless encoding (0=max loss, 100=off). Possible values: int/unsigned int 0-100 (default: 100). Key: "webp-exact". Description: Preserve exact RGB under transparent areas. Possible values: bool (default: false). Key: "webp-use-delta-palette". Description: Use delta palette (reserved for future). Possible values: bool (default: false). Key: "webp-use-sharp-yuv". Description: Use sharp RGB→YUV conversion. Possible values: bool (default: false). |
- | libwebp |
| 26 | XBM |
Indexed: 1-bit.
Content: Static. Specifications: X10, X11. Special properties: Key: "xbm-version". Description: XBM format version detected during load (X10 or X11). Possible values: "X10", "X11". |
Content: Multi-paged, C-style /*...*/ comments. |
Indexed: 1-bit.
Compressions: NONE. Content: Static. Tuning: Key: "xbm-version". Description: XBM format version. Possible values: "X10", "X11" (default: "X11"). Key: "xbm-name". Description: Variable name for the C array. Possible values: any valid C identifier (default: "image"). |
- | - |
| 27 | XPM |
Indexed: 1-bit, 2-bit, 4-bit, 8-bit.
RGBA: 32-bit.
Content: Static, Meta data. Special properties: Key: "xpm-hotspot-x". Description: X coordinate of hotspot. Possible values: int (default: -1). Key: "xpm-hotspot-y". Description: Y coordinate of hotspot. Possible values: int (default: -1). |
- |
Indexed: 1-bit, 2-bit, 4-bit, 8-bit.
Compressions: NONE. Content: Static, Meta data. Tuning: Key: "xpm-name". Description: Variable name for the C array. Possible values: any valid C identifier (default: "image"). |
- | - |
| 28 | XWD |
Indexed: 1-bit, 2-bit, 4-bit, 8-bit.
RGB: 16-bit (555, 565), 24-bit.
BGR: 16-bit (555, 565), 24-bit.
RGBA: 32-bit.
BGRA: 32-bit.
ARGB: 32-bit.
ABGR: 32-bit.
Content: Static. Specifications: X11. |
XYPixmap and XYBitmap formats (only ZPixmap is supported). |
Indexed: 1-bit, 2-bit, 4-bit, 8-bit.
RGB: 16-bit (555, 565), 24-bit.
BGR: 16-bit (555, 565), 24-bit.
RGBA: 32-bit.
BGRA: 32-bit.
ARGB: 32-bit.
ABGR: 32-bit.
Compressions: NONE. Content: Static. |
- | - |