aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Check for heightLayer out of rangeMartin Storsjo2017-08-031-0/+12
| | | | | | | | | 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
* Make sure at least one bit exists before reading further in FDKreadBitMartin Storsjo2017-08-031-1/+5
| | | | | | Fixes: 2709/clusterfuzz-testcase-minimized-6160249369133056 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
* Check that all channel mapping entries used are validMartin Storsjo2017-08-031-0/+3
| | | | | | | | | | | | | | | 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
* Re-fix "Stack-buffer-overflow in FDKmemset"Martin Storsjo2017-06-221-0/+4
| | | | | | | | | | | | | 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 39e13c1acbca94f562f9776e1555ced50dd0dfcd, 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
* Revert "Fix "Stack-buffer-overflow in FDKmemset""Martin Storsjo2017-06-221-4/+0
| | | | | | | | | This reverts commit 39e13c1acbca94f562f9776e1555ced50dd0dfcd. 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.
* Check that the SBR decoder has been properly initializedMartin Storsjo2017-06-121-0/+4
| | | | | | | | | 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
* Fix "Stack-buffer-overflow in FDKmemset"Martin Storsjo2017-06-121-0/+4
| | | | | | | | | 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
* Make sure to end all CRC regions in the right orderMartin Storsjo2017-06-121-1/+16
| | | | | | | | | | | | | 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
* Don't try to read a negative number of bitsMartin Storsjo2017-06-121-1/+1
| | | | | | Fixes: 1919/clusterfuzz-testcase-minimized-5021082513833984 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
* Avoid infinite loops in block decodingMartin Storsjo2017-06-121-0/+3
| | | | | | Fixes: 1921/clusterfuzz-testcase-minimized-5480510065213440 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
* Try to properly handle the case when the bitstream reader runs out of bits ↵Martin Storsjo2017-04-261-1/+15
| | | | to read
* Add checks to avoid overreading supplied buffers and fix issue #61.Robert Kausch2017-04-232-20/+45
|
* Saturate additions in spectralChangeMartin Storsjo2017-03-141-2/+2
| | | | This fixes a crash.
* Merge remote-tracking branch 'aosp/master'Martin Storsjo2017-03-144-78/+42
|\
| * Merge "Fix not properly handled NULL-pointer access before check in aac lib"Treehugger Robot2017-02-232-19/+10
| |\
| | * Fix not properly handled NULL-pointer access before check in aac libliuchao2017-02-232-19/+10
| |/ | | | | | | | | | | | | | | | | 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
| * Merge "Linux compilation fix"Treehugger Robot2017-02-211-0/+4
| |\
| | * Linux compilation fixJakub Pawlowski2017-02-211-0/+4
| |/ | | | | | | | | Test: manual Change-Id: Ie374e47b93e8fa3a44c731cb73f7e151d265c74c
| * Merge "Change build config of aac from Android.mk to Android.bp"Treehugger Robot2017-01-202-59/+32
| |\
| | * Change build config of aac from Android.mk to Android.bpPavlin Radoslavov2017-01-192-59/+32
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | Update the changelog for the upcoming 0.1.5 releaseMartin Storsjo2017-01-111-0/+8
| |
* | Merge remote-tracking branch 'aosp/master'Martin Storsjo2017-01-040-0/+0
|\|
| * Merge "Remove redundant register storage class specifiers"Martin Storsjo2016-10-282-9/+9
| |\ | | | | | | | | | | | | | | | am: ed91226cec Change-Id: Ieb0f6090190d7cd2d21599f9b1e6ce950608313d
| * \ Merge "Add casts to avoid errors due to narrowing"Martin Storsjo2016-10-184-30/+28
| |\ \ | | | | | | | | | | | | | | | | | | | | am: 4556cb9cb8 Change-Id: I4cb4a7dace03c7c09403588da05ea8df0f35077e
| * \ \ Merge "Avoid a warning about extra parentheses" am: f935254cc9 am: 899335d310Jean-Michel Trivi2016-09-091-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | am: 79c3cd8b1a Change-Id: Ia7a3b896268f11c5c2003c36aa38724910b08db0
| | * \ \ Merge "Avoid a warning about extra parentheses" am: f935254cc9Jean-Michel Trivi2016-09-091-1/+1
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 899335d310 Change-Id: Iff4192d216e3ebeed98bf37d76b892be391ffa02
| | | * | | Merge "Avoid a warning about extra parentheses"Jean-Michel Trivi2016-09-091-1/+1
| | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: f935254cc9 Change-Id: I838bc99ee6450cdf300663f3a1c356e5cacf517f
| * | | | | Merge "Disable warnings that are not easily fixable" am: 8192b1a am: 2a923c9Glenn Kasten2016-04-201-0/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 00fc1c6 * commit '00fc1c66d5a524c6961db04d05e1076b18003231': Disable warnings that are not easily fixable Change-Id: Id64b163cd217ad1cbb209843819416f3a8b354b1
| * | | | | Merge "Add default case for undefined pointer initialization" am: 9d0179c ↵Glenn Kasten2016-04-201-0/+3
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 27625f2 am: c3f7cf7 * commit 'c3f7cf7f1b8987a873ceea8c1b45206dd611e425': Add default case for undefined pointer initialization Change-Id: I11a5787070f3be7f2d476ec1ebd54c1d41ce7dc2
| * \ \ \ \ \ Merge "Left shift of negative int is undefined" am: 6ae5480 am: 2b2e97bGlenn Kasten2016-04-201-25/+25
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: e34e2b9 * commit 'e34e2b9d54680b7d59104b8398d10f6d4d8c5be6': Left shift of negative int is undefined Change-Id: Ic539e64d4cf654b3e8924d6321ac203f4f355a96
| * \ \ \ \ \ \ resolve merge conflicts of ad1e898 to nyc-dev-plus-aospGlenn Kasten2016-04-204-7/+6
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 2809968 * commit '28099687b733eac90cff9273b6f8f660176e0784': Remove redundant parentheses around == comparison operator Change-Id: I87566357ee932ac57eed79645fec146625c85cdb
| * \ \ \ \ \ \ \ Merge "Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425 am: ↵Android Build Merger (Role)2016-04-190-0/+0
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b762ff3e4f am: 1a54e8f638 am: 78653b30e9 am: 0a20959871 am: 6318d60241 am: 7147e71a75 am: 1de50b286f am: d110691d01 am: 0cf3a7671a am: 9d4702f2d9 am: 9000e05228" into nyc-mr1-dev-plus-aosp
| | * \ \ \ \ \ \ \ Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425 am: ↵Jean-Michel Trivi2016-04-190-0/+0
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b762ff3e4f am: 1a54e8f638 am: 78653b30e9 am: 0a20959871 am: 6318d60241 am: 7147e71a75 am: 1de50b286f am: d110691d01 am: 0cf3a7671a am: 9d4702f2d9 am: 9000e05228 * commit '9000e05228a100873606bfc4d758a2390b3eab1d': Fix aacDecoder_drcExtractAndMap() Change-Id: Iad9b7605ceac844b3ad520b51ecac30709a17edc
| | | * \ \ \ \ \ \ \ Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425 am: ↵Jean-Michel Trivi2016-04-190-0/+0
| | | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b762ff3e4f am: 1a54e8f638 am: 78653b30e9 am: 0a20959871 am: 6318d60241 am: 7147e71a75 am: 1de50b286f am: d110691d01 am: 0cf3a7671a am: 9d4702f2d9 * commit '9d4702f2d9ecec00c4e28de638b1f79afb5d696c': Fix aacDecoder_drcExtractAndMap() Change-Id: I529c52632aba617404f16995fefc8138f5d993e2
| * | | \ \ \ \ \ \ \ \ Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425 am: ↵Jean-Michel Trivi2016-04-190-0/+0
| |\ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b762ff3e4f am: 1a54e8f638 am: 78653b30e9 am: 0a20959871 am: 6318d60241 am: 7147e71a75 am: 1de50b286f am: d110691d01 am: 0cf3a7671a am: 9d4702f2d9 am: be845a7fc2 * commit 'be845a7fc28b00793a59c3610c9f6ca8cd2e360e': Fix aacDecoder_drcExtractAndMap() Change-Id: Iea260503b4d49014223602830b54b489448d294f
* | | | | | | | | | | | Merge remote-tracking branch 'aosp/master'Martin Storsjo2016-10-282-9/+9
|\ \ \ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|_|_|/ | |/| | | | | | | | | |
| * | | | | | | | | | | Merge "Remove redundant register storage class specifiers"Treehugger Robot2016-10-282-9/+9
| |\ \ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|_|_|/ | |/| | | | | | | | | |
| | * | | | | | | | | | Remove redundant register storage class specifiersMartin Storsjo2016-10-182-9/+9
| |/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | | | | | Don't force C++98 mode any longerMartin Storsjo2016-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code builds fine in C++11 mode now.
* | | | | | | | | | | Merge remote-tracking branch 'aosp/master'Martin Storsjo2016-10-184-30/+28
|\| | | | | | | | | |
| * | | | | | | | | | Merge "Add casts to avoid errors due to narrowing"Treehugger Robot2016-10-184-30/+28
| |\ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|_|/ | |/| | | | | | | | |
| | * | | | | | | | | Add casts to avoid errors due to narrowingMartin Storsjo2016-10-174-30/+28
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | | | | Add new files to "make dist"Martin Storsjo2016-09-241-1/+5
| | | | | | | | | |
* | | | | | | | | | Fix building with MSVC for ARMMartin Storsjo2016-09-112-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cmnintrin.h only existed for Windows CE, and doesn't seem to actually be necessary for building this.
* | | | | | | | | | Detect MSVC x64Martin Storsjo2016-09-111-1/+1
| | | | | | | | | |
* | | | | | | | | | Windows MSVC Makefileopcodevoid2016-09-113-0/+1160
| | | | | | | | | |
* | | | | | | | | | Merge remote-tracking branch 'aosp/master'Martin Storsjo2016-09-101-1/+1
|\| | | | | | | | |
| * | | | | | | | | Merge "Avoid a warning about extra parentheses"Jean-Michel Trivi2016-09-091-1/+1
| |\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|/ | |/| | | | | | | |
| | * | | | | | | | Avoid a warning about extra parenthesesMartin Storsjo2016-08-301-1/+1
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following warning: libSBRenc/src/sbr_encoder.cpp:1942:14: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] Change-Id: I2c833d19348574473c752076a4efff6642c0d653
* | | | | | | | | Add aarch64 assembly optimization (ARMv8a 64 bits)Lexyan2016-09-105-0/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fixmuldiv functions don't need inline assembly to be fast in this architecture; the compiler (both clang and GCC) figure out to use the optimal instructions for this (which is 2 instruction sequence), and when letting the compiler emit the instructions instead of using inline assembly, the compiler is able to interleave those instructions with other instructions, improving scheduling, making it even faster than when using inline assembly. Overall, this gives about 50% speedup.