* 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>
- 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>
- 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
- 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
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
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
This change handles the error reported while processing
individual bitstream element in case of multi-channel streams.
Bug: ossFuzz: 64022
Test: poc in bug
These changes handle the divide-by-zero runtime error
reported when the active lines become zero in
quantization. The issue is reported with AAC and the
same changes are extended to USAC.
Bug: ossFuzz: 62977
Test: poc in bug
These changes handle the index-out-of-bounds runtime error
reported when the bit consumption exceeds the bit reservoir
and global gain reaches the maximum value. The issue is
reported with USAC and the same changes are extended to AAC.
Bug: ossFuzz: 63019
Test: poc in bug
These changes handle the divide-by-zero runtime
error reported when the average bits become zero
in bit reservoir factor calculation.
Bug: ossFuzz: 62291
Test: poc in bug
These changes handle the divide-by-zero runtime error
reported when the successive drc gain coordinates
have same x coordinates.
Bug: ossFuzz:62237
Test: poc in bug
These changes handle the global-buffer-overflow runtime error
reported when the tonal difference in the SBR module becomes
zero.
Bug: ossFuzz: 62261
Test: poc in bug
These changes handle the Floating-point-exception and
Null-dereference runtime errors reported when the
channel mask is zero. This is resolved by
initializing the channel mask with default value.
Bug: ossFuzz: 62238, 62235
Test: poc in bug
These changes handle the Divide-by-zero runtime error reported
when the drc gain coordinates are identical or slope is
perpendicular to the gain value.
Bug: ossFuzz:61683
Test: poc in bug
These changes handle the runtime error reported when the gain
value exceeds the maximum supported value because of zero
spectrum. This is resolved by exiting the rate distortion loop
when zero spectrum is detected. The issue is reported with AAC
and the same changes are extended to USAC.
Bug: ossFuzz:61699
Test: poc in bug
These changes handle the runtime error reported when the
value of scalefactor band form factor becomes zero. This
is resolved by adding bound checks for the gain value.
The issue is reported with USAC and the changes are
extended to AAC.
Bug: ossFuzz:61998
Test: poc in bug
These changes handle the Divide-by-zero runtime error
reported when the energy value calculated is zero.
This is resolved by adding a non zero value to the
energy if it becomes zero.
Bug: ossFuzz: 61974
Test: poc in bug
These changes handle the Null-dereference runtime error
reported for mono streams because of the inappropriate
access of uninitialized members from a structure.
Bug: ossFuzz: 61967
Test: poc in bug
These chages handle the Divide-by-zero runtime error reported
when the value in tonal difference buffer becomes zero. This
is resolved by making it closer to zero instead of absolute
zero.
Bug: ossFuzz:61917
Test: poc in bug
These changes handle the Global-buffer-overflow runtime error
reported when the value of scalefactor band form factor
becomes zero. This is resolved by making it closer to zero
instead of absolute zero.
Bug: ossFuzz:61902
Test: poc in bug
These changes handle the Null-dereference runtime error
reported for mono streams because of inappropriate
access of uninitialized members from a structure.
Bug: ossFuzz:61903
Test: poc in bug