Commit graph

1201 commits

Author SHA1 Message Date
Rumaan Khan
edef5ede66 Extend mp4 support to allow both MP4 and raw format as input
Significance:
==============
- This change extends mp4 support and allows raw and
  and mp4 format file as input
2025-10-16 11:39:11 +05:30
Rumaan Khan
ecf5632bd2 add supp for linux 2025-10-16 11:39:11 +05:30
Rumaan Khan
93cb7f99b8 mp4 supp changes 2025-10-16 11:39:10 +05:30
akshayragir833
c7df337f09
Fix for the Integer-overflow in impd_drc_quantize_and_encode_drc_gain (#111)
Some checks failed
CMake / build (push) Has been cancelled
Significance:
=============
- Refined the condition checks in impd_drc_quantize_and_encode_drc_gain
  to prevent overflow during subtraction.

Bug: ossFuzz: 449893770
Test: poc in bug

Testing:
========
- Smoke-tested on MSVS, Armv7, Armv8, x86_64, x86 and Mac.
2025-10-16 11:36:40 +05:30
akshayragir833
11b88af541
Added bound check for the noise floor scale factors (#110)
Some checks failed
CMake / build (push) Has been cancelled
Significance:
=============
- Added an upper bound check for the noise scale factors in SBR module.

Bug: ossFuzz: 444537265
Test: poc in bug

Testing:
========
- Smoke-tested on MSVS, Armv7, Armv8, x86_64, x86 and Mac
2025-09-30 10:43:56 +05:30
akshayragir833
e198290600
Added a fix in the pvc path for decoder (#107)
Some checks failed
CMake / build (push) Has been cancelled
Significance:
=============
- This change handles PVC path correctly for non-zero PVC modes
- Addressed a minor nit in the usage information

Testing:
========
- Conformance tested for x86, x86_64, armv7, armv8, Mac and MSVS
2025-09-03 14:47:39 +05:30
akshayragir833
fe4e685d4c
Encoder bug fixes and documentation updates (#106)
Significance:
=============
- Fixed an issue in the LPD encoding path related to 768-sample frame length
- Added error check for the standard sample rates in the USAC profile
- Modified impd_drc_config_params.txt file
- Updated documents

Testing:
=========
- smoke-tested on x86, x86_64, Mac, armv7, armv8 and MSVS
2025-09-03 12:50:07 +05:30
akshayragir833
8238183e66
Fix for the Index-out-of-bounds issue in ixheaacd_heaac_mps_apply (#105)
Some checks are pending
CMake / build (push) Waiting to run
Significance:
=============
- This change reports error if the accumulated MPS payload data exceeds
the buffer size.

Bug: ossFuzz:442014385
Test: poc in bug

Testing:
========
- All previous fuzzer crashes are tested. No crash observed.
- Conformance tested for x86, x86_64, armv7, armv8, Mac and MSVS
2025-09-02 22:29:23 +05:30
akshayragir833
ae572598c3
Enable loudness_leveling without other CLI parameter dependencies (#104)
Some checks failed
CMake / build (push) Has been cancelled
Significance:
==============
- This change allows the loudness_leveling CLI parameter to operate independently,
  without relying on other parameters

Testing:
=========
- Conformance tested for x86, x86_64, armv7, armv8, Mac and MSVS

Co-authored-by: Akshay Ragir <100833@ittiam.com>
2025-08-22 10:01:04 +05:30
akshayragir833
60cae125cf
Encoder bug fixes in the USAC path (#103)
Some checks failed
CMake / build (push) Has been cancelled
* Encoder bug fixes in the USAC path

Significance:
==============
- Aligned STOP_WINDOW block window type selection in USAC with AAC
- Delay synchronization between USAC core coder and SBR encoder
- Minor bug fixes

Testing:
- smoke-tested on x86, x86_64, Mac, armv7, armv8 and MSVS

* Addressed a minor nit in the code

---------

Co-authored-by: Akshay Ragir <100833@ittiam.com>
2025-08-20 14:41:32 +05:30
Rumaan2khan
eb62778aee
Extending CLI support for boost and compress for USAC path (#102)
Significance:
==============
- Extended the CLI support for boost and compress for USAC path

Testing:
=========
- Conformance tested for x86, x86_64, armv7, armv8, Mac and MSVS

Co-authored-by: Rumaan Khan <100922@ittiam.com>
2025-08-14 18:24:10 +05:30
akshayragir833
fb6a68848a
Enhancements to the uniDRCv1 user configuration through DRC (#101)
Significance:
==============
- Enhanced the support to uniDRCv1 user configuration through DRC
  configuration param file

Testing:
=========
- smoke-tested on x86, x86_64, Mac, armv7, armv8 and MSVS

Co-authored-by: Akshay Ragir <100833@ittiam.com>
2025-08-14 16:57:31 +05:30
akshayragir833
388435c8f8
Support to configure user preferred loudness configuration through DRC (#100)
* Support to configure user preferred loudness configuration through DRC

Significance:
=============
- Added support to configure User defined program loudness through DRC, which takes
  precedence over loudness measured by the encoder
- Minor bug fixes

Testing:
========
- smoke-tested on x86, x86_64, Mac, armv7, armv8 and MSVS

* Addressed minor nits in the documentation

---------

Co-authored-by: Akshay Ragir <100833@ittiam.com>
2025-08-07 15:19:36 +05:30
ShashankPathmudi
1f798f1cc5
Fix for UBSAN issue observed with libxaac decoder (#98)
* Fix for UBSAN issue observed with libxaac decoder

Significance:
- This change propogates the error returned from ixheaacd_heaac_mps_apply
to ixheaacd_dec_execute.

Testing:
- All previous fuzzer crashes are tested. No crash observed.
- CTS and Conformance for x86, x86_64, armv7 and armv8 are passing.

* Fix for UBSAN issue observed with libxaac Decoder

Significance:
- Comparison is made against IA_NO_ERROR using 'not equal to', instead of checking for equality with IA_FATAL_ERROR

Testing:
- All previous fuzzer crashes are tested. No crash observed.
- CTS and Conformance for x86, x86_64, armv7 and armv8 are passing.
2025-07-30 12:13:09 +05:30
akshayragir833
3dfa708b6e
Loudness leveling support for encoder and decoder (#99)
* Loudness leveling support for encoder and decoder

- Addition of loudness leveling support to encoder and
  decoder as per ISO/IEC 23003-4:2020/Amd.2:2023(E)

Testing:

Encoder: Smoke-test

Decoder: CTS and Conformance for x86, x86_64, armv7 and armv8 are
         passing

* Addressed review comments

* Addressed minor nits in documentation

---------

Co-authored-by: Akshay Ragir <100833@ittiam.com>
2025-07-28 17:40:45 +05:30
Harish Mahendrakar
11fa437dda Update cifuzz.yml
Updated cifuzz.yml to use actions/upload-artifacts@v4.
2025-03-18 23:10:09 -07:00
akshayragir833
7492f1f9ab
Enhancements for 4:1 eSBR configuration for USAC encoder (#94)
- Fix for the spectral misalignment issue observed between HF and LF for 4:1 eSBR
- Delay synchronization between SBR encoder and the core coder
- Delay handling for the decoded files using pre-roll frames on encoder
- Bug fixes

Testing: Smoke-test

Co-authored-by: Akshay Ragir <100833@ittiam.com>
2024-12-16 17:38:47 +05:30
ShashankPathmudi
2aea9e799e
Fix clang-16 (x86_64) build warnings and SBR range start frequency border for 4:1 system issue (#92)
Significance:
--------------
- Fixes all the the warnings observed for libxaac decoder library when compiled with clang-16 (x86_64).
- Adjusts the conditional check to validate the 4:1 system's SBR range start frequency border.

Testing:
---------
- All previous fuzzer crashes are tested. No crash observed.
- CTS and Conformance for x86, x86_64, armv7 and armv8 are passing.
2024-07-17 14:47:27 +05:30
akshayragir833
85cf44c90c
Added a fix in the FAC payload writing path (#91)
- The bit-writing logic had to be skipped when no bits were to be written. Updated the existing check for the same.
- This change also resolves an issue identified by oss-fuzz.

Bug: ossFuzz: 69103
Test: poc in bug
2024-05-24 17:15:08 +05:30
akshayragir833
141fde8854
Added a fix in the FAC payload writing path (#90)
- The bit-writing logic had to be skipped when no bits were to be written. Added the missing check for the same.
- This change also resolves an issue identified by oss-fuzz

Bug: ossFuzz: 68476
Test: poc in bug
2024-05-16 10:02:33 +02:00
ShashankPathmudi
9b16033d61
Initialize local scratch structure before first use in non-USAC control paths (#89)
Significance:
--------------
- Possibility of accessing uninitialized access to structure members of a local scratch structure uncovered with fuzzer testing.
- The changes in this commit handle such cases.

Bug: ossFuzz:68464
Test: poc in bug
2024-05-16 09:28:38 +05:30
SanaAnjaneyulu
e6c99d95b5
Merge pull request #88 from ittiam-systems/encoder_bug_fixes
Fix for the Use-of-uninitialized-value in iusace_fd_encode_fac
2024-05-11 05:09:41 +05:30
Akshay Ragir
558d17493e Fix for the Use-of-uninitialized-value in iusace_fd_encode_fac
This change prevents the access of uninitialized variable in iusace_fd_encode_fac

Bug: ossFuzz: 68476
Test: poc in bug
2024-05-10 20:00:59 +05:30
ShashankPathmudi
f17df34651
Fix for Use-of-uninitialized-value in ixheaacd_aacdec_decodeframe (#87)
These changes fix the Use-of-uninitialized-value in ixheaacd_aacdec_decodeframe runtime error
caused due to uninitialized structure members of aac scratch structure.

Bug: ossFuzz:68464
Test: poc in bug
2024-05-10 14:13:17 +02:00
SanaAnjaneyulu
ae307e45c6
Merge pull request #86 from ittiam-systems/encoder_enhancements
UniDrcv1 configuration support when DRC is enabled
2024-05-07 13:39:03 +05:30
Akshay Ragir
b9598d0c6c UniDrcv1 configuration support when DRC is enabled
Tests done: Smoke test
2024-05-07 13:20:31 +05:30
ShashankPathmudi
12e2e71b24
Fix for Heap-buffer-overflow in Codec__decodeXAACStream (#85)
These changes fix the Heap-buffer-overflow in Codec__decodeXAACStream runtime error
caused due to unsupported frame length type configuration for LATM streams.

Bug: ossFuzz:67767
Test: poc in bug
2024-04-16 17:58:40 +05:30
akshayragir833
da04d9de78
Encoder enhancements (#84)
Tests done: smoke test
2024-03-29 17:36:14 +05:30
ShashankPathmudi
d880b2f9ee
Decoder Enhancements (#82)
Significance:
========
[x] Aligned buffer access for scratch memory and scratch memory optimization.

Testing:
=====
[x] MSVS Conformance and CTS are passing.
[x] All previous fuzzer crashes are tested. No crash observed.
[x] For platforms, Conformance tested with different combinations.
[x] Tested Conformance with gcc builds for x86, x86_64, armv7 and armv8.
[x] Tested Conformance with clang builds with address and memory sanitizer flags for x86_64 and armv8.
2024-03-29 09:49:01 +05:30
Elliott Hughes
226c46decb Remove useless neon: clause.
There hasn't been a non-neon platform build in years. Even the NDK hasn't supported non-neon for two years now.

Change-Id: I1d892e8bd97371a87771183655c1e5803a7e4400
2024-03-27 07:53:54 -07:00
Akshay Ragir
ed65992ff0 Fix for the Heap-buffer-overflow READ 1 in ixheaace_process
These changes handle the heap buffer overflow runtime error
by reducing the maximum number of loudnessInfo blocks supported.

Bug: ossFuzz: 67273
Test: poc in bug
2024-03-15 17:24:52 +05:30
Akshay Ragir
0cdc7e8df4 Aligned fuzzer application with the test application 2024-03-15 17:24:52 +05:30
akshayragir833
58381f7993
Audio pre-roll and loudness measurement support for USAC (#79)
Tests done: Smoke test
2024-03-06 15:13:14 +05:30
akshayragir833
d0702a8795
Aligned encoder with the latest changes in common directory (#78)
[x] Tests done: Smoke test
2024-01-22 18:19:16 +05:30
ShashankPathmudi
e6fd2784fc
Decoder Enhancements (#77)
[x] Aligned buffer access for persistent memory.
2024-01-16 21:38:46 +05:30
akshayragir833
63d6a41982
USAC encoder enhancements and internal bug fixes (#76)
Tests done: Smoke test
2024-01-12 13:05:51 +05:30
akshayragir833
87f206b42d
Fix for the Use-of-uninitialized-value in ixheaace_frame_info_generator (#75)
These changes handle the runtime error reported by preventing the
inappropriate access of uninitialized member from a structure.

Bug: ossFuzz: 65422
Test: poc in bug
2024-01-02 19:07:05 +05:30
ShashankPathmudi
59ab6ada33
Fix for global buffer overflow in MPS module (#74) 2023-12-29 17:16:17 +05:30
akshayragir833
1ce177ea0e
Encoder enhancements and minor bug fixes (#73)
Test done: Smoke test
2023-12-28 17:47:33 +05:30
tripti-tiwari
a7019eafff
Merge pull request #72 from ittiam-systems/decoder_bug_fixes
Decoder Bug Fixes
2023-12-26 09:21:35 +05:30
Shashank Pathmudi
0889ef458d Fix for potential divide-by-zero issue observed during code inspection 2023-12-22 19:25:42 +05:30
ShashankPathmudi
daf21a984e
Fix for divide-by-zero in ixheaacd_mps_frame_decode (#71)
These changes handle the divide-by-zero runtime error reported
while calculating the inverse of difference between consecutive
parameter time slot.

Bug: ossFuzz:65191
Test: poc in bug
2023-12-22 19:03:04 +05:30
tripti-tiwari
9b21ecaae1
Merge pull request #70 from ittiam-systems/decoder_bug_fixes
Decoder Bug Fixes
2023-12-18 16:43:37 +05:30
Shashank Pathmudi
2624ae15b4 Fix for Heap-buffer-overflow WRITE 8 in ixheaacd_init_sbr
These changes handle the Heap-buffer-overflow WRITE 8 runtime error reported
due to unsupported channel configuration for USAC.

Bug: ossFuzz:64960
Test: poc in bug
2023-12-18 16:20:32 +05:30
akshayragir833
b5c3233a7a
Sanitization of configuration parameters (#69) 2023-12-11 17:37:51 +05:30
Akshay Ragir
86eb72d8eb Fix for the Global-buffer-overflow READ 4 in iaace_estimate_scfs_chan
These changes handle the 960 frame length
support for SBR and PS profiles.

Bug: ossFuzz: 64532
Test: poc in bug
2023-11-27 20:00:46 +05:30
Shashank Pathmudi
cc7ce80ec3 Fix for write access violation and divide by zero in MPS module 2023-11-27 13:56:59 +05:30
Akshay Ragir
9b18e51b8a Updated Fuzzer application to improve code coverage 2023-11-16 09:24:49 +05:30
Akshay Ragir
695799b8b6 Fix for the Null-dereference READ in ixheaace_write_bits
This change handles the error reported while processing
individual bitstream element in case of multi-channel streams.

Bug: ossFuzz: 64022
Test: poc in bug
2023-11-16 09:24:49 +05:30
Harish Mahendrakar
10a262f43c Android.bp: Fix riscv64 build for decoder
- Add appropriate entries in Android.bp for riscv64 for decoder
- Add missing function in function_selector_generic.c
2023-10-25 21:48:43 -07:00