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