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 160