Commit Graph

570 Commits

Author SHA1 Message Date
Martin Storsjo a3d1168943 Adjust the fix for infinite loops with a drained ADTS stream
This should have less risk of causing other issues.
2017-08-18 22:38:09 +03:00
Martin Storsjo 963b189156 Enhance TNS tuning for 8 kHz audio sampling rate
This tuning has been suggested by Fraunhofer, fixing overflows
in encoding certain sequences.
2017-08-18 22:36:48 +03:00
Martin Storsjo 1244b257ee Always feed more input data when possible for ADTS
This fixes cases where an ADTS header could set numberOfRawDataBlocks
to a number larger than 1, which would lead to transportDec_FillData
not feeding any more data, even though the input buffer was depleted.

Fixes: 3014/clusterfuzz-testcase-5425740193464320

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-08-15 23:12:51 +03:00
Martin Storsjo 393a86c0db Check that pSettings is initialized
Fixes: 2872/clusterfuzz-testcminimized-4529959869612032

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-08-15 23:12:51 +03:00
android-build-team Robot cd450cc41f release-request-0b474cbb-ff20-424d-a570-a0a7b83a7705-for-git_pi-release-4262110 snap-temp-L42700000091449286
Change-Id: I7156dd934b8ce12dc00e2ef192617a0025264117
2017-08-10 08:10:57 +00:00
Jiyong Park b185a1b5ae Make software codecs as VNDK am: a4aa860efb
am: 82b9d6795a

Change-Id: Ib0071dca66a511ab13b358eafd9d951d6249879b
2017-08-10 02:48:42 +00:00
Jiyong Park 82b9d6795a Make software codecs as VNDK
am: a4aa860efb

Change-Id: I662a0675e67bd421b2b3c02391c25cf38f39d84f
2017-08-10 01:18:58 +00:00
Jiyong Park a4aa860efb Make software codecs as VNDK
Software codecs and their dependencies are marked as VNDK (or just
vendor_available:true for static/header libs).

Bug: 37343418
Test: build the software codecs with BOARD_VNDK_VERSION=current

Change-Id: I9ecedb5a95abc9978ff7ed3538bd2dedec750c7d
2017-08-07 13:12:12 +09:00
Martin Storsjo ee6d9476a6 Check for heightLayer out of range
Alternatively, the bits read in CProgramConfig_ReadHeightExt could
be checked right there instead.

Fixes: 2802/clusterfuzz-testcase-minimized-6752357788418048

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-08-03 14:22:30 +03:00
Martin Storsjo 52c2660c26 Make sure at least one bit exists before reading further in FDKreadBit
Fixes: 2709/clusterfuzz-testcase-minimized-6160249369133056

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-08-03 14:22:30 +03:00
Martin Storsjo ecb2ad9a7b Check that all channel mapping entries used are valid
If channel numbers are changed on the fly (in invalid bitstreams),
we can end up with a channel mapping with fewer channels mapped
than we actually try to output.

Ideally, this condition should probably be checked somewhere
closer to where it enters such a state, not when using the
channel mapping though.

Fixes: 2808/clusterfuzz-testcase-minimized-4694952892170240
Fixes: 2275/clusterfuzz-testcase-minimized-6205444085252096

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-08-03 14:22:04 +03:00
Martin Storsjo af5863a78e Re-fix "Stack-buffer-overflow in FDKmemset"
This probably doesn't fix the root cause, but at least fixes
the issues found in this particular fuzzed sample.

Compared to the previous fix in 39e13c1acb,
this doesn't break HE-AACv2 encoding, by allowing the case with
usb==no_channels.

Fixes: 1973/clusterfuzz-testcase-minimized-6319232084082688

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-06-22 12:32:55 +03:00
Martin Storsjo a9c8cb2cf6 Revert "Fix "Stack-buffer-overflow in FDKmemset""
This reverts commit 39e13c1acb.

This turned out to break HE-AACv2 encoding. Will look for a better
fix for the issue found by the fuzzed sample.

This fixes issue #69.
2017-06-22 11:54:29 +03:00
Martin Storsjo e7f36eed22 Check that the SBR decoder has been properly initialized
This probably doesn't fix the root cause, but at least fixes
the issues found in this particular fuzzed sample.

Fixes: 1994/clusterfuzz-testcase-minimized-6368089497141248

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-06-12 23:44:59 +03:00
Martin Storsjo 39e13c1acb Fix "Stack-buffer-overflow in FDKmemset"
This probably doesn't fix the root cause, but at least fixes
the issues found in this particular fuzzed sample.

