Commit Graph

86 Commits

Author SHA1 Message Date
Martin Storsjo 4edc5c4808 Merge remote-tracking branch 'aosp/master' 2019-03-15 14:03:19 +02:00
Xin Li 8e6b62378b DO NOT MERGE - Merge pi-platform-release (PPRL.190205.001) into stage-aosp-master
Bug: 124234733
Change-Id: I7ed72a237fd7f0aa984b8077a369a1ddb5ba253b
2019-02-12 09:53:34 -08:00
Jean-Michel Trivi b30e02cfd3 Merge "Add QMF analysis band sanity check" 2019-02-01 15:34:03 +00:00
Martin Storsjo 02103fd630 Merge remote-tracking branch 'aosp/master' 2019-01-21 15:54:25 +02:00
Jean-Michel Trivi ed56e77acb Merge "Do not support channel configuration change within PCE" 2019-01-15 18:46:27 +00:00
Fraunhofer IIS FDK c47066df27 Add QMF analysis band sanity check
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: I0001e0996a970e91a21bfe8ba051fdba0c06c219
2019-01-15 12:19:05 -05:00
Fraunhofer IIS FDK 5c54fa5387 Add AOT specific number of qmf bands sanity check in SpatialSpecificConfig()
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: Ic106c4371c5ac17cb832c7d9db042bcc9d1e7a09
2019-01-03 10:25:40 -05:00
Fraunhofer IIS FDK e81e8c2cc0 Do not support channel configuration change within PCE
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: I94bddad6c88148dd01fff0850e261d98ef691793
2019-01-02 14:01:25 -05:00
Fraunhofer IIS FDK f4fc574fdd Prevent energy overflow in acelp calc_period_factor()
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: I5a28fcb09a1b0b0d1f8861642c64185937021154
2018-12-28 19:42:49 -05:00
Fraunhofer IIS FDK 0ca9742ad2 Skip CRC check when flushing or concealment is applied
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: I0f340eb0fe7f5ee8778a73fbe27199ba4915de70
2018-12-27 17:55:50 -05:00
Fraunhofer IIS FDK 0cebd077b6 Apply sbrDecoder_Parse() function for all explict SBR elements
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: I97471c4db309307a21100f1d5d88d3c4e24d2670
2018-12-27 14:51:52 -05:00
Fraunhofer IIS FDK 8f5b1e47d6 Add missing break in order to avoid a fallthrough in setConcealMethod()
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: I10da23ee81cfc48d4a67c25006e6fd48ed985c69
2018-12-27 14:39:43 -05:00
Fraunhofer IIS FDK 64134e60b3 Add FDK_FALLTHROUGH macro to prevent implicit-fallthrough compiler warnings
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I9f9064fb63ac40e18f245c00b7375b4874f2925b
2018-12-27 14:17:51 -05:00
Fraunhofer IIS FDK fa8a80d890 Signed Integer Overflows in imlt_block()
Bug: 112890242
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I98fda0eea7f7223d76df31776c6723b618e5b581
2018-12-26 21:15:07 -05:00
Jean-Michel Trivi 4899e80a17 Merge "Unsigned Integer Overflow in InitSegmentBitfield()" 2018-12-27 02:10:25 +00:00
Jean-Michel Trivi a5cf260931 Merge "Unsigned Integer Overflow in CAacDecoder_PreRollExtensionPayloadParse()" 2018-12-27 01:58:50 +00:00
Jean-Michel Trivi 4053380094 Merge "Prevent overflow in usac filters" 2018-12-27 01:54:49 +00:00
Jean-Michel Trivi 3bb4fe68a6 Merge "Signed Integer Overflow in CLpd_FAC_Acelp2Mdct()" 2018-12-27 01:51:53 +00:00
Fraunhofer IIS FDK 950d8efb1a Unsigned Integer Overflow in InitSegmentBitfield()
Bug: 112662995
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Ida3b1d49dc35a03a3ff02f6e150cfb55e9e1da11
2018-12-26 19:45:18 -05:00
Fraunhofer IIS FDK 512898b298 Unsigned Integer Overflow in CAacDecoder_PreRollExtensionPayloadParse()
Bug: 112661610
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I96e2c10328fec8fd12f9c752904860b87a72bed2
2018-12-26 19:39:27 -05:00
Fraunhofer IIS FDK 8166502969 Prevent overflow in usac filters
Bug: 112663886
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Ie7af65a1a556afb141ea5272f70bfea11881ac30
2018-12-26 19:19:34 -05:00
Fraunhofer IIS FDK 1450575edf Signed Integer Overflow in CLpd_FAC_Acelp2Mdct()
Bug: 112663384
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I5e41f1455ab35060c136abb7f4945fe9a545633c
2018-12-26 18:42:14 -05:00
Fraunhofer IIS FDK 9edc5864fa Signed Integer Overflow in E_UTIL_preemph()
Bug: 112661356
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Ibc7120aba3d357bfb8d751d80d99a6e0f51473e4
2018-12-26 18:20:17 -05:00
Xin Li 20c336953f DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master
Bug: 120502534
Change-Id: Ie44ac2dc553c40a8a9bd9b42b00a0b01cfa9799a
2018-12-11 13:59:07 -08:00
Fraunhofer IIS FDK 24648cbd4f Integer overflow fix in InvMdctTransformLowDelay_fdk()
Bug: 112892194
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: I47fdb5b51afd8c588607bf206d4ae3ef4ba1cdb3
2018-11-28 18:09:43 -05:00
Treehugger Robot b8a384b0cd Merge "Add sanity check for allowed LPD sampling rate." 2018-11-28 21:21:41 +00:00
Fraunhofer IIS FDK c6b4af4a6c Add sanity check for allowed LPD sampling rate.
Bug: 112662981
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: I0702024adc07ed463db795dd48f4efd3de1d7896
Merged-In: Idc9c44a9755b8151d5c7d8107696f43ac592413b
2018-11-28 19:15:09 +00:00
Fraunhofer IIS FDK eb0711921b Unsigned Integer Overflow in aacDecoder_DecodeFrame().
Bug: 112661742
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: I617dd545f9ea0aca5a5e7d214bbc35f089bc355d
2018-11-27 12:30:10 -05:00
Martin Storsjo 2326faaf8f Merge remote-tracking branch 'aosp/master' 2018-11-06 09:03:05 +02:00
Treehugger Robot a4d6ca7b07 Merge "Fix huffman decoder escape sequence length limitation." 2018-11-05 22:58:33 +00:00
Fraunhofer IIS FDK f90be06503 Fix huffman decoder escape sequence length limitation.
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Bug: 112661753

