TGA

TGA (Targa) is a raster image file format developed by Truevision, Inc. (then named EPICenter) in 1984. Designed for use with MS-DOS color applications, TGA is the native format of Truevision's TARGA (Truevision Advanced Raster Graphics Adapter) boards, which were some of the first graphic cards for IBM-compatible PCs to support 24-bit RGB color encoding (sometimes termed truecolor).

Most TGA files are quite simple, but the format has the potential to be fairly complex.

TGA images are either uncompressed, or compressed with run-length encoding.

Format details
Files begin with an 18-byte fixed header, sometimes followed by other segments, followed by the pixel data. After the pixel data, there may be additional data elements referred to by an optional 26-byte file footer.

Variant formats
Some Truevision products used their own variant or subset of TGA: ICB, VDA, or VST. Those and other TGA variants are listed here.

ICB

 * File extension: .icb
 * Full name: Image Capture Board

VDA

 * File extension: .vda
 * Full name: Video Display Adapter

VST

 * File extension: .vst
 * Full name: TrueVista or Truevision Vista

XnView can read and write VST format. The format XnView supports seems to have more differences from TGA than are mentioned in the TGA 2.0 specification. There is an extra 18-byte header or ID field after the main header, with the signature "" at file offset 20.

PIX, BPX

 * File extensions: .pix, .bpx

Refer to Lumena PIX/BPX.

IVB

 * File extension: .ivb

No details known. IVB is a file extension or variant format that XnView claims to support.

Identification
TGA files have no signature at the beginning of the file. They can be identified fairly reliably by testing whether the first 18 bytes have sensible values for TGA format, but that is nontrivial.

Some, but not all, TGA files have a signature at the end of the file. In that case, the last 18 bytes of the file are the ASCII characters " ", followed by a NUL byte. An example of a file ending in  is seen at telparia.com/fileFormatSamples/image/tga/ (linked below in &sect;Sample files) > https://telparia.com/fileFormatSamples/image/tga/test.tga.

Versions
The first TGA format is now known as Original TGA Format, or (informally) TGA Version 1. It is characterized by the lack of a New TGA Format signature.

New TGA Format, or TGA Version 2.0, was released in 1989. It is characterized by a footer with a "TRUEVISION-XFILE" signature. It adds an optional "Extension Area" segment, with many standard metadata fields.

It also adds an optional "Developer Area" segment, which supports arbitrary custom data. A custom data item is tagged with a 16-bit integer identifier, similar to a TIFF tag. There does not appear to be any published list of TGA tags, though tag 20 seems to be used for Photoshop Image Resources.

Specifications

 * Truevision TGA File Format Specification, Version 2.0: PostScript · PDF · HTML
 * Information extracted by Martin Reddy from Appendix C of the Truevision Technical Guide
 * Another copy of the file
 * Picture format docs (of a number of formats including this one)

Software
TGA is widely supported. Software listed here has been semi-arbitrarily selected.
 * Netpbm: pamtotga, tgatoppm
 * ImageMagick
 * FFmpeg
 * XnView
 * Libtga
 * abydos
 * GIMP
 * GIMP

Sample files

 * http://www.fileformat.info/format/tga/sample/index.htm
 * https://samples.libav.org/image-samples/TGA/
 * http://links.uwaterloo.ca/Repository/TGA/
 * http://downloads.oldschoolbg.com/cstrike/gfx/env/
 * https://github.com/timfel/tombexcavator/tree/master/data/TGA
 * https://telparia.com/fileFormatSamples/image/tga/

Links

 * Truevision TGA: Wikipedia
 * , from the Encyclopedia of Graphics File Formats
 * Creating TGA Image files By Paul Bourke, 1996.
 * TGA format chart