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);