Change-Id: Ib05cc2c065739c27b9720a24f90d0ce4d15bf601
Merged-In: 62623d8d79
2018-11-05 14:43:14 -05:00
Fraunhofer IIS FDK 0e5db9fee9 Unify audio element loop abort criterion in ER syntax
Bug: 112891548
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Iea56cf804cfb9d396810124c718fc91bdff68392
(cherry picked from commit f2bc07da2e)
2018-10-20 00:17:00 +00:00
Fraunhofer IIS FDK ce97e7d55e Always check whether given channel config is supported.
Bug: 112660981
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I169161dd31bc624f2cab6be2b4c6518946ed32ba
Merged-In: I169161dd31bc624f2cab6be2b4c6518946ed32ba
(cherry picked from commit 25b209f229)
2018-10-20 00:16:57 +00:00
Martin Storsjo 69a9b1a051 Merge remote-tracking branch 'aosp/master' 2018-10-16 09:45:37 +03:00
Fraunhofer IIS FDK 9db742a7d3 Fix call to function sbrDecoder_Header() through pointer to incorrect function type.
While testing FDK in Android P DP3 x86 64bit emulator we observed a runtime error.
The function parameter of the callback didn't use a typeless pointer.
Following patch contains a revised sbr decoder callback function with explicit data type cast to be inline with all other callbacks in FDK.

