aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | | | | | | * | | | 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 am: 67a321cd17 am: 0c25940e1c am: a9a123b2fb Change-Id: I11f93ad48d89bef4647b9d7c081660765330d78c
| * | | | | | | | | 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 am: 67a321cd17 am: 0c25940e1c Change-Id: I599488f38c5b080533988d48edc0ee1df80c9da9
| | * | | | | | | | 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 am: 67a321cd17 Change-Id: I07c673dbbdab32f515bbefb52bd4495c83664ccf
| | | * | | | | | | 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 am: a8eba4b634 am: c7048181c0 am: 849c9b161a Change-Id: I2b195f437bad5f77e48f6f8dce56542633f7d30b
| * | | | | | | | | 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 am: a8eba4b634 am: c7048181c0 Change-Id: I7d1de9b9cf9e03a03d27b5f5fd89eb08ff12f280
| | * | | | | | | | 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 am: a8eba4b634 Change-Id: I7c719af7670774f2db0f01d8a97199d4b3889be4
| | | * | | | | | | 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 GetInvInt am: 51f38b3a6d ↵Jean-Michel Trivi2017-11-030-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 5285345743 am: 3e28ad2039 am: d948041971 Change-Id: I078057af435ad081e8f55574c03706b8e73405e4
| * | | | | | | | | DO NOT MERGE Prevent out of bound memory access in GetInvInt am: 51f38b3a6d ↵Jean-Michel Trivi2017-11-030-0/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 5285345743 am: 3e28ad2039 Change-Id: I410dc4905aaa0cceeb40d4a6d7ef5072c93ee6ae
| | * | | | | | | | DO NOT MERGE Prevent out of bound memory access in GetInvInt am: 51f38b3a6dJean-Michel Trivi2017-11-030-0/+0
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 5285345743 Change-Id: Ia99bbf37644c24b32d967e6736b913da605f2d12
| | | * | | | | | | 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
* | | | | | | | | | DO NOT MERGE Prevent out of bound memory access in GetInvInt am: 3b6a14a1e0Jean-Michel Trivi2017-11-030-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: a1deac7b1a Change-Id: Icdb0255365260129f6c1ce8cb8a323d87015cf87
| * | | | | | | | | DO NOT MERGE Prevent out of bound memory access in GetInvIntJean-Michel Trivi2017-11-031-4/+8
| |\| | | | | | | | | | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 3b6a14a1e0 Change-Id: Id527e5320a362042ef0c65329082a369687e9db7
| | * | | | | | | 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
* / / / / / / / 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
* | | | | Fix aacDecoder_drcExtractAndMap()Jean-Michel Trivi2016-04-051-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
* | | | | SBR/AAC encoder updates, code clean upJean-Michel Trivi2016-04-0425-215/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * SBR-Encoder - Prevent noise level overflow in noise floor detection. - Saturate threshold calculation in transient detection. Modified file(s): libSBRenc/src/nf_est.cpp libSBRenc/src/sbr_encoder.cpp libSBRenc/src/tran_det.cpp * AAC-Encoder - Expand input data range of GetInvInt() function. There was an encoder assert observed in non-default bitrate configuration. Modified file(s): libAACenc/src/aacenc_lib.cpp libAACenc/src/intensity.cpp libFDK/include/fixpoint_math.h libFDK/src/FDK_core.cpp libFDK/src/FDK_tools_rom.cpp - Make sure that the encoder is stable with regard to very low audio bandwidth confguration parameter value. - Fix lowdelay blending for low audio bandwidth. Modified file(s): libAACenc/src/aacenc.cpp libAACenc/src/aacenc_lib.cpp libAACenc/src/adj_thr.cpp libAACenc/src/psy_configuration.cpp libAACenc/src/psy_main.cpp - Disable pseudo surround flag in case metadata matrix mixdown index is present in program config element. Modified file(s): libAACenc/src/aacenc_lib.cpp - Enable variable bitrate mode in encoder api. - Add AACENC_PEAK_BITRATE parameter to encoder api. - Add AACENC_AUDIOMUXVER parameter to encoder api. Modified file(s): libAACenc/include/aacenc_lib.h libAACenc/src/aacenc.cpp libAACenc/src/aacenc.h libAACenc/src/aacenc_lib.cpp libAACenc/src/qc_main.cpp libMpegTPEnc/src/tpenc_latm.cpp libMpegTPEnc/src/version * FDK-Sources - Code clean up. Remove unneeded pseudo audio object types and transport types. Modified file(s): libAACdec/src/aacdecoder.cpp libAACdec/src/aacdecoder_lib.cpp libAACenc/include/aacenc_lib.h libAACenc/src/aacenc.cpp libAACenc/src/aacenc_lib.cpp libFDK/src/FDK_tools_rom.cpp libMpegTPDec/src/tpdec_lib.cpp libMpegTPDec/src/version libMpegTPEnc/src/tpenc_latm.cpp libMpegTPEnc/src/version libSBRdec/src/sbrdecoder.cpp libSBRenc/src/sbr_encoder.cpp libSYS/include/FDK_audio.h libSYS/src/genericStds.cpp Change-Id: I807a53cb7f48c9ee7563cb8da1d0c52221576ca6
* | | | | Remove compiler warnings, revised ARM QMF encoderJean-Michel Trivi2016-04-0415-328/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug 8493170 Change-Id: I64d19a8a8059c5a96386b1eaac297fd2469515f8
* | | | | Fix stack corruption happening in aacDecoder_drcExtractAndMap() am: a06d1c2 ↵Jean-Michel Trivi2016-03-220-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 47739cd am: 118fc75 am: 7657556 * commit '7657556633262752ad2db9e3914a04128bd64e1b': Fix stack corruption happening in aacDecoder_drcExtractAndMap()
| * | | | Fix stack corruption happening in aacDecoder_drcExtractAndMap() am: a06d1c2 ↵Jean-Michel Trivi2016-03-221-1/+9
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 47739cd am: 118fc75 * commit '118fc75eee6cc763a3105d6e963b77d76d114a2e': Fix stack corruption happening in aacDecoder_drcExtractAndMap()
| | * | | Fix stack corruption happening in aacDecoder_drcExtractAndMap() am: a06d1c2Jean-Michel Trivi2016-03-221-1/+9
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | am: 47739cd * commit '47739cd9d8d7842436b90ef14207c935b0a799fe': Fix stack corruption happening in aacDecoder_drcExtractAndMap()