Codec information

The following concerns all the codecs built into the library.

IMA4

The IMA4 compressor reduces 16 bit audio data to 1/4 size, with very good quality. This is the preferred codec for low bandwidth audio.

JPEG

and JPEG is preferred for low bandwidth video. This format writes a seperate JPEG photo for every frame.

Using the JPEG format requires calling the following function after quicktime_set_video.

int quicktime_set_jpeg(quicktime_t *file, int quality, int use_float);

This takes a quality factor from 1 - 100 and a booleen flag to determine whether floating point operations should be used to slow it down.

MJPA

MJPA stores each frame as two JPEGs interlaced. Quicktime for Linux lets you synthesize MJPA images suitable for playback on hardware or decompress MJPA frames captured on hardware. The real advantage is that it can split compression and decompression across 2 processors, doubling the frame rate. To enable dualized MJPA processing call:

quicktime_set_cpus(quicktime_t *file, int cpus);

immediately after the quicktime_init call. Cpus should contain the number of CPUs to devote to compression.

After specifying MJPA in quicktime_set_video you need to call quicktime_set_jpeg as described previously.

YUV2

The human eye percieves brightness much more accurately than colors. YUV2 downsamples the color components by 50% for a total compression of 33% with virtually no image degredation. This is preferred for intermediate storage. YUV2 is called "Component video" in Losedows and Mac OS land.

YUV4

YUV4 is only supported in Quicktime for Linux. It downsamples the color components by 75% for a total 50% compression. YUV4 allows high capture framerates on slow hard drives. Since the same downsampling is used in MPEG-I and DV, this is the preferred intermediate format for working with these sources.