]> git.sesse.net Git - vlc/commitdiff
Merge branch 'master' into lpcm_encoder
authorSteinar H. Gunderson <steinar+vlc@gunderson.no>
Wed, 29 Sep 2010 19:50:29 +0000 (21:50 +0200)
committerSteinar H. Gunderson <steinar+vlc@gunderson.no>
Wed, 29 Sep 2010 19:50:29 +0000 (21:50 +0200)
1  2 
modules/codec/lpcm.c

index ffa571258415d8510301523d9cac2765a77c5165,3928065a37727e112461510d4aad70ef40cd7a9b..73b90780963d8fed23c889c48ba98d7eac7b6080
@@@ -94,30 -79,19 +94,32 @@@ struct decoder_sys_
      int      i_type;
  };
  
 +#ifdef ENABLE_SOUT
 +struct encoder_sys_t
 +{
 +    int     i_channels;
 +    int     i_rate;
 +
 +    int     i_frame_samples;
 +    uint8_t *p_buffer;
 +    int     i_buffer_used;
 +    int     i_frame_num;
 +};
 +#endif
 +
  /*
   * LPCM DVD header :
-  * - frame number (8 bits)
-  * - unknown (16 bits) == 0x0003 ?
-  * - unknown (4 bits)
-  * - current frame (4 bits)
-  * - unknown (2 bits)
-  * - frequency (2 bits) 0 == 48 kHz, 1 == 32 kHz, 2 == ?, 3 == ?
-  * - unknown (1 bit)
+  * - number of frames in this packet (8 bits)
+  * - first access unit (16 bits) == 0x0003 ?
+  * - emphasis (1 bit)
+  * - mute (1 bit)
+  * - reserved (1 bit)
+  * - current frame (5 bits)
+  * - quantisation (2 bits) 0 == 16bps, 1 == 20bps, 2 == 24bps, 3 == illegal
+  * - frequency (2 bits) 0 == 48 kHz, 1 == 96 kHz, 2 == 44.1 kHz, 3 == 32 kHz
+  * - reserved (1 bit)
   * - number of channels - 1 (3 bits) 1 == 2 channels
-  * - start code (8 bits) == 0x80
+  * - dynamic range (8 bits) 0x80 == neutral
   *
   * LPCM DVD-A header (http://dvd-audio.sourceforge.net/spec/aob.shtml)
   * - continuity counter (8 bits, clipped to 0x00-0x1f)