summaryrefslogtreecommitdiff
path: root/src/libfaad/output.c
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-04-12 14:58:46 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-04-12 14:58:46 +0000
commitc40876878a3e1743738f4ce813330812d8bf49f0 (patch)
tree98a2b74bd2cb014b25a395e186a579687ce59447 /src/libfaad/output.c
parent7be172b50ab8d2c90ac818bfe721e70c274d9880 (diff)
downloadxine-lib-c40876878a3e1743738f4ce813330812d8bf49f0.tar.gz
xine-lib-c40876878a3e1743738f4ce813330812d8bf49f0.tar.bz2
sync to faad2 cvs, remove some warnings.
CVS patchset: 4592 CVS date: 2003/04/12 14:58:46
Diffstat (limited to 'src/libfaad/output.c')
-rw-r--r--src/libfaad/output.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/libfaad/output.c b/src/libfaad/output.c
index 21507e9ce..ee68e1960 100644
--- a/src/libfaad/output.c
+++ b/src/libfaad/output.c
@@ -16,7 +16,7 @@
** along with this program; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
**
-** $Id: output.c,v 1.2 2002/12/16 19:00:49 miguelfreitas Exp $
+** $Id: output.c,v 1.3 2003/04/12 14:58:47 miguelfreitas Exp $
**/
#include "common.h"
@@ -53,6 +53,7 @@ void* output_to_PCM(real_t **input, void *sample_buffer, uint8_t channels,
int16_t *short_sample_buffer = (int16_t*)sample_buffer;
int32_t *int_sample_buffer = (int32_t*)sample_buffer;
float32_t *float_sample_buffer = (float32_t*)sample_buffer;
+ double *double_sample_buffer = (double*)sample_buffer;
/* Copy output to a standard PCM buffer */
switch (format)
@@ -147,6 +148,19 @@ void* output_to_PCM(real_t **input, void *sample_buffer, uint8_t channels,
}
}
break;
+ case FAAD_FMT_DOUBLE:
+ for (ch = 0; ch < channels; ch++)
+ {
+ for(i = 0; i < frame_len; i++)
+ {
+ if (input[ch][i] > (1<<15)-1)
+ input[ch][i] = (1<<15)-1;
+ else if (input[ch][i] < -(1<<15))
+ input[ch][i] = -(1<<15);
+ double_sample_buffer[(i*channels)+ch] = (double)input[ch][i]*FLOAT_SCALE;
+ }
+ }
+ break;
}
return sample_buffer;