Commit graph

536 commits

Author SHA1 Message Date
Harish Mahendrakar
0233db3f5e cleanup cmake files 2023-04-28 09:34:42 +05:30
Nikhil Bhavikatti
18930ce001 Fix for OOB issue in MPS module 2023-04-26 09:37:56 +05:30
Nikhil Bhavikatti
6a21d80d2d
Fix for crash observed with MSVS x64 build (#28)
* Fixes for runtime errors in error concealment module

* Fix for crash observed with MSVS x64 build

---------

Co-authored-by: Nikhil Bhavikatti <nikhilbhavikatti19@gmail.com>
2023-03-24 13:38:02 +05:30
Shashank Pathmudi
6673735863 Fix for global buffer overflows in MPS and ELDv2 modules 2023-03-07 16:04:54 +05:30
Shashank Pathmudi
75beebc9be Fix for build warnings observed with clang-10 2023-03-07 16:04:27 +05:30
Shashank Pathmudi
6ce7dc469c Error concealment support for xHEAAC decoder 2023-02-28 11:54:07 +05:30
Nikhil Bhavikatti
e9a09b4dd0 Fix for stack buffer overflow in MPS module 2023-02-15 13:37:53 +05:30
Jyothi Swaroop Kumar Nallapaneni
03c53b0e08 CMake support for Platforms and Fuzzer 2023-02-09 12:22:18 +05:30
Nikhil Bhavikatti
b765b0324b Bug fix in ELDv2 module 2023-02-08 08:56:35 +05:30
Nikhil Bhavikatti
db8836921b Fix for signed integer overflow and read access violation in MPS module 2023-02-01 17:00:51 +05:30
Nikhil Bhavikatti
f52e960424 Fixes for OOB error and signed integer overflows in MPS module 2023-02-01 17:00:29 +05:30
Shashank Pathmudi
b9e8ada604 MPS support for xHEAAC decoder 2023-01-23 14:46:59 +05:30
Nikhil Bhavikatti
adf57641aa Fix for Read access memory violation 2022-12-28 16:20:58 +05:30
Shashank Pathmudi
1a52942898 ESBR support for xHEAAC decoder 2022-12-27 09:59:42 +05:30
Nikhil Bhavikatti
be3d58490b Fix for global buffer overflow 2022-12-08 17:56:08 +05:30
Nikhil Bhavikatti
679e3e5749 Fix for signed integer overflow 2022-12-02 17:55:32 +05:30
Nikhil Bhavikatti
3accfa6001 Error robustness tool addition for xHEAAC decoder 2022-11-29 11:48:54 +05:30
Nikhil Bhavikatti
42a0d6d68c Transform length 960 support for xHEAAC decoder 2022-11-29 11:47:23 +05:30
Nikhil Bhavikatti
c2f16ab1d5 Fix for read access memory violation for extension element pointer 2022-11-02 14:36:33 +05:30
Shashank Pathmudi
b7f88cbb46 DRC configuration updates for xHEAAC decoder 2022-11-02 14:35:50 +05:30
Nikhil Bhavikatti
0e0d0131d2 Fix for read access memory violation in LD MPS process call
Flag added to prevent entering LD MPS process call until MPS
initialization is complete
2022-10-10 10:20:01 +05:30
Nikhil Bhavikatti
e1bb9ba2b1 Fix for OOB issue in MPS process call 2022-10-10 10:19:03 +05:30
Nikhil Bhavikatti
c26a26d247 Fix for write access memory violation in USAC process call
Sanity check added to prevent reinitialization when initialization was
complete in previous call
2022-10-10 10:18:27 +05:30
Sowmya Sree Reddy G
270720de5e ELDv2 support for EXHEAAC decoder 2022-10-10 10:15:43 +05:30
Nikhil Bhavikatti
1fb7d08581 Fix for OOB issue
Frame length was not getting updated before DRC processing. Moved the
update to appropriate location.
2022-09-27 15:46:51 +05:30
Nikhil Bhavikatti
70a89a07e9 Fix for signed integer overflow
Saturation check introduced to prevent the overflow
2022-09-27 15:44:05 +05:30
Nikhil Bhavikatti
daf6b8a35c DRC feature updates 2022-09-27 15:39:18 +05:30
Nikhil Bhavikatti
fd6d06ff11 Fix for OOB issue
Sanity check added to prevent number of samples exceeding the timeslot
buffer size to prevent overflow.
2022-09-09 13:42:46 +05:30
Nikhil Bhavikatti
22071e3e10 Fix for OOB issue in DRC
Frame length was not getting updated before DRC processing. Moved the
update to appropriate location.
2022-09-09 13:33:34 +05:30
Nikhil Bhavikatti
089e13f285 Fix for heap buffer overflow
Updated bitbuffer read next to bitbuffer end when it exceeds bitbuffer
end to prevent bytes consumed to be updated incorrectly.
2022-09-09 13:27:44 +05:30
Nikhil Bhavikatti
8e37a351fc Fix for heap buffer overflow
Sanity check added to prevent count bits getting updated to negative
value.
2022-09-09 13:24:14 +05:30
Nikhil Bhavikatti
49b1b8f081 Fix for write access memory violation in USAC process call
When there is failure during the init call, decoder_create_done flag
should be reset before calling initialization again.
2022-09-09 13:17:27 +05:30
Nikhil Bhavikatti
dbedfafd12 Fix for write access memory violation in AAC init call
When there is failure during the init call, header_decode_done flag
should be reset before calling initialization again.
2022-09-09 13:12:00 +05:30
Nikhil Bhavikatti
0ce17e271d Fix for OOB issue
Sanity check added on maximum number of elements to prevent OOB access.
2022-09-09 13:04:47 +05:30
Nikhil Bhavikatti
a857637600 Fix for Out of bound access issue reported by fuzzer 2022-07-29 17:24:54 +05:30
Rajat Kumar
c9614b8df9 Fix for write null dereferencing in AAC frame decode
Audio Object type(AOT) should be same across init and
execute calls. This check was missing when AOT is
not SBR and PS and hence added as fix for this bug.
For AOTs, SBR and PS since this value is re-read at
a later point, check already present would be fine.

Bug: 196308693
Test: poc in bug
2022-07-27 14:26:18 +05:30
Sushanth Patil
3551482d1d Optimisation changes in mps dec module
Added changes to reduce processing loops in cases of
residual bands, pre mix req and phase coding in mps
module.
2022-07-24 11:44:37 +05:30
Sushanth Patil
ec016c95b1 Optimisation changes in ixheaacd_mps_temp_process
ixheaacd_mps_subbandtp() was not required for all mps
configurations. Hence, added checks so its called only
when required.
Also, reduced loop counts when res_bands are present.
2022-07-24 11:34:29 +05:30
Sushanth Patil
acab7bd76a Optimisation changes in ixheaacd_generate_hf
Updated loop count based on number of
qmf channels when MPS is present.
2022-07-24 11:15:54 +05:30
Sushanth Patil
8330107b30 Optimisation changes in mps synt calc module
Converted the mps synt calc module to float module and
reimplemented mps synthesis function.
2022-07-24 11:10:54 +05:30
Sushanth Patil
2aebc58a73 Optimisation changes in ixheaacd_samples_sat
Changed 64-bit operations used for saturating the
output pcm to 32 bit operations targeted towards
32-bit/armv7 architecture.
2022-07-24 11:09:13 +05:30
Sushanth Patil
4d002366a8 Optimisation changes in mps apply pre-matrix and mix-matrix modules
Converted all the computations in these modules to float and
removed all float to int conversion overheads.
2022-07-24 11:05:23 +05:30
Sushanth Patil
1b703a5eea Optimisation changes in mps apply function
Added changes to remove redundant computation
loops in ixheaacd_mps_synt_calc,mps hybrid
analysis & synthesis functions based on number
of non-zero qmf bands.
2022-07-23 21:15:48 +05:30
Sushanth Patil
e73da2db71 Optimisation changes in ixheaacd_mps_upmix_interp
Removed float conversion overheads for
ixheaacd_mps_upmix_interp() function.
2022-07-23 21:01:51 +05:30
Sushanth Patil
7cf8017dd2 Optimisation changes in mps angle & phase interpolation functions
Reduced multiplications using mathematical rearrangement.
2022-07-23 20:59:49 +05:30
Sushanth Patil
d9c6a98804 Optimisation changes in mps hybrid filter functions
Converted the mps hybrid filt module to float
and reduced the number of multiplications in
ixheaacd_mps_hybrid_filt_type1 & type2 functions
using mathematical rearrangement and look-up table
symmetries.
2022-07-23 20:58:14 +05:30
Sachin
4c72471cdb Changes to move output sample path from 16bit to 32 bit
AAC Core coder changes to take the output samples as 32 bit
and subject to peak limiter to avoid any clipping , at the
same time maintaining precision.

Bug: 175435457
Test: atest CtsMediaTestCases:DecoderTest
Test: atest CtsMediaTestCases:DecoderTestAacDrc
Test: atest CtsMediaTestCases:DecoderTestXheAac
Test: atest CtsMediaTestCases:DecoderTestAacFormat
Test: atest CtsMediaV2TestCases:CodecDecoderTest
2022-01-20 11:54:35 +05:30
Sachin
8701172d14 Select Expert and Anchor Loudness measurement.
Changes to switch to  Expert Panel as  measurement system
and Anchor Loudness as measurement method depending on stream.

Bug: 175435457
Test: atest CtsMediaTestCases:DecoderTest
Test: atest CtsMediaTestCases:DecoderTestAacDrc
Test: atest CtsMediaTestCases:DecoderTestXheAac
Test: atest CtsMediaTestCases:DecoderTestAacFormat
Test: atest CtsMediaV2TestCases:CodecDecoderTest
2022-01-20 11:53:40 +05:30
Sachin
e8771b7d14 Update configuration parameter's based on change in values.
Check configuration data obtained after audio Pre-Roll
parsing against current configuration. Update only when
configurations are different.

Bug: 175435457
Test: atest CtsMediaTestCases:DecoderTest
Test: atest CtsMediaTestCases:DecoderTestAacDrc
Test: atest CtsMediaTestCases:DecoderTestXheAac
Test: atest CtsMediaTestCases:DecoderTestAacFormat
Test: atest CtsMediaV2TestCases:CodecDecoderTest
2022-01-20 11:53:05 +05:30
Sachin
a281ecf0cd Update Boost and attenuation values for MPEG-D DRC
Extend API Support to change MPEG-D DRC values for boost
and attenuation from plugin.

Bug: 175435457
Test: atest CtsMediaTestCases:DecoderTest
Test: atest CtsMediaTestCases:DecoderTestAacDrc
Test: atest CtsMediaTestCases:DecoderTestXheAac
Test: atest CtsMediaTestCases:DecoderTestAacFormat
Test: atest CtsMediaV2TestCases:CodecDecoderTest
2022-01-20 11:52:31 +05:30