summaryrefslogtreecommitdiffstats
path: root/media/libeffects/downmix/EffectDownmix.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | libeffects: do not use GNU old-style field designatorssynergydev2013-10-191-7/+7
| | | | | | | | | | | | Not using a GNU extension improves portability Change-Id: I4e8a0376c089828ca4fc7f1aaf3914bfd917d4c5
* | Only export the symbols that need to beMarco Nelissen2012-10-251-0/+2
| | | | | | | | | | | | | | | | 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-251-21/+0
|/ | | | Change-Id: I6603aef5e3821a8f911e3f33ef8565d04bd1e2e5
* 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-161-11/+269
| | | | | | | | | | | | | | | | | | 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
* Effect for multichannel PCM downmix to stereoJean-Michel Trivi2012-03-071-0/+889
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