Skip to content

Latest commit

 

History

History
1051 lines (1049 loc) · 49.5 KB

File metadata and controls

1051 lines (1049 loc) · 49.5 KB
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.
- -

References

  1. If supported by the underlying codec like libjpeg.
  2. Even though uncompressed PCX files are not considered valid by the spec.