r105: This commit was manufactured by cvs2svn to create tag
[cinelerra_cv/mob.git] / hvirtual / quicktime / docs / codecs.html
blob538ecd0e28217f95263701cdeaab8b728499f3dd
1 <TITLE>Quicktime for Linux</TITLE>
3 <H1>Codec information</H1>
5 The following concerns all the codecs built into the library.<P>
8 <H1>DIVX</H1>
10 This encodes video in MPEG-4 using the OpenDivx codec. This is the
11 preferred compressed format although it probably won't be supported by
12 Microsoft or Apple any time soon. It takes the following
13 parameters:<P>
16 <CODE>
17 divx_bitrate (int)<BR>
18 divx_rc_period (int)<BR>
19 divx_rc_reaction_ratio (int)<BR>
20 divx_rc_reaction_period (int)<BR>
21 divx_max_key_interval (int)<BR>
22 divx_max_quantizer (int)<BR>
23 divx_min_quantizer (int)<BR>
24 divx_quantizer (int)<BR>
25 divx_quality (int)<BR>
26 divx_fix_bitrate (int)<BR>
27 </CODE><P>
30 <H1>DV</H1>
32 DV is supported for full decoding but only for black and white encoding
33 on IA-32 platforms/architectures. Secondly, only NTSC 25 Mbit/sec
34 4:1:1 DV data has ever been tested. There are two derivatives of DV:
35 <B>DVC</B> and <B>DVCP</B>. Only DVC is currently supported.<P>
37 <H1>IMA4</H1>
39 The IMA4 compressor reduces 16 bit audio data to 1/4 size, with very
40 good quality. For many years IMA4 was the best compressed audio format
41 in Quicktime. The first Starwars trailer in 1998 was encoded using
42 IMA4 audio.<P>
44 <H1>JPEG</H1>
46 JPEG is preferred for compressed video. This format writes a seperate
47 JPEG photo for every frame in YUV 4:2:0.<P>
49 JPEG supports the following parameters, which can be set after
50 quicktime_set_video.<P>
52 <CODE>
53 jpeg_quality (int)<BR>
54 jpeg_usefloat (int)<BR>
55 </CODE><P>
57 These takes a quality factor from 1 - 100 and a booleen flag to
58 determine whether floating point operations should be used to slow it
59 down.<P>
61 <H1>MJPA</H1>
63 MJPA stores each frame as two JPEGs interlaced and in YUV 4:2:2. The
64 real advantage is that it can split compression and decompression
65 across 2 processors and it supports higher color sampling than JPEG
66 Photo. To enable dualized MJPA processing call:<P>
68 <CODE>
69 quicktime_set_cpus(quicktime_t *file, int cpus);<P>
70 </CODE>
72 immediately after the <B>quicktime_init</B> call. Cpus should contain
73 the number of CPUs to devote to compression.<P>
75 After specifying MJPA in quicktime_set_video you need to call
76 <B>quicktime_set_jpeg</B> as described previously.<P>
78 <H1>PNG</H1>
80 This consists of one PNG image for every frame. Like <B>RAW</B> this
81 codec supports 32 bit depths.<P>
83 <H1>RAW</H1>
85 RAW identifies both a video and an audio codec. When you specify RAW
86 for an <B>audio</B> track you invoke unsigned 8 bit encoding so you'll probably
87 never use it.<P>
89 When you specify RAW for a <B>video</B> track you get RGB packed
90 frames. RAW video supports alpha channels. To get RGBA packed frames
91 you can then issue <P>
93 <CODE>
94 int quicktime_set_depth(quicktime_t *file, int depth, int track);
95 </CODE><P>
97 specifying a depth of 32.<P>
99 <H1>TWOS</H1>
101 Twos is the preferred encoding for uncompressed audio. It stores 8,
102 16, and 24 bit audio, interleaved for multiple channels. The 8 bit
103 mode is signed. The 16 and 24 bit modes are big endian signed.
105 <H1>Vorbis</H1>
107 This is the preferred encoding for compressed audio although it
108 probably won't be supported by Microsoft or Apple any time soon. It
109 takes the following parameters:<P>
111 <CODE>
112 vorbis_bitrate (int)<BR>
113 vorbis_max_bitrate (int)<BR>
114 vorbis_min_bitrate (int)<BR>
115 </CODE><P>
117 Units are bits per second.