Merge commit '381dc1a5ec0925b281c573457c413ae643567086'
[ffmpeg.git] / doc / nut.texi
1 \input texinfo @c -*- texinfo -*-
2
3 @settitle NUT
4
5 @titlepage
6 @center @titlefont{NUT}
7 @end titlepage
8
9 @top
10
11 @contents
12
13 @chapter Description
14 NUT is a low overhead generic container format. It stores audio, video,
15 subtitle and user-defined streams in a simple, yet efficient, way.
16
17 It was created by a group of FFmpeg and MPlayer developers in 2003
18 and was finalized in 2008.
19
20 The official nut specification is at svn://svn.mplayerhq.hu/nut
21 In case of any differences between this text and the official specification,
22 the official specification shall prevail.
23
24 @chapter Container-specific codec tags
25
26 @section Generic raw YUVA formats
27
28 Since many exotic planar YUVA pixel formats are not considered by
29 the AVI/QuickTime FourCC lists, the following scheme is adopted for
30 representing them.
31
32 The first two bytes can contain the values:
33 Y1 = only Y
34 Y2 = Y+A
35 Y3 = YUV
36 Y4 = YUVA
37
38 The third byte represents the width and height chroma subsampling
39 values for the UV planes, that is the amount to shift the luma
40 width/height right to find the chroma width/height.
41
42 The fourth byte is the number of bits used (8, 16, ...).
43
44 If the order of bytes is inverted, that means that each component has
45 to be read big-endian.
46
47 @section Raw Audio
48
49 @multitable @columnfractions .4 .4
50 @item ALAW  @tab A-LAW
51 @item ULAW  @tab MU-LAW
52 @item P<type><interleaving><bits> @tab little-endian PCM
53 @item <bits><interleaving><type>P @tab big-endian PCM
54 @end multitable
55
56 <type> is S for signed integer, U for unsigned integer, F for IEEE float
57 <interleaving> is D for default, P is for planar.
58 <bits> is 8/16/24/32
59
60 @example
61 PFD[32]   would for example be signed 32 bit little-endian IEEE float
62 @end example
63
64 @section Subtitles
65
66 @multitable @columnfractions .4 .4
67 @item UTF8   @tab Raw UTF-8
68 @item SSA[0] @tab SubStation Alpha
69 @item DVDS   @tab DVD subtitles
70 @item DVBS   @tab DVB subtitles
71 @end multitable
72
73 @section Raw Data
74
75 @multitable @columnfractions .4 .4
76 @item UTF8   @tab Raw UTF-8
77 @end multitable
78
79 @section Codecs
80
81 @multitable @columnfractions .4 .4
82 @item 3IV1 @tab non-compliant MPEG-4 generated by old 3ivx
83 @item ASV1 @tab Asus Video
84 @item ASV2 @tab Asus Video 2
85 @item CVID @tab Cinepak
86 @item CYUV @tab Creative YUV
87 @item DIVX @tab non-compliant MPEG-4 generated by old DivX
88 @item DUCK @tab Truemotion 1
89 @item FFV1 @tab FFmpeg video 1
90 @item FFVH @tab FFmpeg Huffyuv
91 @item H261 @tab ITU H.261
92 @item H262 @tab ITU H.262
93 @item H263 @tab ITU H.263
94 @item H264 @tab ITU H.264
95 @item HFYU @tab Huffyuv
96 @item I263 @tab Intel H.263
97 @item IV31 @tab Indeo 3.1
98 @item IV32 @tab Indeo 3.2
99 @item IV50 @tab Indeo 5.0
100 @item LJPG @tab ITU JPEG (lossless)
101 @item MJLS @tab ITU JPEG-LS
102 @item MJPG @tab ITU JPEG
103 @item MPG4 @tab MS MPEG-4v1 (not ISO MPEG-4)
104 @item MP42 @tab MS MPEG-4v2
105 @item MP43 @tab MS MPEG-4v3
106 @item MP4V @tab ISO MPEG-4 Part 2 Video (from old encoders)
107 @item mpg1 @tab ISO MPEG-1 Video
108 @item mpg2 @tab ISO MPEG-2 Video
109 @item MRLE @tab MS RLE
110 @item MSVC @tab MS Video 1
111 @item RT21 @tab Indeo 2.1
112 @item RV10 @tab RealVideo 1.0
113 @item RV20 @tab RealVideo 2.0
114 @item RV30 @tab RealVideo 3.0
115 @item RV40 @tab RealVideo 4.0
116 @item SNOW @tab FFmpeg Snow
117 @item SVQ1 @tab Sorenson Video 1
118 @item SVQ3 @tab Sorenson Video 3
119 @item theo @tab Xiph Theora
120 @item TM20 @tab Truemotion 2.0
121 @item UMP4 @tab non-compliant MPEG-4 generated by UB Video MPEG-4
122 @item VCR1 @tab ATI VCR1
123 @item VP30 @tab VP 3.0
124 @item VP31 @tab VP 3.1
125 @item VP50 @tab VP 5.0
126 @item VP60 @tab VP 6.0
127 @item VP61 @tab VP 6.1
128 @item VP62 @tab VP 6.2
129 @item VP70 @tab VP 7.0
130 @item WMV1 @tab MS WMV7
131 @item WMV2 @tab MS WMV8
132 @item WMV3 @tab MS WMV9
133 @item WV1F @tab non-compliant MPEG-4 generated by ?
134 @item WVC1 @tab VC-1
135 @item XVID @tab non-compliant MPEG-4 generated by old Xvid
136 @item XVIX @tab non-compliant MPEG-4 generated by old Xvid with interlacing bug
137 @end multitable
138