diff options
author | jstebbins <[email protected]> | 2011-04-08 16:49:24 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2011-04-08 16:49:24 +0000 |
commit | f20621c2d30ad805dfefcab335506f660a133ffe (patch) | |
tree | 5d1a3e9e844b94584790b7f002c3fdec39081326 /libhb/encfaac.c | |
parent | de122b044e99b0ad1abff0ba51e1a4d9e7d8b020 (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.c | 6 |
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 ); |