haocheng.zy
3aabcb6abd
Add riscv64 support
...
Signed-off-by: Zhang Ye <haocheng.zy@linux.alibaba.com>
Signed-off-by: Mao Han <han_mao@linux.alibaba.com>
Change-Id: Ifc1c8801d885b0b4ac1bf91842830ab650780328
2022-08-01 16:27:30 +08:00
Jean-Michel Trivi
a37553e327
Merge "Use dynamic scaling depending on autocorr length to avoid signed integer overflow." into sc-dev
2021-04-30 22:26:00 +00:00
Fraunhofer IIS FDK
a43c9f8822
Prevent undefined values for CODING_SCHEME type in huff_decode().
...
Bug: 186706541
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I82da4a5660289d1c96888d48c315f96a4a5c1c2a
2021-04-30 15:00:27 +00:00
Fraunhofer IIS FDK
d8515f231f
Use dynamic scaling depending on autocorr length to avoid signed integer overflow.
...
Bug: 186706541
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: Ibc035ce2eafe4b0d98377d090adad77bbf5cbb5c
2021-04-29 19:13:22 +00:00
Fraunhofer IIS FDK
2b281bb5a3
Avoid integer overflow in dct_II().
...
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I6c30c4dec3f85410c2748eb42d38f5eb72521ec5
2020-12-23 14:46:18 -08:00
Fraunhofer IIS FDK
9f9bffb763
Prevent integer overflows in dualChannelFiltering() and eightChannelFiltering().
...
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: Ic9217bbb3980807036ae6ae121e6ddb7cc1bce35
2020-12-23 14:45:11 -08:00
Kris Alder
0f130d51b8
Merge changes Iad37ae76,I4870251b,Icd937cad am: 662d974400
am: 0b8c6e731f
...
Change-Id: Ie5c84f6923184c564793de5e5f0007bc197415e7
2020-04-09 16:47:26 +00:00
Anuj Joshi
7f7bbce892
Stop using __DATE__/__TIME__ on all builds
...
Test: mmma external/libaac
Bug: 151595970
Change-Id: Icd937cad3e4e2f70a5486cca424544eb410be26f
2020-03-27 10:43:38 +05:30
Fraunhofer IIS FDK
e016635f0d
Avoid decoder internal clipping by converting the whole audio sample data path from 16 to 32 bit data width (FDKdec v3.2.0).
...
Bug: 149514474
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I8a504ab709e42e27a61fe29840212953742283a5
2020-02-14 10:53:51 -08:00
Fraunhofer IIS FDK
90c29e0808
Revise memory overlay usage and remove deprecated buffers and overlay tags.
...
Bug: 149514474
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I7aea2898a3c49e06209fae89d734939c100e1184
2020-02-14 10:44:10 -08:00
Fraunhofer IIS FDK
5482443193
Restructure QMF implementation and provide 16/32 bit implementation in parallel.
...
Bug: 149514474
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I2c6b332a0b5c4966a3f680d7a4d562d9bf18752c
2020-02-14 08:51:24 -08:00
Fraunhofer IIS FDK
e323bf6cab
Avoid undefined shift exponent in f2Pow().
...
Bug: 146938418
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Id28608e049244968158900848c23bf7a8298083d
2020-01-22 11:59:08 -08:00
Fraunhofer IIS FDK
1020e48d6e
Fix IsLessThan() function for certain edge cases.
...
Bug: 146936613
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Idbec38c1df01bd7a6a48ac4b6e5673c30627fc73
2020-01-16 12:15:04 -08:00
Fraunhofer IIS FDK
e3b9058b8b
Avoid unsigned integer overflows in FDK_Feed().
...
Bug: 146937030
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I7bd63c2fbfed2612c80d3334d1339e1cd215e034
2020-01-16 12:15:04 -08:00
Fraunhofer IIS FDK
76c229c018
Introduce scaling in FDKhybridSynthesisApply() to avoid potential signed integer overflow.
...
Bug: 146937225
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Ifa3d157a842828c2a66694d95dad5d4992ff6d87
2020-01-14 14:41:41 -08:00
Fraunhofer IIS FDK
7019272646
Prevent signed integer overflow in fMultIceil() for case m_e=-31.
...
Bug: 146934600
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I8a67a3b17f3ec3af753b6463b72ae2947986b39c
2020-01-14 14:35:18 -08:00
Fraunhofer IIS FDK
5357a4411a
Use saturate shift to prevent signed integer overflow in multiple qmfInverseModulation*() functions.
...
Bug: 145669510
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I4cee10423bc14e3db26de877b5e70701ac3324da
2019-12-27 10:25:23 -08:00
Fraunhofer IIS FDK
9d40b65b15
For all scaleValuesSaturate() variants make source pointer const.
...
Bug: 145669510
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Ib69a4f12405026d3165193f0192eb25eaed7e797
2019-12-27 10:24:28 -08:00
Fraunhofer IIS FDK
40c083f59a
Avoid negation of INT_MIN in dst_IV().
...
Bug: 145669114
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I6ddd7a39376c5276ec636572c3bfd4d83d05f9f5
2019-12-27 10:23:31 -08:00
Fraunhofer IIS FDK
c69e4584c3
Fix signed integer overflow in DuckerCalcEnergy().
...
Bug: 145668917
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I9f6458860901fa354a534e8fabe20dfa1a0cf7a9
2019-12-27 10:18:47 -08:00
Fraunhofer IIS FDK
418526638a
Initialize scale variable in qmfForwardModulationLP_even() and qmfInverseModulationLP_even() which is updated in dct/fft processing.
...
Bug: 131430997
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Id294afb1ac740abf6000d7286e0f95c8b13a7eb8
2019-10-18 10:59:05 -07:00
Fraunhofer IIS FDK
b8f7bab39c
Fix integer overflow in imlt_block().
...
Bug: 131430997
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Ia7e03bbf6daef61079514de407a5900f6dc22a21
2019-10-18 10:58:14 -07:00
Fraunhofer IIS FDK
1b5457fe93
Fix out of sync function declaration of scaleValues().
...
Bug: 132641988
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I1b9a204c52aee20adabc1baee7f5e5cdbf1ee39e
2019-05-14 09:13:11 -07:00
Fraunhofer IIS FDK
443d32ea7f
Add sanity check in huff_decode()
...
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I33e99629665df9aa6262c90dd7ebdde4b4b9d773
2019-01-02 13:48:42 -05:00
Fraunhofer IIS FDK
b9f1b6dec0
Free whole QMF domain in case of an error in FDK_QmfDomain_Configure()
...
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I974006c1815d68baae042ad71625ffe4c7bb39ff
2018-12-28 19:57:07 -05:00
Fraunhofer IIS FDK
c371e86ef4
QMF configuration flag QMF_FLAG_MPSLDFB has always priority over QMF_FLAG_CLDFB
...
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I7c851b9db88c6250b5ad30282b8b19ea306e4e12
2018-12-28 19:53:08 -05:00
Fraunhofer IIS FDK
b07509996a
Add missing parameter initialization in FDK_QmfDomain_Clear*() functions
...
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Id5bd382ca256488c837b63eaf519b93e01abe02d
2018-12-28 19:46:31 -05:00
Fraunhofer IIS FDK
edbb4b0a14
Fix SATURATE_LEFT_SHIFT_ALT() since it returned 0x80000000 in certain cases
...
Bug: 112661911
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I16e522c975ad45ff8d47d4cabe44f1f2bf95b73b
2018-12-26 18:17:27 -05:00
Fraunhofer IIS FDK
bef1b4dd96
UBSAN overflow in FFT
...
An overflow in the fft was observed for certain configurations. The root cause was in the scaling of the fft input data in dct_IV and dst_IV.
The following patch revises the scaling in dct and removes the unused arm implementation.
Bug: 112661057
Bug: 109936783
Bug: 112022208
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Idc9c44a9755b8151d5c7d8107696f43ac592413b
2018-12-26 16:09:37 -05:00
Xin Li
20c336953f
DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master
...
Bug: 120502534
Change-Id: Ie44ac2dc553c40a8a9bd9b42b00a0b01cfa9799a
2018-12-11 13:59:07 -08:00
Fraunhofer IIS FDK
b4e3109937
Signed Integer Overflow in DuckerCalcEnergy()
...
Bug: 112122038
Bug: 112891546
Test: see b/112122038 for repro stream
Change-Id: I7542e2a9033c2e97bf32e0be3bbc6f48746d28f0
2018-10-04 14:50:18 -07:00
Fraunhofer IIS FDK
9744e41c40
Prevent bit buffer counter overflow.
...
While long-term test we discovered a bit counter overflow in the bit buffer.
The bit buffer state was only used by HCR and RVLC tool and can easily be substituted with FDKgetValidBits() call.
The following patch completely removes the bit counter and all its obsolete functions.
Bug: 112662184
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Icee0519d26a2aa62367d2dece59cd3d60ffcade7
(cherry picked from commit 15292f7e96
)
2018-09-10 23:19:19 +00:00
Fraunhofer IIS FDK
a4d1f0ad52
FDKv2 ubsan patches
...
Bug: 80053205
Test: see bug for repro with FB "wow"
atest DecoderTestAacDrc
Fix signed integer overflows in CLpc_SynthesisLattice()
Change-Id: Icbddfcc8c5fc73382ae5bf8c2a7703802c688e06
Fix signed integer overflows in imlt
Change-Id: I687834fca2f1aab6210ed9862576b4f38fcdeb24
Fix overflow in addLowbandEnergies()
Change-Id: Iaa9fdf9deb49c33ec6ca7ed3081c4ddaa920e9aa
Concealment fix for audio frames containing acelp components
Change-Id: Ibe5e83a6efa75a48f729984a161a76b826878f4e
Fix out-of-bounds access in PS concealment
Change-Id: I08809a03a40d1feaf00e41278db314d67e1efe88
Fix potential memory leak in setup of qmf domain
Change-Id: Id9fc2448354dc7f1b439469128407305efa3def2
Reject channel config 13
Change-Id: Idf5236f6cd054df994e69c9c972c97f6768cf9e5
Fix unsigned integer overflow in configExtension()
Change-Id: I8a1668810b85e6237c3892891444ff08f04b019b
Fix unsigned integer overflow in CAacDecoder_DecodeFrame()
Change-Id: I79678c571690178e6c37680f70a9b94dd3cbc439
Fix unsigned integer overflow in aacDecoder_UpdateBitStreamCounters()
Change-Id: I3bff959da9f53fabb18cd0ae6c260e6256194526
Fix unsigned integer overflow in transportDec_readStream()
Change-Id: I6a6f9f4acaa32fae0b5de9641f8787bbc7f8286b
2018-05-23 12:19:40 -07:00
Fraunhofer IIS FDK
44ac411683
FDK patches: fix overflows in decoder out-of-band config
...
Bug: 71430241
Bug: 79220129
Test: cts-tradefed run commandAndExit cts-dev -m CtsMediaTestCases -t android.media.cts.DecoderTestXheAac
cts-tradefed run commandAndExit cts-dev -m CtsMediaTestCases -t android.media.cts.DecoderTestAacDrc
Unsigned Integer Overflows in CDataStreamElement_Read()
Change-Id: Ic2f5b3ae111bf984d4d0db664823798957b0a979
Unsigned Integer Overflow in CProgramConfig_ReadHeightExt()
Change-Id: Iaebc458bb59504203e604a28ed6d5cecaa875c42
Unsigned Integer Overflow in transportDec_OutOfBandConfig()
Change-Id: I24a4b32d736f28c55147f0e2ca06fe5537da19c2
Unsigned Integer Overflows in CDKcrcEndReg() & crcCalc()
Change-Id: I6ebbe541a4d3b6bacbd5ace17264972951de7ca8
Unsigned Integer Overflows in ReadPsData()
Change-Id: Id36576fe545236860a06f17971494ecd4484c494
Unsigned Integer Overflow in SpatialDecParseSpecificConfig()
Change-Id: Ib468f129a951c69776b88468407f008ab4cfd2c7
Unsigned Integer Overflows in _readUniDrcConfigExtension() & _readLoudnessInfoSetExtension()
Change-Id: Ibcf7c6a23af49239206ea9301c58adac36e3ceba
2018-05-09 15:15:28 -07:00
Fraunhofer IIS FDK
6cfabd3536
Upgrade to FDKv2
...
Bug: 71430241
Test: CTS DecoderTest and DecoderTestAacDrc
original-Change-Id: Iaa20f749b8a04d553b20247cfe1a8930ebbabe30
Apply clang-format also on header files.
original-Change-Id: I14de1ef16bbc79ec0283e745f98356a10efeb2e4
Fixes for MPEG-D DRC
original-Change-Id: If1de2d74bbbac84b3f67de3b88b83f6a23b8a15c
Catch unsupported tw_mdct at an early stage
original-Change-Id: Ied9dd00d754162a0e3ca1ae3e6b854315d818afe
Fixing PVC transition frames
original-Change-Id: Ib75725abe39252806c32d71176308f2c03547a4e
Move qmf bands sanity check
original-Change-Id: Iab540c3013c174d9490d2ae100a4576f51d8dbc4
Initialize scaling variable
original-Change-Id: I3c4087101b70e998c71c1689b122b0d7762e0f9e
Add 16 qmf band configuration to getSlotNrgHQ()
original-Change-Id: I49a5d30f703a1b126ff163df9656db2540df21f1
Always apply byte alignment at the end of the AudioMuxElement
original-Change-Id: I42d560287506d65d4c3de8bfe3eb9a4ebeb4efc7
Setup SBR element only if no parse error exists
original-Change-Id: I1915b73704bc80ab882b9173d6bec59cbd073676
Additional array index check in HCR
original-Change-Id: I18cc6e501ea683b5009f1bbee26de8ddd04d8267
Fix fade-in index selection in concealment module
original-Change-Id: Ibf802ed6ed8c05e9257e1f3b6d0ac1162e9b81c1
Enable explicit backward compatible parser for AAC_LD
original-Change-Id: I27e9c678dcb5d40ed760a6d1e06609563d02482d
Skip spatial specific config in explicit backward compatible ASC
original-Change-Id: Iff7cc365561319e886090cedf30533f562ea4d6e
Update flags description in decoder API
original-Change-Id: I9a5b4f8da76bb652f5580cbd3ba9760425c43830
Add QMF domain reset function
original-Change-Id: I4f89a8a2c0277d18103380134e4ed86996e9d8d6
DRC upgrade v2.1.0
original-Change-Id: I5731c0540139dab220094cd978ef42099fc45b74
Fix integer overflow in sqrtFixp_lookup()
original-Change-Id: I429a6f0d19aa2cc957e0f181066f0ca73968c914
Fix integer overflow in invSqrtNorm2()
original-Change-Id: I84de5cbf9fb3adeb611db203fe492fabf4eb6155
Fix integer overflow in GenerateRandomVector()
original-Change-Id: I3118a641008bd9484d479e5b0b1ee2b5d7d44d74
Fix integer overflow in adjustTimeSlot_EldGrid()
original-Change-Id: I29d503c247c5c8282349b79df940416a512fb9d5
Fix integer overflow in FDKsbrEnc_codeEnvelope()
original-Change-Id: I6b34b61ebb9d525b0c651ed08de2befc1f801449
Follow-up on: Fix integer overflow in adjustTimeSlot_EldGrid()
original-Change-Id: I6f8f578cc7089e5eb7c7b93e580b72ca35ad689a
Fix integer overflow in get_pk_v2()
original-Change-Id: I63375bed40d45867f6eeaa72b20b1f33e815938c
Fix integer overflow in Syn_filt_zero()
original-Change-Id: Ie0c02fdfbe03988f9d3b20d10cd9fe4c002d1279
Fix integer overflow in CFac_CalcFacSignal()
original-Change-Id: Id2d767c40066c591b51768e978eb8af3b803f0c5
Fix integer overflow in FDKaacEnc_FDKaacEnc_calcPeNoAH()
original-Change-Id: Idcbd0f4a51ae2550ed106aa6f3d678d1f9724841
Fix integer overflow in sbrDecoder_calculateGainVec()
original-Change-Id: I7081bcbe29c5cede9821b38d93de07c7add2d507
Fix integer overflow in CLpc_SynthesisLattice()
original-Change-Id: I4a95ddc18de150102352d4a1845f06094764c881
Fix integer overflow in Pred_Lt4()
original-Change-Id: I4dbd012b2de7d07c3e70a47b92e3bfae8dbc750a
Fix integer overflow in FDKsbrEnc_InitSbrFastTransientDetector()
original-Change-Id: I788cbec1a4a00f44c2f3a72ad7a4afa219807d04
Fix unsigned integer overflow in FDKaacEnc_WriteBitstream()
original-Change-Id: I68fc75166e7d2cd5cd45b18dbe3d8c2a92f1822a
Fix unsigned integer overflow in FDK_MetadataEnc_Init()
original-Change-Id: Ie8d025f9bcdb2442c704bd196e61065c03c10af4
Fix overflow in pseudo random number generators
original-Change-Id: I3e2551ee01356297ca14e3788436ede80bd5513c
Fix unsigned integer overflow in sbrDecoder_Parse()
original-Change-Id: I3f231b2f437e9c37db4d5b964164686710eee971
Fix unsigned integer overflow in longsub()
original-Change-Id: I73c2bc50415cac26f1f5a29e125bbe75f9180a6e
Fix unsigned integer overflow in CAacDecoder_DecodeFrame()
original-Change-Id: Ifce2db4b1454b46fa5f887e9d383f1cc43b291e4
Fix overflow at CLpdChannelStream_Read()
original-Change-Id: Idb9d822ce3a4272e4794b643644f5434e2d4bf3f
Fix unsigned integer overflow in Hcr_State_BODY_SIGN_ESC__ESC_WORD()
original-Change-Id: I1ccf77c0015684b85534c5eb97162740a870b71c
Fix unsigned integer overflow in UsacConfig_Parse()
original-Change-Id: Ie6d27f84b6ae7eef092ecbff4447941c77864d9f
Fix unsigned integer overflow in aacDecoder_drcParse()
original-Change-Id: I713f28e883eea3d70b6fa56a7b8f8c22bcf66ca0
Fix unsigned integer overflow in aacDecoder_drcReadCompression()
original-Change-Id: Ia34dfeb88c4705c558bce34314f584965cafcf7a
Fix unsigned integer overflow in CDataStreamElement_Read()
original-Change-Id: Iae896cc1d11f0a893d21be6aa90bd3e60a2c25f0
Fix unsigned integer overflow in transportDec_AdjustEndOfAccessUnit()
original-Change-Id: I64cf29a153ee784bb4a16fdc088baabebc0007dc
Fix unsigned integer overflow in transportDec_GetAuBitsRemaining()
original-Change-Id: I975b3420faa9c16a041874ba0db82e92035962e4
Fix unsigned integer overflow in extractExtendedData()
original-Change-Id: I2a59eb09e2053cfb58dfb75fcecfad6b85a80a8f
Fix signed integer overflow in CAacDecoder_ExtPayloadParse()
original-Change-Id: I4ad5ca4e3b83b5d964f1c2f8c5e7b17c477c7929
Fix unsigned integer overflow in CAacDecoder_DecodeFrame()
original-Change-Id: I29a39df77d45c52a0c9c5c83c1ba81f8d0f25090
Follow-up on: Fix integer overflow in CLpc_SynthesisLattice()
original-Change-Id: I8fb194ffc073a3432a380845be71036a272d388f
Fix signed integer overflow in _interpolateDrcGain()
original-Change-Id: I879ec9ab14005069a7c47faf80e8bc6e03d22e60
Fix unsigned integer overflow in FDKreadBits()
original-Change-Id: I1f47a6a8037ff70375aa8844947d5681bb4287ad
Fix unsigned integer overflow in FDKbyteAlign()
original-Change-Id: Id5f3a11a0c9e50fc6f76ed6c572dbd4e9f2af766
Fix unsigned integer overflow in FDK_get32()
original-Change-Id: I9d33b8e97e3d38cbb80629cb859266ca0acdce96
Fix unsigned integer overflow in FDK_pushBack()
original-Change-Id: Ic87f899bc8c6acf7a377a8ca7f3ba74c3a1e1c19
Fix unsigned integer overflow in FDK_pushForward()
original-Change-Id: I3b754382f6776a34be1602e66694ede8e0b8effc
Fix unsigned integer overflow in ReadPsData()
original-Change-Id: I25361664ba8139e32bbbef2ca8c106a606ce9c37
Fix signed integer overflow in E_UTIL_residu()
original-Change-Id: I8c3abd1f437ee869caa8fb5903ce7d3d641b6aad
REVERT: Follow-up on: Integer overflow in CLpc_SynthesisLattice().
original-Change-Id: I3d340099acb0414795c8dfbe6362bc0a8f045f9b
Follow-up on: Fix integer overflow in CLpc_SynthesisLattice()
original-Change-Id: I4aedb8b3a187064e9f4d985175aa55bb99cc7590
Follow-up on: Fix unsigned integer overflow in aacDecoder_drcParse()
original-Change-Id: I2aa2e13916213bf52a67e8b0518e7bf7e57fb37d
Fix integer overflow in acelp
original-Change-Id: Ie6390c136d84055f8b728aefbe4ebef6e029dc77
Fix unsigned integer overflow in aacDecoder_UpdateBitStreamCounters()
original-Change-Id: I391ffd97ddb0b2c184cba76139bfb356a3b4d2e2
Adjust concealment default settings
original-Change-Id: I6a95db935a327c47df348030bcceafcb29f54b21
Saturate estimatedStartPos
original-Change-Id: I27be2085e0ae83ec9501409f65e003f6bcba1ab6
Negative shift exponent in _interpolateDrcGain()
original-Change-Id: I18edb26b26d002aafd5e633d4914960f7a359c29
Negative shift exponent in calculateICC()
original-Change-Id: I3dcd2ae98d2eb70ee0d59750863cbb2a6f4f8aba
Too large shift exponent in FDK_put()
original-Change-Id: Ib7d9aaa434d2d8de4a13b720ca0464b31ca9b671
Too large shift exponent in CalcInvLdData()
original-Change-Id: I43e6e78d4cd12daeb1dcd5d82d1798bdc2550262
Member access within null pointer of type SBR_CHANNEL
original-Change-Id: Idc5e4ea8997810376d2f36bbdf628923b135b097
Member access within null pointer of type CpePersistentData
original-Change-Id: Ib6c91cb0d37882768e5baf63324e429589de0d9d
Member access within null pointer FDKaacEnc_psyMain()
original-Change-Id: I7729b7f4479970531d9dc823abff63ca52e01997
Member access within null pointer FDKaacEnc_GetPnsParam()
original-Change-Id: I9aa3b9f3456ae2e0f7483dbd5b3dde95fc62da39
Member access within null pointer FDKsbrEnc_EnvEncodeFrame()
original-Change-Id: I67936f90ea714e90b3e81bc0dd1472cc713eb23a
Add HCR sanity check
original-Change-Id: I6c1d9732ebcf6af12f50b7641400752f74be39f7
Fix memory issue for HBE edge case with 8:3 SBR
original-Change-Id: I11ea58a61e69fbe8bf75034b640baee3011e63e9
Additional SBR parametrization sanity check for ELD
original-Change-Id: Ie26026fbfe174c2c7b3691f6218b5ce63e322140
Add MPEG-D DRC channel layout check
original-Change-Id: Iea70a74f171b227cce636a9eac4ba662777a2f72
Additional out-of-bounds checks in MPEG-D DRC
original-Change-Id: Ife4a8c3452c6fde8a0a09e941154a39a769777d4
Change-Id: Ic63cb2f628720f54fe9b572b0cb528e2599c624e
2018-04-19 11:21:15 -07:00
Martin Storsjo
6ec082c6c3
Remove redundant register storage class specifiers
...
Clang warns about this being deprecated, when building without specifying
-std=c++98.
This doesn't give any measurable encoding speed impact on ARM or AArch64,
on neither GCC nor Clang.
Change-Id: I63a0bbd1dccb97547522da188ee585d4d8127c29
2016-10-18 09:22:55 +03:00
Martin Storsjo
6d7d5013ea
Add casts to avoid errors due to narrowing
...
This fixes building in C++11 mode, which normally errors out
on narrowing hex literals to signed long.
This is similar to what was done in git commit ef30836651
(change id I64d19a8a8059c5a96386b1eaac297fd2469515f8), completing
the fix for that category of issues.
Change-Id: I1907bc947d43bf44910fb2b34bf2b31c0e53aa53
2016-10-17 10:32:24 +03:00
Jean-Michel Trivi
203e3f28fb
AAC/SBR decoder improvements and bugfixes
...
* AAC-Decoder
- Add support for AOT 20 (ER-AAC scalable) (base layer only)
- Add support for AAC as used in Digital Radio Mondiale (DRM30/DRM+)
Modified file(s):
libAACdec/src/aacdecoder.cpp
libAACdec/src/aacdecoder_lib.cpp
libFDK/src/FDK_core.cpp
libFDK/src/FDK_tools_rom.cpp
libMpegTPDec/src/tpdec_asc.cpp
libMpegTPDec/src/tpdec_lib.cpp
libMpegTPDec/src/version
libSBRdec/include/sbrdecoder.h
libSBRdec/src/env_extr.h
libSBRdec/src/sbrdecoder.cpp
Added file(s):
libMpegTPDec/src/tpdec_drm.cpp
libMpegTPDec/src/tpdec_drm.h
- Fix sanity check in HCR module that was performed at the wrong point in time.
Modified file(s):
libAACdec/src/aacdecoder_lib.cpp
libAACdec/src/block.cpp
- Extend core sampling rate support up to 96 kHz.
Modified file(s):
libAACdec/src/aac_rom.cpp
libAACdec/src/aacdecoder.cpp
libAACdec/src/aacdecoder_lib.cpp
- Return correct audio output channel description according number of output
channels.
Modified file(s):
libAACdec/src/aacdecoder_lib.cpp
- Indroduce decoder intern output buffer. This change allows to use framework
output buffer with the actual size of the deocder output channels.
Modified file(s):
libAACdec/include/aacdecoder_lib.h
libAACdec/src/aacdecoder.h
libAACdec/src/aacdecoder_lib.cpp
* SBR-Decoder
- Increase robustness for erroneous input data.
- Improve error concealment performance.
- Fix handling of lowest sub-band for LD-SBR
Modified file(s):
libAACdec/src/aacdecoder.cpp
libAACdec/src/aacdecoder_lib.cpp
libSBRdec/src/env_calc.cpp
libSBRdec/src/env_dec.cpp
libSBRdec/src/env_extr.cpp
libSBRdec/src/env_extr.h
libSBRdec/src/sbr_dec.cpp
libSBRdec/src/sbr_rom.cpp
libSBRdec/src/sbr_rom.h
libSBRdec/src/sbrdecoder.cpp
- Add QMF delay compensation for ELD v2 streams decoded with the complex
low delay filter-bank.
Modified file(s):
libSBRdec/src/sbr_dec.cpp
libSBRdec/src/sbr_dec.h
libSBRdec/src/sbrdecoder.cpp
- Introduce a different handling of frames to be flushed
dependent on whether there are delayed frames available or not.
Modified file(s):
libSBRdec/src/sbr_ram.h
libSBRdec/src/sbrdecoder.cpp
- Calculate the correct number of samples for dual-mono copy in case of no
available PS data.
Modified file(s):
libSBRdec/src/sbrdecoder.cpp
* SYS-Library
- Change include order of genericStds.h to prevent conflict with definitions
which are also used in math.h.
Modified file(s):
libSYS/src/genericStds.cpp
Change-Id: I3ecffbad85f39b056213107955cfadbeb3f4b6e1
2016-04-08 19:10:30 +00:00
Jean-Michel Trivi
46ba3676b8
AAC/SBR encoder improvements
...
* AAC-Encoder
- AAC-ELD core encoder audio quality tuning. Update tuning tables, configure
bitreservoir size and adapt afterburner iteration value.
Modified file(s):
libAACenc/src/aacenc.h
libAACenc/src/aacenc_lib.cpp
libAACenc/src/adj_thr.cpp
libAACenc/src/adj_thr.h
libAACenc/src/adj_thr_data.h
libAACenc/src/bandwidth.cpp
libAACenc/src/pnsparam.cpp
libAACenc/src/qc_main.cpp
- Introduze dead zone quantizer for ELD to improve audio quality at certain
configurations.
Modified file(s):
libAACenc/src/aacenc_lib.cpp
libAACenc/src/adj_thr.cpp
libAACenc/src/adj_thr.h
libAACenc/src/qc_data.h
libAACenc/src/qc_main.cpp
libAACenc/src/quantize.cpp
libAACenc/src/quantize.h
libAACenc/src/sf_estim.cpp
libAACenc/src/sf_estim.h
- Revise TNS module to improve ELD audio quality.
- Use new window function and separate prediction gain according TNS filters.
- Add missing memory initilization to TNS configuration.
Modified file(s):
libAACenc/src/aacenc_lib.cpp
libAACenc/src/aacenc_tns.cpp
libAACenc/src/aacenc_tns.h
libAACenc/src/psy_main.cpp
libAACenc/src/tns_func.h
* SBR-Encoder
- Revise frequency resolution calculation and handle differently depending
on number of envelopes and split frames decision.
- Add and adjust ELD SBR tuning tables.
Modified file(s):
libSBRenc/include/sbr_encoder.h
libSBRenc/src/bit_sbr.h
libSBRenc/src/env_est.cpp
libSBRenc/src/fram_gen.cpp
libSBRenc/src/fram_gen.h
libSBRenc/src/mh_det.cpp
libSBRenc/src/sbr_def.h
libSBRenc/src/sbr_encoder.cpp
libSBRenc/src/sbr_rom.cpp
libSBRenc/src/tran_det.cpp
- Replace ELD transient detector with fast implementation.
Modified file(s):
libSBRenc/src/env_est.cpp
libSBRenc/src/env_est.h
libSBRenc/src/fram_gen.cpp
libSBRenc/src/sbr_def.h
libSBRenc/src/sbr_encoder.cpp
libSBRenc/src/tran_det.cpp
libSBRenc/src/tran_det.h
* FDK-Library
- Introduce generic compare function in tools library.
Modified file(s):
libFDK/include/fixpoint_math.h
libFDK/src/FDK_core.cpp
* SBR-Encoder
- Revise ELD frame splitter to improve bit distribution.
Modified file(s):
libSBRenc/include/sbr_encoder.h
libSBRenc/src/bit_sbr.h
libSBRenc/src/env_est.cpp
libSBRenc/src/fram_gen.cpp
libSBRenc/src/fram_gen.h
libSBRenc/src/sbr_encoder.cpp
libSBRenc/src/tran_det.cpp
libSBRenc/src/tran_det.h
- Configure amplitude resolution according the tonality of the audio signal.
Modified file(s):
libSBRenc/include/sbr_encoder.h
libSBRenc/src/bit_sbr.h
libSBRenc/src/env_est.cpp
libSBRenc/src/nf_est.cpp
libSBRenc/src/nf_est.h
libSBRenc/src/sbr_def.h
libSBRenc/src/sbr_encoder.cpp
libSBRenc/src/ton_corr.cpp
libSBRenc/src/ton_corr.h
libSBRenc/src/tran_det.cpp
libSBRenc/src/tran_det.h
Change-Id: Ie0672b989a06ee63b50240616b8d1d4b790b6cb2
2016-04-08 10:52:42 -07:00
Jean-Michel Trivi
e1c78ed73f
SBR/AAC encoder updates, code clean up
...
* SBR-Encoder
- Prevent noise level overflow in noise floor detection.
- Saturate threshold calculation in transient detection.
Modified file(s):
libSBRenc/src/nf_est.cpp
libSBRenc/src/sbr_encoder.cpp
libSBRenc/src/tran_det.cpp
* AAC-Encoder
- Expand input data range of GetInvInt() function. There was an encoder
assert observed in non-default bitrate configuration.
Modified file(s):
libAACenc/src/aacenc_lib.cpp
libAACenc/src/intensity.cpp
libFDK/include/fixpoint_math.h
libFDK/src/FDK_core.cpp
libFDK/src/FDK_tools_rom.cpp
- Make sure that the encoder is stable with regard to very low audio bandwidth
confguration parameter value.
- Fix lowdelay blending for low audio bandwidth.
Modified file(s):
libAACenc/src/aacenc.cpp
libAACenc/src/aacenc_lib.cpp
libAACenc/src/adj_thr.cpp
libAACenc/src/psy_configuration.cpp
libAACenc/src/psy_main.cpp
- Disable pseudo surround flag in case metadata matrix mixdown index is
present in program config element.
Modified file(s):
libAACenc/src/aacenc_lib.cpp
- Enable variable bitrate mode in encoder api.
- Add AACENC_PEAK_BITRATE parameter to encoder api.
- Add AACENC_AUDIOMUXVER parameter to encoder api.
Modified file(s):
libAACenc/include/aacenc_lib.h
libAACenc/src/aacenc.cpp
libAACenc/src/aacenc.h
libAACenc/src/aacenc_lib.cpp
libAACenc/src/qc_main.cpp
libMpegTPEnc/src/tpenc_latm.cpp
libMpegTPEnc/src/version
* FDK-Sources
- Code clean up. Remove unneeded pseudo audio object types and transport types.
Modified file(s):
libAACdec/src/aacdecoder.cpp
libAACdec/src/aacdecoder_lib.cpp
libAACenc/include/aacenc_lib.h
libAACenc/src/aacenc.cpp
libAACenc/src/aacenc_lib.cpp
libFDK/src/FDK_tools_rom.cpp
libMpegTPDec/src/tpdec_lib.cpp
libMpegTPDec/src/version
libMpegTPEnc/src/tpenc_latm.cpp
libMpegTPEnc/src/version
libSBRdec/src/sbrdecoder.cpp
libSBRenc/src/sbr_encoder.cpp
libSYS/include/FDK_audio.h
libSYS/src/genericStds.cpp
Change-Id: I807a53cb7f48c9ee7563cb8da1d0c52221576ca6
2016-04-04 17:25:36 -07:00
Jean-Michel Trivi
ef30836651
Remove compiler warnings, revised ARM QMF encoder
...
Bug 8493170
Change-Id: I64d19a8a8059c5a96386b1eaac297fd2469515f8
2016-04-04 15:03:26 -07:00
Dan Willemsen
6e8330732f
Remove __DATE__/__TIME__
...
Building __DATE__/__TIME__ into the binaries means that every build will
create different binaries, even if all the sources are identical. This
also means that any libraries including this one will need to be patched
during every OTA.
Nothing appears to use the build_date/build_time fields, so just replace
them with empty strings.
Bug: 24204119
Change-Id: I9543eb388a1e8ab9284df9035a62fc8942cdc082
2015-10-23 09:48:27 -07:00
Duane Sand
5c51a5898e
[MIPSR6] Skip assembler code using MFHI/MFLO on mips32r6
...
Change-Id: I3dacd96cf9d5cf9c3d34d612ebb0456d64bc23bc
2014-07-31 15:40:38 -07:00
Glenn Kasten
35f30c5ab8
Merge "AArch64: Make LONG 4 bytes"
2014-04-09 15:49:10 +00:00
Glenn Kasten
8609bfea36
Temporary workaround for 64-bit build error
...
Replace #error by #warning so we can build 64-bit
Change-Id: Ib52fbfb0e5e945ff04ba51ae06b4e3393886d7b7
2014-03-12 11:19:32 -07:00
Marcus Oakland
f2f96fb86d
AArch64: Make LONG 4 bytes
...
The libSYS/include/machine_type.h header file states LONG should be
"Data type representing 4 byte signed integer on all supported
platforms" but only provided for defining LONG as INT and ULONG as
UINT when __x86_64__ was defined. This has been changed to when
__LP64__ is defined, so that it also applies to AArch64. The change
to libFDK/include/common_fix.h is then needed to get the project to
compile.
Change-Id: Iea42d7eca97dcc9da772a05b207d134cb999a72a
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-03-11 12:01:00 +00:00
Jean-Michel Trivi
7ad97579f8
AAC Encoder low delay quality
...
* AAC-Encoder
- Revise bit distribution for lowdelay configuration to improve encoder
audio quality.
- Adjust lowdelay bitreservoir for low bitreservoir configuration.
Modified file(s):
libAACenc\src\aacEnc_ram.cpp
libAACenc\src\aacenc.cpp
libAACenc\src\aacenc_lib.cpp
libAACenc\src\aacenc_tns.cpp
libAACenc\src\adj_thr.cpp
libAACenc\src\adj_thr.h
libAACenc\src\block_switch.cpp
libAACenc\src\block_switch.h
libAACenc\src\interface.h
libAACenc\src\psy_main.cpp
libAACenc\src\qc_data.h
libAACenc\src\qc_main.cpp
* FDK-Library
- Increase the accuracy in CalcInvLdData() calculation which improves the
encoder audio quality.
Modified file(s):
libFDK\src\fixpoint_math.cpp
Bug 9428126
Change-Id: I302d7f4c3aeccf79e1b85f20e18a31e6e2b10544
2013-08-28 18:06:47 -07:00
Jean-Michel Trivi
3a0a695565
FDK update for downsampled SBR
...
Add missing support for downsampled SBR in libFDK
Bug 9428126
Change-Id: Idb732f8d31a115d36dd4b22916599db7fab98cae
2013-08-27 15:57:28 -07:00
Jean-Michel Trivi
4f0d97057c
Disclaimer update, lib version increment
...
- Update disclaimer in all source files.
- Increment library version in each FDK sub-module.
Bug 9428126
Change-Id: I490b96d4ee472246b01483202b0bb4f1e9c2a5d7
2013-08-20 14:38:55 -07:00
Jean-Michel Trivi
6ab36997af
Bug 7170947 Update AAC codec
...
From Fraunhofer:
* AAC Decoder
- Stick to the written MPEG standard instead of the MPEG reference software
in terms of reference level normalization. Always set the program reference
level equal to the target level. This disables level normalization using a
default level for streams without embedded metadata.
Modified file(s):
libAACdec\src\aacdec_drc.cpp
- Fix downmix channel assignment when using a WAV output channel ordering.
Modified file(s):
libPCMutils\src\pcmutils_lib.cpp
- Retain signal accuracy and prevent LSB alteration when no level correction
needs to be done.
Modified file(s):
libAACdec\src\aacdec_drc.h
libAACdec\src\aacdec_drc.cpp
libSBRdec\src\sbrdecoder.cpp
libSBRdec\src\sbr_dec.cpp
libSBRdec\src\sbrdec_drc.cpp
- Align metadata processing with reference implementation.
Modified file(s):
libAACdec\src\aacdec_drc.h
libAACdec\src\aacdecoder.cpp
* AAC-Encoder
- Prevent potential overflow in energy calculation after TNS processing.
Modified file(s):
libAACenc\src\band_nrg.cpp
- Added saturation for number of relevant lines which are used in pe
calculation.
Modified file(s):
libAACenc\src\line_pe.cpp
- Removed obsolete files.
Deleded file(s):
libAACenc\src\tns_param.h
libAACenc\src\tns_param.cpp
* FDK-Library
- Added x86 Count Leading Zeros intrinsic.
Modified file(s):
libFDK\include\clz.h
Added file(s):
libFDK\include\x86\clz_x86.h
- Fixed compilation for MIPS GCC-4.4 and higher.
Modified file(s):
libFDK\include\mips\cplx_mul.h
libFDK\include\mips\fixmul_mips.h
Change-Id: I4be65f07f88d412224c7fddc3f054e8f451176cc
2012-10-02 10:46:47 -07:00