summaryrefslogtreecommitdiffstats
path: root/libhb/encfaac.c
diff options
context:
space:
mode:
authorjstebbins <[email protected]>2011-04-08 16:49:24 +0000
committerjstebbins <[email protected]>2011-04-08 16:49:24 +0000
commitf20621c2d30ad805dfefcab335506f660a133ffe (patch)
tree5d1a3e9e844b94584790b7f002c3fdec39081326 /libhb/encfaac.c
parentde122b044e99b0ad1abff0ba51e1a4d9e7d8b020 (diff)
Change internal audio representation range
...from float [-32768...32767] to float [-1.0...1.0] Using the range [-1.0..1.0] requires fewer translations of the range for our various encoders and decoders. This also gets rid of a hacky translation from float to int to float in decavcodec audio decoding. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3908 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/encfaac.c')
-rw-r--r--libhb/encfaac.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libhb/encfaac.c b/libhb/encfaac.c
index c4a57100f..b8ff8347c 100644
--- a/libhb/encfaac.c
+++ b/libhb/encfaac.c
@@ -207,6 +207,12 @@ static hb_buffer_t * Encode( hb_work_object_t * w )
uint64_t pts, pos;
hb_list_getbytes( pv->list, pv->buf, pv->input_samples * sizeof( float ),
&pts, &pos );
+
+ int i;
+ float *fltBuf = (float*)pv->buf;
+ for ( i = 0; i < pv->input_samples; i++ )
+ fltBuf[i] *= 32768.0;
+
int size = faacEncEncode( pv->faac, (int32_t *)pv->buf, pv->input_samples,
pv->obuf, pv->output_bytes );