Mercurial > mplayer.hg
annotate libfaad2/is.h @ 29385:f9ae25067fe0
Fix 24bit audio playback.
The reordering channels code had reoccurring bug
where in switch(samplesize) block the
case 3 (3 bytes) doesn't end with break;
leading to execution of the next case 4 too.
This mangles the already processed data and
causes massive memory corruption.
author | iive |
---|---|
date | Sun, 19 Jul 2009 09:55:29 +0000 |
parents | e83eef58b30a |
children |
rev | line source |
---|---|
10725 | 1 /* |
2 ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding | |
12527 | 3 ** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
18141
diff
changeset
|
4 ** |
10725 | 5 ** This program is free software; you can redistribute it and/or modify |
6 ** it under the terms of the GNU General Public License as published by | |
7 ** the Free Software Foundation; either version 2 of the License, or | |
8 ** (at your option) any later version. | |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
18141
diff
changeset
|
9 ** |
10725 | 10 ** This program is distributed in the hope that it will be useful, |
11 ** but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 ** GNU General Public License for more details. | |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
18141
diff
changeset
|
14 ** |
10725 | 15 ** You should have received a copy of the GNU General Public License |
29264
e83eef58b30a
Remove all kind of trailing whitespaces from all MPlayer's files.
bircoph
parents:
18141
diff
changeset
|
16 ** along with this program; if not, write to the Free Software |
10725 | 17 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 ** | |
19 ** Any non-GPL usage of this software or parts of this software is strictly | |
20 ** forbidden. | |
21 ** | |
22 ** Commercial non-GPL licensing of this software is possible. | |
23 ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. | |
24 ** | |
18141 | 25 ** $Id: is.h,v 1.16 2004/09/04 14:56:28 menno Exp $ |
10725 | 26 **/ |
27 | |
28 #ifndef __IS_H__ | |
29 #define __IS_H__ | |
30 | |
31 #ifdef __cplusplus | |
32 extern "C" { | |
33 #endif | |
34 | |
35 #include "syntax.h" | |
36 | |
37 void is_decode(ic_stream *ics, ic_stream *icsr, real_t *l_spec, real_t *r_spec, | |
38 uint16_t frame_len); | |
39 | |
40 static INLINE int8_t is_intensity(ic_stream *ics, uint8_t group, uint8_t sfb) | |
41 { | |
42 switch (ics->sfb_cb[group][sfb]) | |
43 { | |
44 case INTENSITY_HCB: | |
45 return 1; | |
46 case INTENSITY_HCB2: | |
47 return -1; | |
48 default: | |
49 return 0; | |
50 } | |
51 } | |
52 | |
53 static INLINE int8_t invert_intensity(ic_stream *ics, uint8_t group, uint8_t sfb) | |
54 { | |
55 if (ics->ms_mask_present == 1) | |
56 return (1-2*ics->ms_used[group][sfb]); | |
57 return 1; | |
58 } | |
59 | |
60 | |
61 #ifdef __cplusplus | |
62 } | |
63 #endif | |
64 #endif |