aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [automerger] DO NOT MERGE MPEG-4 AAC Decoder: check against invalid height ↵Android Build Merger (Role)2018-01-310-0/+0
|\ | | | | | | | | | | info am: 4a54666f3e am: adc8026945 am: 6dd431c768 am: 4523eae489 skipped: b2d0afac05 am: 14728790d3 Change-Id: I7899630b98b1a7a1c8de7559aaaf9bc44a250c66
| * [automerger] DO NOT MERGE MPEG-4 AAC Decoder: check against invalid height ↵Android Build Merger (Role)2018-01-310-0/+0
| |\ | | | | | | | | | | | | | | | info am: 4a54666f3e am: adc8026945 am: 6dd431c768 am: 4523eae489 skipped: b2d0afac05 Change-Id: Ie400d21f7fefabed6c91b4b04880bd80e6153b20
| | * [automerger] DO NOT MERGE MPEG-4 AAC Decoder: check against invalid height ↵Android Build Merger (Role)2018-01-311-4/+19
| | |\ | | | | | | | | | | | | | | | | | | | | info am: 4a54666f3e am: adc8026945 am: 6dd431c768 am: 4523eae489 Change-Id: I14943f95747e93f1e85cf560fe63fa11b168c9e3
| | | * [automerger] DO NOT MERGE MPEG-4 AAC Decoder: check against invalid height ↵Android Build Merger (Role)2018-01-311-4/+19
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | info am: 4a54666f3e am: adc8026945 am: 6dd431c768 Change-Id: I41f5e9a24af3c7a979c628df1be114185e02a8f7
| | | | * [automerger] DO NOT MERGE MPEG-4 AAC Decoder: check against invalid height ↵Android Build Merger (Role)2018-01-311-4/+19
| | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | info am: 4a54666f3e am: adc8026945 Change-Id: I9d3b87e62af0f54c01ced2e3aac41fa8e96cb056
| | | | | * [automerger] DO NOT MERGE MPEG-4 AAC Decoder: check against invalid height ↵Android Build Merger (Role)2018-01-311-4/+19
| | | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | info am: 4a54666f3e Change-Id: If7874381cdfce6cced128082b35cbd6ab21f709d
| | | | | | * DO NOT MERGE MPEG-4 AAC Decoder: check against invalid height infoJean-Michel Trivi2018-01-131-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In CProgramConfig_ReadHeightExt prevent stack overflow from invalid FrontElementHeightInfo array value. Bug: 70637599 Test: see bug Change-Id: I145414d81d7a7be711672c12f44b537c12eea308
* | | | | | | Merge "DO NOT MERGE Prevent out of bound memory access in GetInvInt" into ↵Jean-Michel Trivi2017-11-030-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-dev am: 5565e7791f -s ours am: e1d517a909 am: c0719825a2 am: 022a305d55 am: 75fe8cb95e -s ours am: 41363eb993 Change-Id: Ia506184ac99982b5602daccfa0ef2471965ef99a
| * | | | | | Merge "DO NOT MERGE Prevent out of bound memory access in GetInvInt" into ↵Jean-Michel Trivi2017-11-030-0/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-dev am: 5565e7791f -s ours am: e1d517a909 am: c0719825a2 am: 022a305d55 am: 75fe8cb95e -s ours Change-Id: I0c790baf5af9e6d15efbbf7cd175770696aa7391
| | * | | | | Merge "DO NOT MERGE Prevent out of bound memory access in GetInvInt" into ↵Jean-Michel Trivi2017-11-030-0/+0
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-dev am: 5565e7791f -s ours am: e1d517a909 am: c0719825a2 am: 022a305d55 Change-Id: I15f8ada5cbf90deefb7e9d2221a58a3b8f8dd038
| | | * | | | Merge "DO NOT MERGE Prevent out of bound memory access in GetInvInt" into ↵Jean-Michel Trivi2017-11-030-0/+0
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-dev am: 5565e7791f -s ours am: e1d517a909 am: c0719825a2 Change-Id: I526341d43af40089117110cfff2f41586121e5ff
| | | | * | | Merge "DO NOT MERGE Prevent out of bound memory access in GetInvInt" into ↵Jean-Michel Trivi2017-11-030-0/+0
| | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-dev am: 5565e7791f -s ours am: e1d517a909 Change-Id: Id97f3b0f0b59445fe85ab7c957e84d6be65f565b
| | | | | * | Merge "DO NOT MERGE Prevent out of bound memory access in GetInvInt" into ↵Jean-Michel Trivi2017-11-030-0/+0
| | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-dev am: 5565e7791f -s ours Change-Id: I30f8ee01f8a715cabf8edb10edf15bad032f5001
| | | | | | * Merge "DO NOT MERGE Prevent out of bound memory access in GetInvInt" into ↵TreeHugger Robot2017-11-031-4/+8
| | | | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-dev
| | | | | | | * DO NOT MERGE Prevent out of bound memory access in GetInvIntJean-Michel Trivi2017-10-301-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In GetInvInt(int) function, malicious content can access memory outside of the invCount array. Always bound access to valid indices. Test: see bug for malicious content, decoded with "stagefright -s -a" Bug: 65025048 Change-Id: Id1f1582bc5afc76e3e90128d92034a5899a9b51e
* | | | | | | | Fix out of bound memory access in lppTransposer am: 6d3dd40e20 am: ↵Jean-Michel Trivi2017-11-031-3/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2a7b438754 am: fca1027937 am: d8e897ae9e am: 6e15baff97 am: 06c27a9feb Change-Id: Id5bfc33a815aec69a302b5ba1460ad2d556c9179
| * | | | | | | Fix out of bound memory access in lppTransposer am: 6d3dd40e20 am: ↵Jean-Michel Trivi2017-11-031-3/+7
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2a7b438754 am: fca1027937 am: d8e897ae9e am: 6e15baff97 Change-Id: Ic11d63d594dabfb8359d19eb36f9bdcc56abd2ac
| | * | | | | | Fix out of bound memory access in lppTransposer am: 6d3dd40e20 am: ↵Jean-Michel Trivi2017-11-031-3/+7
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2a7b438754 am: fca1027937 am: d8e897ae9e Change-Id: Id2b60900e4abe08d2f1c1612e7c729c75f2e61c0
| | | * | | | | Fix out of bound memory access in lppTransposer am: 6d3dd40e20 am: 2a7b438754Jean-Michel Trivi2017-11-031-3/+7
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: fca1027937 Change-Id: I8803d858a432aea8fba8b7ec29ba28458e7418d8
| | | | * | | | Fix out of bound memory access in lppTransposer am: 6d3dd40e20Jean-Michel Trivi2017-11-031-3/+7
| | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 2a7b438754 Change-Id: If16bd906722b4a639be890fcc98bd21db253f404
| | | | | * | | Fix out of bound memory access in lppTransposerJean-Michel Trivi2017-11-031-3/+7
| | | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 6d3dd40e20 Change-Id: I4a2b70c82e6bc42b3a0ec00efeb100fe6971a62c
| | | | | | * | Fix out of bound memory access in lppTransposerJean-Michel Trivi2017-10-311-3/+7
| | | | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In TRANSPOSER_SETTINGS, initialize the whole bwBorders array to a reasonable value to guarantee correct termination in while loop in lppTransposer function. This fixes the reported bug. For completeness: - clear the whole bwIndex array instead of noOfPatches entries only. - abort criterion in while loop to prevent potential infinite loop, and limit bwIndex[patch] to a valid range. Test: see bug for malicious content, decoded with "stagefright -s -a" Bug: 65280786 Change-Id: I16ed2e1c0f1601926239a652ca20a91284151843
* | | | | | | DO NOT MERGE Prevent out of bound memory access in GetInvInt am: d0e8397b7b ↵Jean-Michel Trivi2017-11-030-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 7462464e43 am: 2bebb8fb65 am: d157498711 -s ours am: 724b40ccce Change-Id: Ia566e7de7c215e77bd6d6f0f1f069a855b9edc02
| * | | | | | DO NOT MERGE Prevent out of bound memory access in GetInvInt am: d0e8397b7b ↵Jean-Michel Trivi2017-11-030-0/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 7462464e43 am: 2bebb8fb65 am: d157498711 -s ours Change-Id: Ica332afb180137b27845c06d35108928102826f6
| | * | | | | DO NOT MERGE Prevent out of bound memory access in GetInvInt am: d0e8397b7b ↵Jean-Michel Trivi2017-11-030-0/+0
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 7462464e43 am: 2bebb8fb65 Change-Id: I4645d168431438e8bfbfc28514f21aad015633ac
| | | * | | | DO NOT MERGE Prevent out of bound memory access in GetInvInt am: d0e8397b7bJean-Michel Trivi2017-11-030-0/+0
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 7462464e43 Change-Id: I064298bc197e53e6f5a6ce1872cb77c9444d8dee
| | | | * | | DO NOT MERGE Prevent out of bound memory access in GetInvIntJean-Michel Trivi2017-11-030-0/+0
| | | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: d0e8397b7b Change-Id: If35860a327395c578e6f02b3706db0fd041e719e
| | | | | * | DO NOT MERGE Prevent out of bound memory access in GetInvIntJean-Michel Trivi2017-10-301-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In GetInvInt(int) function, malicious content can access memory outside of the invCount array. Always bound access to valid indices. Test: see bug for malicious content, decoded with "stagefright -s -a" Bug: 65025048 Change-Id: Iff889601828f95b82d9291075f3909922ef533ef
* | | | | | | DO NOT MERGE Prevent out of bound memory access in GetInvInt am: 070e7b81c0 ↵Jean-Michel Trivi2017-11-030-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 6fac7101c6 am: 96fbbc31db -s ours am: 272ae57aa8 Change-Id: Id7da9dba87a2951901e0732e666cd84b1e6d573e
| * | | | | | DO NOT MERGE Prevent out of bound memory access in GetInvInt am: 070e7b81c0 ↵Jean-Michel Trivi2017-11-030-0/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 6fac7101c6 am: 96fbbc31db -s ours Change-Id: Icab41a4c796ad9f31128dd8289ea4839d5823605
| | * | | | | DO NOT MERGE Prevent out of bound memory access in GetInvInt am: 070e7b81c0Jean-Michel Trivi2017-11-031-4/+8
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 6fac7101c6 Change-Id: If3c68bd6341d7c9eff5257ec41ca6c1a2161077c
| | | * | | | DO NOT MERGE Prevent out of bound memory access in GetInvIntJean-Michel Trivi2017-11-031-4/+8
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 070e7b81c0 Change-Id: Ibcddd5c0e53aaae0d26e1c33c6e42bc7268cf6a1
| | | | * | | DO NOT MERGE Prevent out of bound memory access in GetInvIntJean-Michel Trivi2017-10-301-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In GetInvInt(int) function, malicious content can access memory outside of the invCount array. Always bound access to valid indices. Test: see bug for malicious content, decoded with "stagefright -s -a" Bug: 65025048 Change-Id: Iff889601828f95b82d9291075f3909922ef533ef
* | | | | | | DO NOT MERGE Prevent out of bound memory access in GetInvIntJean-Michel Trivi2017-11-031-4/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 51f38b3a6d Change-Id: I01d4479fd2194e85b77b11d678facb7f581ff517
| * | | | | | DO NOT MERGE Prevent out of bound memory access in GetInvIntJean-Michel Trivi2017-11-021-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In GetInvInt(int) function, malicious content can access memory outside of the invCount array. Always bound access to valid indices. Test: see bug for malicious content, decoded with "stagefright -s -a" Bug: 65025048 Change-Id: I92d4a14519f45d5a329d7f69f21f2aef0a8c6daa
* | | | | | | 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 * commit '0cf3a7671ad40c1036387d55462f1710a44eec31': Fix aacDecoder_drcExtractAndMap() Change-Id: I7ca67acba7d69472865efa84a63a49c7768487c5
| * | | | | Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425 am: ↵Jean-Michel Trivi2016-04-191-9/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b762ff3e4f am: 1a54e8f638 am: 78653b30e9 am: 0a20959871 am: 6318d60241 am: 7147e71a75 am: 1de50b286f am: d110691d01 * commit 'd110691d01e15a555d84fcd98e4b275dd38b37ba': Fix aacDecoder_drcExtractAndMap() Change-Id: I6c009e94d626cc1dd6ec1510fd2e07c1b3a4031a
| | * | | | Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425 am: ↵Jean-Michel Trivi2016-04-191-9/+1
| |/| | | | | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b762ff3e4f am: 1a54e8f638 am: 78653b30e9 am: 0a20959871 am: 6318d60241 am: 7147e71a75 am: 1de50b286f * commit '1de50b286fdadc07f94e0d8fae69a564796ab12a': Fix aacDecoder_drcExtractAndMap() Change-Id: Ib1dce026d6ddc9fdfa68cc5b4213a2685dc1ac17
| | * / / Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425 am: ↵Jean-Michel Trivi2016-04-191-9/+1
| |/| | | | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b762ff3e4f am: 1a54e8f638 am: 78653b30e9 am: 0a20959871 am: 6318d60241 am: 7147e71a75 * commit '7147e71a75a48009e6d2b835422767cf466813d8': Fix aacDecoder_drcExtractAndMap() Change-Id: I7f677fae038640739834d4c44309680b78748acf
| | * | Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425 am: ↵Jean-Michel Trivi2016-04-191-9/+1
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b762ff3e4f am: 1a54e8f638 am: 78653b30e9 am: 0a20959871 am: 6318d60241 * commit '6318d6024194f89d809f4e22266105f27389f41b': Fix aacDecoder_drcExtractAndMap() Change-Id: I1a836bd8b024948f18b2d2c0e912601722f887bc
| | | * | Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425 am: ↵Jean-Michel Trivi2016-04-191-9/+1
| | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b762ff3e4f am: 1a54e8f638 am: 78653b30e9 am: 0a20959871 * commit '0a209598713cccc4f10e9c0036df487bea5af312': Fix aacDecoder_drcExtractAndMap() Change-Id: If2339aad0e0e825302773f2f04f0dd43cc754ac6
| | | * | Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425 am: ↵Jean-Michel Trivi2016-04-191-9/+1
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b762ff3e4f am: 1a54e8f638 am: 78653b30e9 * commit '78653b30e9c1907d4c6eefa30ff954e0c4398447': Fix aacDecoder_drcExtractAndMap() Change-Id: I53cabb3bab17e8754a03648ffac356e4a3a05e28
| | | | * Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425 am: b762ff3e4fJean-Michel Trivi2016-04-191-9/+1
| | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 1a54e8f638 * commit '1a54e8f6385f9cbb8d950f0ff003bb71daa62caf': Fix aacDecoder_drcExtractAndMap() Change-Id: I3c992ce7d3a60685f75a944d8d588fb9ff0d050c
| | | | * Fix aacDecoder_drcExtractAndMap() am: 97a1b8140d am: be3ff35425Jean-Michel Trivi2016-04-191-9/+1
| | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: b762ff3e4f * commit 'b762ff3e4fdc29ce517824e19d187ba667e80623': Fix aacDecoder_drcExtractAndMap() Change-Id: I29eaf51574e1834f223a9755a353abd90fcf912b
| | | | * Fix aacDecoder_drcExtractAndMap() am: 97a1b8140dJean-Michel Trivi2016-04-191-9/+1
| | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: be3ff35425 * commit 'be3ff35425f026fb3714f1bd45c40aee6737fe05': Fix aacDecoder_drcExtractAndMap() Change-Id: I82060408eab9a8990c511af4c6be8a588d2a1b49
| | | | | * Fix aacDecoder_drcExtractAndMap()Jean-Michel Trivi2016-04-191-9/+1
| | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 97a1b8140d * commit '97a1b8140d410ed3942006aa22b40ccb322f747b': Fix aacDecoder_drcExtractAndMap() Change-Id: I1bf523e635139d71ef124462bd61e0da06191d35
| | | | | * Fix aacDecoder_drcExtractAndMap()Jean-Michel Trivi2016-04-151-9/+1
| | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Parse DVB DRC data only when numThreads is below MAX_DRC_THREADS. The post-increment is necessary as it is used in fill element DRC data section. This solution parses as many DRC payloads as allowed by MAX_DRC_THREADS and skips all remaining DRC elements in the stream. Bug 27792766 Bug 26751339 Change-Id: Ie1641888bac1757c4d1491119f977fc5d436eaea
* | | | | AAC/SBR decoder improvements and bugfixesJean-Michel Trivi2016-04-0826-142/+1237
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * AAC-Decoder - Add support for AOT 20 (ER-AAC scalable) (base layer only) - Add support for AAC as used in Digital Radio Mondiale (DRM30/DRM+) Modified file(s): libAACdec/src/aacdecoder.cpp libAACdec/src/aacdecoder_lib.cpp libFDK/src/FDK_core.cpp libFDK/src/FDK_tools_rom.cpp libMpegTPDec/src/tpdec_asc.cpp libMpegTPDec/src/tpdec_lib.cpp libMpegTPDec/src/version libSBRdec/include/sbrdecoder.h libSBRdec/src/env_extr.h libSBRdec/src/sbrdecoder.cpp Added file(s): libMpegTPDec/src/tpdec_drm.cpp libMpegTPDec/src/tpdec_drm.h - Fix sanity check in HCR module that was performed at the wrong point in time. Modified file(s): libAACdec/src/aacdecoder_lib.cpp libAACdec/src/block.cpp - Extend core sampling rate support up to 96 kHz. Modified file(s): libAACdec/src/aac_rom.cpp libAACdec/src/aacdecoder.cpp libAACdec/src/aacdecoder_lib.cpp - Return correct audio output channel description according number of output channels. Modified file(s): libAACdec/src/aacdecoder_lib.cpp - Indroduce decoder intern output buffer. This change allows to use framework output buffer with the actual size of the deocder output channels. Modified file(s): libAACdec/include/aacdecoder_lib.h libAACdec/src/aacdecoder.h libAACdec/src/aacdecoder_lib.cpp * SBR-Decoder - Increase robustness for erroneous input data. - Improve error concealment performance. - Fix handling of lowest sub-band for LD-SBR Modified file(s): libAACdec/src/aacdecoder.cpp libAACdec/src/aacdecoder_lib.cpp libSBRdec/src/env_calc.cpp libSBRdec/src/env_dec.cpp libSBRdec/src/env_extr.cpp libSBRdec/src/env_extr.h libSBRdec/src/sbr_dec.cpp libSBRdec/src/sbr_rom.cpp libSBRdec/src/sbr_rom.h libSBRdec/src/sbrdecoder.cpp - Add QMF delay compensation for ELD v2 streams decoded with the complex low delay filter-bank. Modified file(s): libSBRdec/src/sbr_dec.cpp libSBRdec/src/sbr_dec.h libSBRdec/src/sbrdecoder.cpp - Introduce a different handling of frames to be flushed dependent on whether there are delayed frames available or not. Modified file(s): libSBRdec/src/sbr_ram.h libSBRdec/src/sbrdecoder.cpp - Calculate the correct number of samples for dual-mono copy in case of no available PS data. Modified file(s): libSBRdec/src/sbrdecoder.cpp * SYS-Library - Change include order of genericStds.h to prevent conflict with definitions which are also used in math.h. Modified file(s): libSYS/src/genericStds.cpp Change-Id: I3ecffbad85f39b056213107955cfadbeb3f4b6e1
* | | | | AAC/SBR encoder improvementsJean-Michel Trivi2016-04-0835-327/+1206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * AAC-Encoder - AAC-ELD core encoder audio quality tuning. Update tuning tables, configure bitreservoir size and adapt afterburner iteration value. Modified file(s): libAACenc/src/aacenc.h libAACenc/src/aacenc_lib.cpp libAACenc/src/adj_thr.cpp libAACenc/src/adj_thr.h libAACenc/src/adj_thr_data.h libAACenc/src/bandwidth.cpp libAACenc/src/pnsparam.cpp libAACenc/src/qc_main.cpp - Introduze dead zone quantizer for ELD to improve audio quality at certain configurations. Modified file(s): libAACenc/src/aacenc_lib.cpp libAACenc/src/adj_thr.cpp libAACenc/src/adj_thr.h libAACenc/src/qc_data.h libAACenc/src/qc_main.cpp libAACenc/src/quantize.cpp libAACenc/src/quantize.h libAACenc/src/sf_estim.cpp libAACenc/src/sf_estim.h - Revise TNS module to improve ELD audio quality. - Use new window function and separate prediction gain according TNS filters. - Add missing memory initilization to TNS configuration. Modified file(s): libAACenc/src/aacenc_lib.cpp libAACenc/src/aacenc_tns.cpp libAACenc/src/aacenc_tns.h libAACenc/src/psy_main.cpp libAACenc/src/tns_func.h * SBR-Encoder - Revise frequency resolution calculation and handle differently depending on number of envelopes and split frames decision. - Add and adjust ELD SBR tuning tables. Modified file(s): libSBRenc/include/sbr_encoder.h libSBRenc/src/bit_sbr.h libSBRenc/src/env_est.cpp libSBRenc/src/fram_gen.cpp libSBRenc/src/fram_gen.h libSBRenc/src/mh_det.cpp libSBRenc/src/sbr_def.h libSBRenc/src/sbr_encoder.cpp libSBRenc/src/sbr_rom.cpp libSBRenc/src/tran_det.cpp - Replace ELD transient detector with fast implementation. Modified file(s): libSBRenc/src/env_est.cpp libSBRenc/src/env_est.h libSBRenc/src/fram_gen.cpp libSBRenc/src/sbr_def.h libSBRenc/src/sbr_encoder.cpp libSBRenc/src/tran_det.cpp libSBRenc/src/tran_det.h * FDK-Library - Introduce generic compare function in tools library. Modified file(s): libFDK/include/fixpoint_math.h libFDK/src/FDK_core.cpp * SBR-Encoder - Revise ELD frame splitter to improve bit distribution. Modified file(s): libSBRenc/include/sbr_encoder.h libSBRenc/src/bit_sbr.h libSBRenc/src/env_est.cpp libSBRenc/src/fram_gen.cpp libSBRenc/src/fram_gen.h libSBRenc/src/sbr_encoder.cpp libSBRenc/src/tran_det.cpp libSBRenc/src/tran_det.h - Configure amplitude resolution according the tonality of the audio signal. Modified file(s): libSBRenc/include/sbr_encoder.h libSBRenc/src/bit_sbr.h libSBRenc/src/env_est.cpp libSBRenc/src/nf_est.cpp libSBRenc/src/nf_est.h libSBRenc/src/sbr_def.h libSBRenc/src/sbr_encoder.cpp libSBRenc/src/ton_corr.cpp libSBRenc/src/ton_corr.h libSBRenc/src/tran_det.cpp libSBRenc/src/tran_det.h Change-Id: Ie0672b989a06ee63b50240616b8d1d4b790b6cb2