summaryrefslogtreecommitdiffstats
path: root/media/libeffects/downmix
Commit message (Collapse)AuthorAgeFilesLines
* Use new channel count functions for audio masksAndy Hung2014-05-161-3/+4
| | | | | Change-Id: Ia658ab4b6320d19fdb50f123c930918724ff0ef3 Signed-off-by: Andy Hung <hunga@google.com>
* resolved conflicts for merge of cf79c7a5 to masterYing Wang2014-05-081-6/+0
|\ | | | | | | Change-Id: Ic4e75541193f733f477cfa4a2a87cce4c9e64f45
* | Define CHANNEL_MASK_* in terms of AUDIO_CHANNEL_OUT_*Glenn Kasten2014-04-301-18/+7
| | | | | | | | | | | | and use same suffixes Change-Id: I90b74ede171ba2550db4a220cfd1ad2e3caefe2d
* | Remove AUDIO_CHANNEL_OUT_SURROUNDGlenn Kasten2014-04-302-64/+0
|/ | | | | | and corresponding downmix effect Change-Id: I1576aa373ca7acbb84d7742bacbd9c2da04a7a4c
* libeffects: 64 bit compile issuesMark Salyzyn2014-04-181-22/+23
| | | | Change-Id: I32dd13d307572fee91150f8e113df78924ca0067
* Merge "LP64 fixes for media/libeffects"Narayan Kamath2014-03-072-5/+5
|\
| * LP64 fixes for media/libeffectsAshok Bhat2014-02-202-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes include: [x] In get parameter series of functions, replaced size_t* formal parameter type with uint32_t* where actual parameter passed was uint32_t*. [x] In set parameter series of functions, changed size_t formal parameter to uint32_t where actual parameter was uint32_t. [x] Changed the definition of LVM_UINT32 from unsigned long to uint32_t as unsigned long is 64-bit in LP64. [x] Used other stdint.h types for other LVM_types for consistency. [x] Use of uintptr_t for the pNextMember of the INST_ALLOC structure, rather than LVM_UINT32, for portablility. [x] Use of uintptr_t where pointers are used in arithmetic. [x] Replaced the use of 0xFFFFFFFC with ~3 in places where it was used to clear last two bits. [x] Removed int casts where cmdSize and *replySize, both uint32_t, were being compared with sizeof(). Change-Id: Ibec0b4d8e9b855f44b1cd853be6df84d13cf4186 Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* | Merge "Avoid a building error"Glenn Kasten2014-02-251-1/+3
|\ \ | |/ |/|
| * Avoid a building errorChih-Wei Huang2013-01-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | &pDwmModule->config may equal to pConfig that triggers a building error using gcc 4.7: In file included from bionic/libc/include/signal.h:33:0, from bionic/libc/include/sys/select.h:34, from bionic/libc/include/unistd.h:34, from system/core/include/cutils/log.h:34, from frameworks/av/media/libeffects/downmix/EffectDownmix.c:19: In function 'memcpy', inlined from 'Downmix_Configure' at frameworks/av/media/libeffects/downmix/EffectDownmix.c:651:11, inlined from 'Downmix_Init' at frameworks/av/media/libeffects/downmix/EffectDownmix.c:605:9, inlined from 'DownmixLib_Create' at frameworks/av/media/libeffects/downmix/EffectDownmix.c:233:9: bionic/libc/include/string.h:114:31: error: call to '__memcpy_overlap_error' declared with attribute error: memcpy called with overlapping regions Change-Id: Ia6c4aab72e38d00d8d526f3b56fc03b6530b4e44
* | Make frameworks/av 64-bit compatibleKévin PETIT2014-02-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Contains the necessary changes to make frameworks/av build and work on a 64-bit machine. Signed-off-by: Craig Barber <craig.barber@arm.com> Signed-off-by: Kévin PETIT <kevin.petit@arm.com> Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
* | frameworks/av: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATHColin Cross2014-01-271-1/+1
| | | | | | | | | | | | | | LOCAL_MODULE_PATH doesn't work for multiarch builds, replace it with LOCAL_MODULE_RELATIVE_PATH. Change-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e
* | libeffects: do not use GNU old-style field designatorssynergydev2013-10-191-7/+7
| | | | | | | | | | | | Not using a GNU extension improves portability Change-Id: I4e8a0376c089828ca4fc7f1aaf3914bfd917d4c5
* | Add liblogYing Wang2013-04-091-1/+1
| | | | | | | | | | Bug: 8580410 Change-Id: If493d87d60d71be664ad75b140c62acadb75b0d0
* | Only export the symbols that need to beMarco Nelissen2012-10-252-0/+4
| | | | | | | | | | | | | | | | The effects libraries were exporting many more symbols than needed. This reduces the exported symbols to just the needed ones (basically just "AELI"), which happens to also save about 28KB. Change-Id: I115077e52e8dc845282e6f62a522908d26dd72d6
* | Switch to new fx library APIMarco Nelissen2012-10-252-24/+0
|/ | | | Change-Id: I6603aef5e3821a8f911e3f33ef8565d04bd1e2e5
* Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/James Dong2012-06-132-0/+190
| | | | | Change-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26 related-to-bug: 6647465
* Prevent occurences of clipping in loud downmixed scenesJean-Michel Trivi2012-05-241-20/+20
| | | | | | | | | | | | The downmixer effect is a mixer, wich, like the platform mixer, hard-clips. To prevent clipping during loud scenes across multiple chanels, apply a fixed attenuation on the result of the downmix. Note that this attenuation is lower the theoretical required attenuation (except for quad and surround) but is adequate for most content. Bug 4280902 Change-Id: Iec520e9f1367284d6102633f532429361717692d
* Stereo downmixer supports generic configurations. Fix 7.1 downmixJean-Michel Trivi2012-05-162-11/+282
| | | | | | | | | | | | | | | | | | Added a generic downmixer to stereo function to handle the multichannel configurations not supported by the dedicated downmix functions. It first verifies the mask is supported, and then derives channel indices for the downmix. Added support for forcing the generic downmixer to be always used instead of the format-specific functions (define DOWNMIX_ALWAYS_USE_GENERIC_DOWNMIXER to force it). Fixed 7.1 downmix function where handling of accumulate vs overwrite was inversed. Bug 4280902 Change-Id: I8259b32c4e90f76ef4dcd803592fc71df4ae90c5
* Downmix support for 5.1 and quad with side channelsJean-Michel Trivi2012-04-231-5/+28
| | | | | | | | | In DOWNMIX_TYPE_FOLD mode, add support for variants of quad and 5.1 channel masks where the "side" channels are used instead of the "back" channels. These variants have the same channel order, so they can share the same downmix function. Change-Id: I5f9cb7cb120927189de680c2a968d6136dc1fc43
* Turn off debug in downmix effectJean-Michel Trivi2012-04-181-1/+1
| | | | Change-Id: I4eda43166d23b3297cf769056a6db720401799aa
* AudioMixer uses downmix effect for multichannel contentJean-Michel Trivi2012-04-091-1/+1
| | | | | | | | | | | | | | In the AudioMixer structure associated with each track, add an object that acts as the buffer provider when the track has more than two channels of input in the mixer. This object, DownmixerBufferProvider, gets audio from the actual buffer provider of the track, and applies a downmix effect on it. The downmix effect is created and configured when the track gets created in AudioFlinger, which causes AudioMixer::getTrackName() to be called with the new track's channel mask. It is released when the track is disabled in the mixer. Change-Id: I05281ed5f61bef663a8af7ca7d5ceac3517c82db
* Remove dependency on audio_* locationGlenn Kasten2012-03-141-2/+2
| | | | Change-Id: I4bc66115fcb9ba22b057bd72db3f561dcb18a0d8
* Effect for multichannel PCM downmix to stereoJean-Michel Trivi2012-03-073-0/+1013
First pass at implementing an audio effect whose role is to downmix multichannel PCM buffers to stereo. The effect is not handling volume changes. The effect code here handles quad, 4.0, 5.1 and 7.1 input configurations, to optimize the most commom configurations, and does not yet handle generic multichanel configurations. Change-Id: I74d04bd961348f3f0e4ae7714b70e620808a0829