Fixes: 1973/clusterfuzz-testcase-minimized-6319232084082688

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-06-12 23:44:59 +03:00
Martin Storsjo d2fa9750d5 Make sure to end all CRC regions in the right order
This fixes assert failures, when a (corrupt/fuzzed) bitstream
doesn't trigger starting/ending CRCs properly (or when decoding
is aborted halfway when an error is encountered). Skipping ending
a CRC region doesn't trigger an assert failure, but when a later
CRC region is started and ended, an assert fails when the end
doesn't match the expected CRC region.

Fixes: 1928/clusterfuzz-testcase-minimized-6480505958563840

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-06-12 23:44:43 +03:00
Martin Storsjo 21cb19455c Don't try to read a negative number of bits
Fixes: 1919/clusterfuzz-testcase-minimized-5021082513833984

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-06-12 23:44:43 +03:00
Martin Storsjo 4c4da0e39a Avoid infinite loops in block decoding
Fixes: 1921/clusterfuzz-testcase-minimized-5480510065213440

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2017-06-12 23:44:43 +03:00
Chih-Hung Hsieh afe3b88936 Merge "Add OWNERS in external/aac" am: db59691026 am: 6f8a59ff40 am: e10e3d33cf
am: 32b8bd3dc9

Change-Id: Icbfbce61951a55c3cfa106bdf0bb7f84da2ca453
2017-06-05 19:47:38 +00:00
Chih-Hung Hsieh 32b8bd3dc9 Merge "Add OWNERS in external/aac" am: db59691026 am: 6f8a59ff40
am: e10e3d33cf

Change-Id: I3b51a11cc119ebc35aab051c21133a1476db5a0a
2017-06-05 19:40:31 +00:00
Chih-Hung Hsieh e10e3d33cf Merge "Add OWNERS in external/aac" am: db59691026
am: 6f8a59ff40

Change-Id: I236f2028ad5ae6e14ee0655456d4d42b785bdc45
2017-06-05 19:35:00 +00:00
Chih-Hung Hsieh 6f8a59ff40 Merge "Add OWNERS in external/aac"
am: db59691026

Change-Id: Id365d26e05abceec99ddac2e727483d4b294d63d
2017-06-05 19:30:30 +00:00
Treehugger Robot db59691026 Merge "Add OWNERS in external/aac" 2017-06-05 19:19:38 +00:00
Chih-Hung Hsieh 86e949c076 Add OWNERS in external/aac
Owners are selected from top CL approvals or owners.
They will be suggested to review/approve future CLs.

Test: build/make/tools/checkowners.py -c -v OWNERS
Change-Id: Iacb2e068189b39030a218b6496ca41a0bd4ce7d2
2017-06-05 10:10:15 -07:00
Martin Storsjo 50922e3dbd Try to properly handle the case when the bitstream reader runs out of bits to read 2017-04-26 23:37:11 +03:00
Robert Kausch 6b0d8201b1 Add checks to avoid overreading supplied buffers and fix issue #61. 2017-04-23 21:31:36 +02:00
Martin Storsjo 5eb6f0db8c Saturate additions in spectralChange
This fixes a crash.
2017-03-14 14:37:55 +02:00
Martin Storsjo 32c712cbd1 Merge remote-tracking branch 'aosp/master' 2017-03-14 14:37:45 +02:00
liuchao 47dd0b4589 Merge "Fix not properly handled NULL-pointer access before check in aac lib" am: b0af861f5a am: b0f6b2906e
am: ef9be61680

Change-Id: Ibfe81134a2089946800580538775faaa1bbe00ef
2017-02-23 21:50:11 +00:00
liuchao ef9be61680 Merge "Fix not properly handled NULL-pointer access before check in aac lib" am: b0af861f5a
am: b0f6b2906e

Change-Id: I06232a0b0126349e7d4cffff0d9c1eac90eddbb2
2017-02-23 21:48:07 +00:00
liuchao b0f6b2906e Merge "Fix not properly handled NULL-pointer access before check in aac lib"
am: b0af861f5a

Change-Id: Id59fd9de48f99c572fa964d7e60b57312edadece
2017-02-23 21:45:43 +00:00
Treehugger Robot b0af861f5a Merge "Fix not properly handled NULL-pointer access before check in aac lib" 2017-02-23 21:25:44 +00:00
liuchao 64bd48e21b Fix not properly handled NULL-pointer access before check in aac lib
1) Fixes some potential NULL-pointer access in case input pointer is
passed NULL
2) Modified some for lazy init

Test: mm -j 8
Change-Id: I7fca97e1d9f70d8e8c1533b519181af35a5468f7
2017-02-23 14:22:01 +08:00
Jakub Pawlowski 30fa0b87e9 Merge "Linux compilation fix" am: b82c85d0b1 am: 7c8dd3bb93
am: f4bd5f6bd4

