From: Justin Ruggles Date: Wed, 27 Aug 2008 01:40:46 +0000 (+0000) Subject: copy default coupling band structure from table to decoding context (used for E-AC-3) X-Git-Tag: v0.5~2907 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=0ffea2439bdb9275a34cac1830cfee29819a69e0;p=coroid%2Flibav_saccubus.git copy default coupling band structure from table to decoding context (used for E-AC-3) Originally committed as revision 14990 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index e4a1e754d..3a7eec902 100644 --- a/libavcodec/ac3dec.c +++ b/libavcodec/ac3dec.c @@ -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; diff --git a/libavcodec/ac3dec.h b/libavcodec/ac3dec.h index 9e44019b1..26d613538 100644 --- a/libavcodec/ac3dec.h +++ b/libavcodec/ac3dec.h @@ -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)