Truevision TGA

Truevision TGA
Filename extension .tga
.tpic
Internet media type image/x-targa
image/x-tga
Type code 'TPIC'
Uniform Type Identifier com.truevision.tga-image
Developed by Truevision
Type of format Raster image file

Truevision TGA, often referred to as TARGA, is a raster graphics file format created by Truevision Inc. (now acquired by Avid Technology). It was the native format of TARGA and VISTA boards, which were the first graphic cards for IBM-compatible PCs to support Highcolor/truecolor display. This family of graphic cards was intended for professional computer image synthesis and video editing with PCs; for this reason, usual resolutions of TGA image files match those of the NTSC and PAL video formats.

TARGA is an acronym for Truevision Advanced Raster Graphics Adapter; TGA is an initialism for Truevision Graphics Adapter.

TGA files commonly have the extension ".tga" on PC DOS/Windows systems and Mac OS X (older Macintosh systems use the "TPIC" type code). The format can store image data with 8, 16, 24, or 32 bits of precision per pixel[1] – the maximum 24 bits of RGB and an extra 8-bit alpha channel. Color data can be color-mapped, or in direct color or truecolor format. Image data may be stored raw, or optionally, a lossless PackBits RLE compression can be employed.

TGA files are in widespread use due to their simplicity and ease of implementation and lack of encumbering patents.

The compression method used in Targa images (Run Length Encoding) performs poorly when compressing images with many color variations, such as digital photos, but works well for textures and simpler images.

Contents

History

The TGA file format was originally defined and specified by AT&T EPICenter with feedback from Island Graphics Inc in 1984. AT&T EPICenter was an internal spin-off of AT&T created to market new technologies AT&T had developed for color frame buffers. What later became Truevision was the result of a leveraged employee buyout from AT&T in 1987.

EPICenter's first two cards, the VDA (video display adapter) and ICB (image capture board), used the first incarnations of the TGA file format. The file extensions ".vda" and ".icb" implied information about the board specific data contained.

It was later determined by Alan Wlasuk (then head of EPICenter), Brad Pillow (EPICenter) and Steven Dompier (Island's president) that a more codified file format was needed. The file format was created and implemented by Brad Pillow (EPICenter) and Bryan Hunt (EPICenter) and was developed in response to this need for a less board specific file format. A very simple extension was made to what was already in use, and contained information on width, height, pixel depth, an associated color map and image origin. A label field (up to 255 characters) was also included in the initial spec, but was rarely used.

At the time, another technically superior file format called TIFF also appeared, but its use for true color images was very limited as the implementation and sharing of files between applications supporting the TIFF specification was rather difficult and involved. The TGA file format's simplistic nature and portability between platforms is the main reason for its widespread adoption and its continued success in a wide variety of applications worldwide to this day.

Initially the TGA file format was used in the ICB-PAINT and TARGA-PAINT programs (what later became known as TIPS) and for several projects in online real estate browsing and still-frame video teleconferencing.

The current version (2.0) includes several enhancements such as "postage stamps" (better known as thumbnails), an alpha channel, gamma value, and textual metadata, and was authored by Truevision Inc.'s Shawn Steiner with direction from Kevin Friedly and David Spoelstra in 1989.

At the time of its launching, it represented the state-of-the-art in digital image processing. Even today, though its maximum color depth is not well suited for high-end pre-press, intensive image processing systems, TGA is still used extensively throughout the animation and video industry because its primary intended outputs are standard TV screens, not color printed pages.

Uncompressed 24-bit TGA images are relatively simple compared to several other prominent 24-bit storage formats: A 24-bit TGA contains only an 18-byte header followed by the image data as packed RGB data. In contrast, BMP requires padding rows to 4-byte boundaries, TIFF and PNG are metadata containers that do not place the image data or attributes at a fixed location within the file.

32-bit TGA images contain an alpha channel, or key signal, and they are used in character generator programs such as Avid Deko.

Technical details

All values are little-endian; field and subfield numbers are per Version 2.0 of the specification.

Version 2 added the extension area and footer. The developer area exists to store application-specific information.

Required sections

Header

Field no. Length Field name Description
1 1 byte ID length Length of the image ID field
2 1 byte Color map type Whether a color map is included
3 1 byte Image type Compression and color types
4 5 bytes Color map specification Describes the color map
5 10 bytes Image specification Image dimensions and format

Image ID length (field 1)

0 - 255 The number of bytes that the image ID field consists of. The image ID field can contain any information, but it is common for it to contain the date and time the image was created or a serial number.

As of version 2.0 of the TGA spec, the date and time the image was created is catered for in the extension area.

Color map type (field 2)

has the value:

Image type (field 3)

is enumerated in the lower three bits, with the fourth bit as a flag for RLE. Some possible values are:

Color map specification (field 4)

has three subfields:

Image specification (field 5)

has six subfields:

Image and color map data

Field no. Length Field Description
6 From image ID length field Image ID Optional field containing identifying information
7 From color map specification field Color map data Look-up table containing color map data
8 From image specification field Image data Stored according to the image descriptor

Optional sections

Developer area

Version 1.0 of the TGA specification was very basic, and many developers had a need to store more information, and so opted to add on extra sections to their files, specific to their application only.

In Version 2.0 of the specification, these application-specific enhancements/extras are supported by the developer area. Only the offset and size of the developer area are relevant to the spec, and developers are free to add whatever they want in the area.

If a TGA decoder cannot interpret the information in the developer area, it will generally ignore it, since it is assumed to have been created by a different application. It is recommended that developers build logic into their applications to determine whether the data in the developer area is compatible with the application; one step towards this is to check the software ID in the file footer.

Extension area

Field no. Length Field Description
10 2 bytes Extension size Size in bytes of the extension area, always 495
11 41 bytes Author name Name of the author. If not used, bytes should be set to NULL (\0) or spaces
12 324 bytes Author comment A comment, organized as four lines, each consisting of 80 characters plus a NULL
13 12 bytes Date/time stamp Date and time at which the image was created
14 41 bytes Job ID
15 6 bytes Job time Hours, minutes and seconds spent creating the file (for billing, etc.)
16 41 bytes Software ID The application that created the file.
17 3 bytes Software version
18 4 bytes Key color
19 4 bytes Pixel aspect ratio
20 4 bytes Gamma value
21 4 bytes Color correction offset Number of bytes from the beginning of the file to the color correction table if present
22 4 bytes Postage stamp offset Number of bytes from the beginning of the file to the postage stamp image if present
23 4 bytes Scan line offset Number of bytes from the beginning of the file to the scan lines table if present
24 1 byte Attributes type Specifies the alpha channel

File footer

If a TGA image contains a footer, the chances are that it is a TGA version 2 file. The footer is the final 26 bytes of the file, of which the last 18 are constant.

Field no. Length Field Description
28 4 bytes Extension offset Offset in bytes from the beginning of the file
29 4 bytes Developer area offset Offset in bytes from the beginning of the file
30 16 bytes Signature Contains "TRUEVISION-XFILE"
31 1 byte Contains "."
32 1 byte Contains NULL

Usage in video games

Historically, TGA was a common format for textures in video games. Modern games are more likely to use compressed alternatives such as DirectDraw Surface, but due to its speed and simplicity TGA is often still used for saving screenshots.

Other media

In the film Earth Girls Are Easy, the aliens are given a makeover at the "Curl up and Dye" Salon. There is a short sequence showing the TARGA video card, and TIPS paint software in action.

References

External links