Change-Id: I4f054be1c1342296c69748c2e616b07c7bd9401c
2017-02-21 20:58:55 +00:00
Jakub Pawlowski f4bd5f6bd4 Merge "Linux compilation fix" am: b82c85d0b1
am: 7c8dd3bb93

Change-Id: Ifba0bf717a42c3889ea686d1f46cd0758e61851e
2017-02-21 20:56:55 +00:00
Jakub Pawlowski 7c8dd3bb93 Merge "Linux compilation fix"
am: b82c85d0b1

Change-Id: I934d6c1b7011453b71c28c9ec64da3f3af865782
2017-02-21 20:53:55 +00:00
Treehugger Robot b82c85d0b1 Merge "Linux compilation fix" 2017-02-21 20:48:23 +00:00
Jakub Pawlowski 2cd9fe3964 Linux compilation fix
Test: manual
Change-Id: Ie374e47b93e8fa3a44c731cb73f7e151d265c74c
2017-02-21 10:43:02 -08:00
Pavlin Radoslavov dfc9132496 Merge "Change build config of aac from Android.mk to Android.bp" am: 8334e4b410 am: 2eba55c5a8 am: 1679274c9c
am: 4910e5a352

Change-Id: I06e73ca6768323110b658548a189a1f69695cc08
2017-01-20 02:35:09 +00:00
Pavlin Radoslavov 4910e5a352 Merge "Change build config of aac from Android.mk to Android.bp" am: 8334e4b410 am: 2eba55c5a8
am: 1679274c9c

Change-Id: I17c2d7f5c558e17fc4b579d879160f4d6a6ce587
2017-01-20 02:19:38 +00:00
Pavlin Radoslavov 1679274c9c Merge "Change build config of aac from Android.mk to Android.bp" am: 8334e4b410
am: 2eba55c5a8

Change-Id: I16c8e041daad6f21dd80ec50db52ae488f1b91c5
2017-01-20 02:11:06 +00:00
Pavlin Radoslavov 2eba55c5a8 Merge "Change build config of aac from Android.mk to Android.bp"
am: 8334e4b410

Change-Id: I770984561bf97b52e50c83844f4037fccabfdedc
2017-01-20 02:02:27 +00:00
Treehugger Robot 8334e4b410 Merge "Change build config of aac from Android.mk to Android.bp" 2017-01-20 01:50:48 +00:00
Pavlin Radoslavov 6cc0003b74 Change build config of aac from Android.mk to Android.bp
* In an effort to modernize build configurations to the new Soong
  system, we need to upgrade existing Android.mk files to Android.bp
* This file is done by using the following steps:
  1. Manually removing all *_sources from Android.mk, because
     of the unusual make logic they use
  2. Running the auto-conversion tool:
     androidmk Android.mk > Android.bp
  3. Editing the result Android.bp:
     3.1. Writing the "srcs" list
     3.2. Removing the escaping around -Wno-#warnings in cflags,
          because those are not needed anymore
     3.3. Renamed local_include_dirs to export_include_dirs to
          facilititate the inclusion of header files.
          It appears users of libFraunhoferAAC are using header
          files from all include directories, hence the renaming.

Test: Code compilation ("mm" in external/aac, and "make" in top-directory)
Bug: b/32958753 b/34454142
Change-Id: Ie89f73722908e8734f4b88f1407952311ec064af
2017-01-19 13:10:11 -08:00
Martin Storsjo 74c1a2a4f8 Update the changelog for the upcoming 0.1.5 release 2017-01-11 10:45:23 +02:00
Martin Storsjo bf64cd3964 Merge remote-tracking branch 'aosp/master' 2017-01-04 08:49:09 +02:00
Martin Storsjo 5fd7e6537d Merge remote-tracking branch 'aosp/master' 2016-10-28 10:26:20 +03:00
Martin Storsjo 889731b62d Merge "Remove redundant register storage class specifiers" am: ed91226cec am: 664e5f2794 am: bfba552d9e
am: de03facdb2

Change-Id: Iaeb5b599896e4c640b8902c26cc6e3f7405a1256
2016-10-28 01:27:58 +00:00
Martin Storsjo de03facdb2 Merge "Remove redundant register storage class specifiers" am: ed91226cec am: 664e5f2794
am: bfba552d9e

Change-Id: I02d87c067cdcea95ce7ee207da15bf85d5a21e89
2016-10-28 01:23:28 +00:00
Martin Storsjo bfba552d9e Merge "Remove redundant register storage class specifiers" am: ed91226cec
am: 664e5f2794

Change-Id: I9d17d79e37bac378e853d6102b26a8c354790957
2016-10-28 01:18:57 +00:00