summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/aacdec/SoftAAC2.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-6.0.1_r61' into HEADJessica Wagantall2016-08-021-6/+9
|\ | | | | | | | | | | Android 6.0.1 Release 61 (MOB30Z) Change-Id: Ic86e42d5fb8f81fe5c4f58d2e76852829c609760
| * SoftAAC2: fix crash on all-zero adts bufferMarco Nelissen2016-06-231-6/+9
| | | | | | | | | | Bug: 29153599 Change-Id: I1cb81c054098b86cf24f024f8479909ca7bc85a6
* | Merge tag 'android-6.0.1_r46' into HEADJessica Wagantall2016-06-071-0/+25
|\ \ | |/ | | | | | | | | Android 6.0.1 release 46 Change-Id: I4fcabf5775aebd2cb8dc0e352d1b1460d3214573
| * DO NOT MERGE Verify OMX buffer sizes prior to accessMarco Nelissen2016-04-211-0/+25
| | | | | | | | | | Bug: 27207275 Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
* | stagefright: Add support for custom size i/p buffervivek mehta2015-10-061-2/+39
|/ | | | | | | - handle non default input buffer size - fix issues associated with non-default buffer size Change-Id: Iad31f5c85601983b01e18e130b1c3eecb3988e30
* Fix new[] vs delete mismatch.Evgenii Stepanov2015-05-121-1/+1
| | | | | | | | Detected with AddressSanitizer. Bug: 18202869 Change-Id: I7fa9ee722766968e33faa4d9312385ca303ca274 (cherry picked from commit a37f84ecce59a0d11a687b55527ccb18d4db7f52)
* SoftAAC2: reset EOS status after a flushChong Zhang2015-03-091-0/+2
| | | | | bug:19656539 Change-Id: I27f41d885f4fd5bb5a0e29510f808fb84a0f75f3
* SoftAAC2: calculate timestamp from aacSampleRateChong Zhang2015-03-041-2/+2
| | | | | bug: 19602975 Change-Id: Ie2e5a61d627980762080c4a8701b578143d123fa
* am f3c25346: am 66172f5c: Merge "Cast int64_t values to long long before print."Lajos Molnar2014-12-091-2/+2
|\ | | | | | | | | * commit 'f3c253464e0047a28960b27bbee7366d5bd63327': Cast int64_t values to long long before print.
| * Cast int64_t values to long long before print.Bernhard Rosenkränzer2014-12-041-2/+2
| | | | | | | | | | | | | | | | So the "%lld" format will not have Clang warnings in 32-bit and 64-bit builds. Alternative is to use PRId64. Change-Id: I5fafc506fae012748a04ec261af62d9d13475cde Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
* | resolved conflicts for merge of e5ba80c5 to lmp-mr1-dev-plus-aospAndreas Gampe2014-11-271-2/+0
|\ \ | |/ | | | | Change-Id: Iea12c8a6cabf84584e4a89ad80e298c1f4ea3dd7
| * Stagefright: Fix unused variables, functions, valuesAndreas Gampe2014-11-251-5/+0
| | | | | | | | | | | | | | For build-system CFLAGS clean-up, remove unused functions and variables. Change-Id: Ic3dee56b589ea9a693efa1d72ba394036efff168
* | Don't signal an error at the end of a short fileMarco Nelissen2014-10-161-21/+10
|/ | | | | | | Just signaling EOS is sufficient Bug: 17933838 Change-Id: I04a1af57378115731febe7cacb35af5e55d5db83
* Recover from errorsMarco Nelissen2014-10-061-5/+14
| | | | | | | | | When the AAC decoder encounters an error, the lists of submitted and consumed sizes need to be resynchronized, to prevent timestamp drift. Bug: 17638652 Change-Id: Ia6d5f48dc36be355803589e4a5796b01559942b8
* Merge "add AAC audio decoder params for PCM limiter enable" into lmp-devChong Zhang2014-10-011-0/+4
|\
| * add AAC audio decoder params for PCM limiter enableChong Zhang2014-10-011-0/+4
| | | | | | | | | | Bug: 17470065 Change-Id: Ib67aa1c50e3b6c24c4b12b0f31a996cc6874abd1
* | Fix SoftAAC2 flushMarco Nelissen2014-09-251-4/+8
|/ | | | | | | | | If there were less than a full frame worth of samples in the ring buffer, then flush would loop forever trying to empty the ring buffer. Bug: 17646525 Change-Id: I68ec87352a91ce3a96d05e9b3f60a6e7975f9156
* Fix ringbuffer handlingMarco Nelissen2014-09-191-23/+17
| | | | | | | | | | | Explicitly keep track of the number of samples in the ring buffer, rather than inferring it from the difference between the read and write pointer, since the latter cannot distinguish between a completely full and a completely empty buffer. Bug: 17582331 Change-Id: I24d16ce96710209b7457ffad7c4c60201451980f
* Always consider first buffer to be configMarco Nelissen2014-09-181-0/+8
| | | | | | | | for backwards compatibility. Also fix a problem where writing 0 bytes to an empty ringbuffer would treat it as overflowed. Bug: 17567501 Change-Id: I8019da76466576e1b2984e9eccf09bdec593038a
* Fix null pointer dereferenceMarco Nelissen2014-09-171-2/+4
| | | | | Bug: 17544813 Change-Id: I6c94cd3056a99bb42fc71ee583938a2e3806fdc7
* Fix AAC timestamps for multiple aac frames per input bufferMarco Nelissen2014-09-101-126/+197
| | | | | | | Support multiple aac frames per input buffer also for non-ADTS streams, now also works with 5.1 audio. Bug: 16715379
* Revert "Fix AAC timestamps for multiple aac frames per input buffer"Marco Nelissen2014-09-101-191/+126
| | | | | | | | This reverts commit e086387c805311ac87904c3c4d6d4eb08d4b4ee2. (broke multichannel movie playback) Bug: 17454025 Change-Id: I95b82359f87f8beca66f35c34b7e125850a44747
* Fix AAC timestamps for multiple aac frames per input bufferMarco Nelissen2014-09-071-126/+191
| | | | | | | Support multiple aac frames per input buffer also for non-ADTS streams. Bug: 16715379 Change-Id: I84f33d9bb65b6821b2a697f6750356cea98777c4
* stagefright: process CSD regardless of what port was last queuedLajos Molnar2014-08-231-3/+2
| | | | | | | | CSD is always on the input port, so it does not matter which port a buffer was last queued to. Bug: 17216852 Change-Id: I6d00eb4bf3c2e9b9cc3c9918229de958bc465693
* stagefright: allow to resubmit CSDs for SoftAAC2Lajos Molnar2014-08-221-208/+201
| | | | | Bug: 17118001 Change-Id: I45469b9aa6146edf3265b0f05f5ce3592b5daca6
* SoftAAC2: allow reconfiguring output after multiple output buffersRobert Shih2014-08-221-10/+1
| | | | | Bug: 17134697 Change-Id: Iaa8bdccbf1a8ccd3f898e48cfd22a0a443710fdd
* AAC decoder: add support for controlling presentation parametersJean-Michel Trivi2014-08-081-1/+65
| | | | | | | | | Control the dowmixing of the AAC decoder Control the DRC processing of the AAC decoder Bug 16740915 Change-Id: I9b06ea8785f56213ea120ed85eeb360c88223297
* Fix AAC timestampsMarco Nelissen2014-06-261-12/+26
| | | | | | | | | | | When playing an mpeg-2 transport stream with AAC audio, there will be more than one packet per input buffer, resulting in multiple output buffers for each input buffers. Additional timestamps needs to be generated in that case. b/15755476 Change-Id: I2df50b0cb3690eb36d56871daa1263de0028db06
* Remove unneeded codeMarco Nelissen2014-06-101-6/+0
| | | | Change-Id: I33c7424f1858e9f3f7f7ab5fb46db09c2714e02e
* Make AAC decoder behavior after flush consistent with non-flushMarco Nelissen2014-06-051-0/+1
| | | | | | Timestamps don't start at zero, but at least they're consistent. Change-Id: I2ce9cd60655a4ece787802902b679fda01cb6182
* AAC decoder: compensate limiter delayJean-Michel Trivi2014-05-291-211/+516
| | | | | | | | | | | Add decoder limiter delay compensation to decoder wrapper Includes a wrapper function for SoftAAC2.cpp which selects DRC-related decoder parameters according to information in the bitstream and desired DRC characteristics for different playback modes. Bug 9428126 Change-Id: I5041b68760e95cf54073c3addf2b6026b9cfe8c5
* Merge commit '52a23bd3' into manualmergeGlenn Kasten2014-04-031-2/+2
|\ | | | | | | Change-Id: I7a6105f467a2fa3631c62be3d306845e9cf9b365
| * 64-bit: Correction to OMX_U32 and OMX_S32Glenn Kasten2014-04-021-2/+2
| | | | | | | | Change-Id: I9c41bb34c35595ac19a7ab8faaacde8cb4fa9a15
| * Fix aac decoder flushMarco Nelissen2014-04-021-0/+6
| | | | | | | | | | | | b/8543366 Change-Id: I746ffed6289486b802a2292bfc492ea6c780ed0b
| * Fix decoder EOS handlingMarco Nelissen2014-04-021-115/+102
| | | | | | | | | | | | | | | | | | | | Conceptually it should be the same whether EOS is signalled on the last buffer holding data, or an empty buffer that follows. Make it so that this actually behaves the same for mp3, AAC and Vorbis. b/8747869 Change-Id: Idece8ef45689a3ffaf70fb45d19862d7b93b2f92
* | Fix regressionMarco Nelissen2014-02-101-1/+1
| | | | | | | | | | | | CTS DecoderTest.testBug11696552 started failing again, and this fixes that Change-Id: I422c3b249a1d5eb25422573d2106d1f142ccfab6
* | Update AAC decoder wrapper to latest FDK API for output channel countJean-Michel Trivi2013-12-271-2/+5
| | | | | | | | | | | | | | | | | | Rename decoder parameter for the maximum number of PCM output channels, according to FDK AAC decoder interface, as defined in aacdecoder_lib.h Bug 9428126 Change-Id: I2f0f6ca848bdbc8657d8dea589b03238245c0eaf
* | Fix aac decoder flushMarco Nelissen2013-09-201-0/+6
| | | | | | | | | | | | b/8543366 Change-Id: I746ffed6289486b802a2292bfc492ea6c780ed0b
* | Fix decoder EOS handlingMarco Nelissen2013-09-041-115/+102
|/ | | | | | | | | | Conceptually it should be the same whether EOS is signalled on the last buffer holding data, or an empty buffer that follows. Make it so that this actually behaves the same for mp3, AAC and Vorbis. b/8747869 Change-Id: Idece8ef45689a3ffaf70fb45d19862d7b93b2f92
* Revert "Fix decoder EOS handling"Eric Laurent2013-08-301-102/+115
| | | | | | | This reverts commit 9da36a6c8df70a5c8179ac78fab33cfbb5078cb2. Bug: 10571297. Change-Id: I76f20fe34872ea54fce626077462fb86c8c3f02e
* Fix decoder EOS handlingMarco Nelissen2013-08-301-115/+102
| | | | | | | | | | Conceptually it should be the same whether EOS is signalled on the last buffer holding data, or an empty buffer that follows. Make it so that this actually behaves the same for mp3, AAC and Vorbis. b/8747869 Change-Id: Idece8ef45689a3ffaf70fb45d19862d7b93b2f92
* Fix our software decoders to reset (more of) their internal stateAndreas Huber2013-06-031-0/+3
| | | | | | | properly on a transition from idle->loaded. Change-Id: I56ccfeef24c391e50e42b522194206e35c7ab700 related-to-bug: 9105408
* Make sure the drain buffer is big enoughMarco Nelissen2013-04-161-3/+6
| | | | | | b/8614909 Change-Id: I9d973dcd74100b793791359c262b821207ff9ddd
* Merge "Better default AAC DRC setting" into jb-mr2-devJean-Michel Trivi2013-04-161-0/+3
|\
| * Better default AAC DRC settingJean-Michel Trivi2013-04-151-0/+3
| | | | | | | | | | | | | | | | By default, use boost and attenuation together. bug 7140036 Change-Id: Ie0565f9e5cd24f7a59b5a218b4e6186661832601
* | Fix AAC decoder reconfigurationMarco Nelissen2013-04-151-0/+6
|/ | | | | | | | The recent flush() changed made the codec behave differently after a reconfigure. Now we reset its state properly again. b/8543366 Change-Id: I8807b5ab02249b43fc1cf315d4e8d4ceb3f9b298
* Fix MediaCodec.flush()Marco Nelissen2013-04-121-54/+49
| | | | | | | | | | There were two problems here. One was that the skip/cut buffer wasn't cleared when it should be, and the second was that we were always sending the first buffer of encoded data to the AAC decoder twice. b/8543366 Change-Id: Ic040edabf16cccd1f6ef8c9e5c9cfbacbdd8a089
* Make codecs reconfigurableMarco Nelissen2012-12-181-0/+5
| | | | Change-Id: I3dd46cb4401493becbf6152f4dcd5a8f1e9a0b44
* AAC DRC reference level for mobile is -16dBJean-Michel Trivi2012-10-191-1/+1
| | | | | | | | | Use -16dB as the default DRC reference level when decoding streams with DRC metadata. Bug 7370764 Change-Id: I900cee22f32384a5657fb041b69d42657bcddf09
* Bug 7170947 Configure AAC decoder for mobile DRC settingsJean-Michel Trivi2012-10-021-5/+37
| | | | | | | | | | | | Configure the AAC decoder to use the modile DRC settings when decoding streams with DRC metadata. Settings are: - target reference level of -12dB - DRC compression factor (attenuation) at max These settings can be overridden by platform properties if the default values are to be modified. Change-Id: If329fe566497685b735abe4e4b9a5e01697c063b