Go to file
Jean-Michel Trivi ed247dfa54 Encoder quantizer fix
AAC Encoder: Saturate quantizer shift value to prevent
  undefined behaviour.

In very rare cases the shift value 'totalShift = (16-4)-(3*(totalShift>>2))'
 can be greater than accu data width. If you apply a shift with more then
 31 bit the result depends on the architecture and is not defined in C.
For certain platforms zeros are shifted in. That would be our desired behaviour.
On other platforms the shift will be applied as modulo. For example >>34
 would be applied as >>2. To prevent this discrepancy the shift value
 is limited/saturated to DFRACT_BITS-1. 'accu >>= fixMin(totalShift,DFRACT_BITS-1)'.

Bug 9428126

Change-Id: I27177654c4dc22cf899bc35dad9cdd040dccb02d
2013-08-20 15:01:21 -07:00
documentation Bug 7170947 Update AAC codec 2012-10-02 10:46:47 -07:00
libAACdec Disclaimer update, lib version increment 2013-08-20 14:38:55 -07:00
libAACenc Encoder quantizer fix 2013-08-20 15:01:21 -07:00
libFDK Disclaimer update, lib version increment 2013-08-20 14:38:55 -07:00
libMpegTPDec Disclaimer update, lib version increment 2013-08-20 14:38:55 -07:00
libMpegTPEnc Disclaimer update, lib version increment 2013-08-20 14:38:55 -07:00
libPCMutils Disclaimer update, lib version increment 2013-08-20 14:38:55 -07:00
libSBRdec Disclaimer update, lib version increment 2013-08-20 14:38:55 -07:00
libSBRenc Disclaimer update, lib version increment 2013-08-20 14:38:55 -07:00
libSYS Decode and SYS lib cleanup 2013-08-20 14:51:53 -07:00
Android.mk Snapshot 2bda038c16 2012-07-11 10:15:24 -07:00
MODULE_LICENSE_FRAUNHOFER Snapshot 2bda038c16 2012-07-11 10:15:24 -07:00
NOTICE Snapshot 2bda038c16 2012-07-11 10:15:24 -07:00