Mercurial > libavcodec.hg
comparison ac3.c @ 4689:c7828f1ae244 libavcodec
fix handling of special case for lowest snroffset. regressions are unaffected.
author | jbr |
---|---|
date | Tue, 20 Mar 2007 02:12:13 +0000 |
parents | 6ec0afffc572 |
children | 40f3a7f2b1fd |
comparison
equal
deleted
inserted
replaced
4688:1cefcd7da878 | 4689:c7828f1ae244 |
---|---|
173 void ff_ac3_bit_alloc_calc_bap(int16_t *mask, int16_t *psd, int start, int end, | 173 void ff_ac3_bit_alloc_calc_bap(int16_t *mask, int16_t *psd, int start, int end, |
174 int snroffset, int floor, uint8_t *bap) | 174 int snroffset, int floor, uint8_t *bap) |
175 { | 175 { |
176 int i, j, k, end1, v, address; | 176 int i, j, k, end1, v, address; |
177 | 177 |
178 /* special case, if snroffset is -960, set all bap's to zero */ | |
179 if(snroffset == -960) { | |
180 memset(bap, 0, 256); | |
181 return; | |
182 } | |
183 | |
178 i = start; | 184 i = start; |
179 j = masktab[start]; | 185 j = masktab[start]; |
180 do { | 186 do { |
181 v = (FFMAX(mask[j] - snroffset - floor, 0) & 0x1FE0) + floor; | 187 v = (FFMAX(mask[j] - snroffset - floor, 0) & 0x1FE0) + floor; |
182 end1 = FFMIN(bndtab[j] + bndsz[j], end); | 188 end1 = FFMIN(bndtab[j] + bndsz[j], end); |