Bug: 112662306
Bug: 116075869
Test: on x86: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: Id224de22beaf2eb9631babd838c4c3ceae0a801e
Merged-In: Idc9c44a9755b8151d5c7d8107696f43ac592413b
2018-10-12 12:02:30 -04:00
Jean-Michel Trivi 28234107a7 Merge "Unify audio element loop abort criterion in ER syntax" into pi-dev 2018-10-01 22:19:05 +00:00
Fraunhofer IIS FDK 25b209f229 Always check whether given channel config is supported.
Bug: 112660981
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I169161dd31bc624f2cab6be2b4c6518946ed32ba
Merged-In: I169161dd31bc624f2cab6be2b4c6518946ed32ba
2018-09-28 16:47:37 +00:00
Fraunhofer IIS FDK f2bc07da2e Unify audio element loop abort criterion in ER syntax
Bug: 112891548
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Iea56cf804cfb9d396810124c718fc91bdff68392
2018-09-27 14:28:50 -07:00
Fraunhofer IIS FDK 9744e41c40 Prevent bit buffer counter overflow.
While long-term test we discovered a bit counter overflow in the bit buffer.
The bit buffer state was only used by HCR and RVLC tool and can easily be substituted with FDKgetValidBits() call.
The following patch completely removes the bit counter and all its obsolete functions.

Bug: 112662184
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: Icee0519d26a2aa62367d2dece59cd3d60ffcade7
(cherry picked from commit 15292f7e96)
2018-09-10 23:19:19 +00:00
Fraunhofer IIS FDK 61381bd0f4 Break audio element loop in case element_count becomes too large.
Bug: 112891564
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I35f02d23c0cfd620088291a52d9996a0d5a17199
(cherry picked from commit 3347cfb91a)
2018-09-10 23:19:16 +00:00
Jean-Michel Trivi 42f714f2ab Merge "Prevent bit buffer counter overflow." into pi-dev 2018-09-06 23:02:17 +00:00
Jean-Michel Trivi 4d801e44ba Merge "Break audio element loop in case element_count becomes too large." into pi-dev 2018-09-06 21:15:30 +00:00
Fraunhofer IIS FDK f44b50b835 Prevent overflow in concealment clipping check
Bug: 112890225
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: Ie386e4b6fe5cdb38180f673edde8f84c36c7b522
2018-09-05 15:03:18 -07:00
Fraunhofer IIS FDK 3347cfb91a Break audio element loop in case element_count becomes too large.
Bug: 112891564
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I35f02d23c0cfd620088291a52d9996a0d5a17199
2018-09-05 14:54:44 -07:00
Martin Storsjo 9b47a5e569 Add tighter sanity checks in CBlock_GetEscape
We can't read 31 bits of value here, since that would place the
topmost bit in the sign bit.

Fixes: 3480/clusterfuzz-testcase-4573445423628288

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2018-09-03 10:10:12 +03:00
Martin Storsjo 99c95ca3ea Initialize the transport decoder library with TPDEC_PARAM_IGNORE_BUFFERFULLNESS
Prior to FDKv2, this was what the library used to do.

This makes sure that the decoder actually decodes ADTS frames directly
if feeding full ADTS frames to the decoder. Previously after FDKv2,
the decoder would only start decoding ADTS frames after feeding a few
frames.
2018-09-03 09:57:53 +03:00
Martin Storsjo 59995402a5 Add an fdk_ prefix to t_qua_gain7b
This fixes symbol collisions, if libfdk-aac and libopencore-amr are
statically linked into the same binary.
2018-09-02 23:18:06 +03:00
Martin Storsjo b95b15e51d Merge remote-tracking branch 'aosp/master' 2018-09-02 23:16:58 +03:00
Fraunhofer IIS FDK 15292f7e96 Prevent bit buffer counter overflow.
While long-term test we discovered a bit counter overflow in the bit buffer.
The bit buffer state was only used by HCR and RVLC tool and can easily be substituted with FDKgetValidBits() call.
The following patch completely removes the bit counter and all its obsolete functions.

Bug: 112662184
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: Icee0519d26a2aa62367d2dece59cd3d60ffcade7
2018-08-17 16:36:07 -07:00
Fraunhofer IIS FDK f19e863cce Fix unsigned integer overflow in aacDecoder_UpdateBitStreamCounters()
Bug: 80314771
Test: play AAC content over 2GB
Change-Id: If791305bf95680b945971f9dc5f58495cbf6c8cd
2018-05-25 15:38:52 -07:00