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