OSDN Git Service

copy default coupling band structure from table to decoding context (used for E-AC-3)
authorJustin Ruggles <justin.ruggles@gmail.com>
Wed, 27 Aug 2008 01:40:46 +0000 (01:40 +0000)
committerJustin Ruggles <justin.ruggles@gmail.com>
Wed, 27 Aug 2008 01:40:46 +0000 (01:40 +0000)
Originally committed as revision 14990 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/ac3dec.c
libavcodec/ac3dec.h

index e4a1e75..3a7eec9 100644 (file)
@@ -824,6 +824,9 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
                     s->cpl_band_struct[bnd] = get_bits1(gbc);
                 }
             } else if (!blk) {
+                memcpy(s->cpl_band_struct,
+                       &ff_eac3_default_cpl_band_struct[cpl_begin_freq+1],
+                       s->num_cpl_subbands-1);
             }
             s->cpl_band_struct[s->num_cpl_subbands-1] = 0;
 
index 9e44019..26d6135 100644 (file)
@@ -82,7 +82,7 @@ typedef struct {
     int phase_flags[18];                    ///< phase flags                            (phsflg)
     int num_cpl_subbands;                   ///< number of coupling sub bands           (ncplsubnd)
     int num_cpl_bands;                      ///< number of coupling bands               (ncplbnd)
-    int cpl_band_struct[18];                ///< coupling band structure                (cplbndstrc)
+    uint8_t cpl_band_struct[18];            ///< coupling band structure                (cplbndstrc)
     int firstchincpl;                       ///< first channel in coupling
     int first_cpl_coords[AC3_MAX_CHANNELS]; ///< first coupling coordinates states      (firstcplcos)
     int cpl_coords[AC3_MAX_CHANNELS][18];   ///< coupling coordinates                   (cplco)