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