[NUT-devel] [nut]: r165 - trunk/docs/nut-english.txt
    ods15 
    subversion at mplayerhq.hu
       
    Sat Oct 28 20:29:10 CEST 2006
    
    
  
Author: ods15
Date: Sat Oct 28 20:29:06 2006
New Revision: 165
Modified:
   trunk/docs/nut-english.txt
Log:
Explain VLC's...
Modified: trunk/docs/nut-english.txt
==============================================================================
--- trunk/docs/nut-english.txt	(original)
+++ trunk/docs/nut-english.txt	Sat Oct 28 20:29:06 2006
@@ -43,6 +43,20 @@
 reserved fields which can be skipped by old demuxers, and a CRC covering
 the packet from after the packet_header until the CRC itself.
 
+Variable Length Coding
+
+Almost all fields in NUT are coded using VLCs. VLCs allow for compact
+storage of small integers, which still being extendible to infinitely
+large integers. The syntax is of a VLC is, per byte, a 1 bit flag stating
+if there are more bits to the integer, and 7 bits to be prepended to the
+lsb of the integer, shifting the previous value to the left.
+Stuffing is allowed in VLCs by adding 0x80 bytes before the actual value,
+but a maximum of 8 bytes of stuffing is allowed in any VLC outside of a
+NUT packet. The only such fields are forward_ptr and fields in frame
+headers. This is to prevent demuxers from looping on a large of amount of
+damaged bytes of 0x80. Fields inside a NUT packet are protected by a CRC
+whcih can be checked before decoding.
+
 Header Structure
 
 A NUT file must begin with a magic identification string, followed by
    
    
More information about the NUT-devel
mailing list