History log of /frameworks/av/media/libeffects/downmix/EffectDownmix.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0f714a464d2425afe00d6450535e763131b40844 20-Jun-2015 Eric Laurent <elaurent@google.com> audio effects: fix heap overflow

Check consistency of effect command reply sizes before
copying to reply address.

Also add null pointer check on reply size.
Also remove unused parameter warning.

Bug: 21953516.
Change-Id: I4cf00c12eaed696af28f3b7613f7e36f47a160c4
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
e541269be94f3a1072932d51537905b120ef4733 16-May-2014 Andy Hung <hunga@google.com> Use new channel count functions for audio masks

Change-Id: Ia658ab4b6320d19fdb50f123c930918724ff0ef3
Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
029a64e0327ecc1215a3d17ce50f508edae1c4a6 15-Apr-2014 Glenn Kasten <gkasten@google.com> Define CHANNEL_MASK_* in terms of AUDIO_CHANNEL_OUT_*

and use same suffixes

Change-Id: I90b74ede171ba2550db4a220cfd1ad2e3caefe2d
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
32fa3c6fab55b075c916f4dad38e42e239bb7813 29-Apr-2014 Glenn Kasten <gkasten@google.com> Remove AUDIO_CHANNEL_OUT_SURROUND

and corresponding downmix effect

Change-Id: I1576aa373ca7acbb84d7742bacbd9c2da04a7a4c
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
7cb0e733210c2ce7dd2a7c9d32f6d83c4dab9656 18-Apr-2014 Mark Salyzyn <salyzyn@google.com> libeffects: 64 bit compile issues

Change-Id: I32dd13d307572fee91150f8e113df78924ca0067
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
a9b82160a6682438d43709ba5e7a29022ad1af58 07-Mar-2014 Narayan Kamath <narayan@google.com> Merge "LP64 fixes for media/libeffects"
8fc4d57d41f532b90187b9404a8ac705770d75b4 25-Feb-2014 Glenn Kasten <gkasten@android.com> Merge "Avoid a building error"
b302bd5d288be2d3363b80053ca2392560b00b25 18-Feb-2014 Ashok Bhat <ashok.bhat@arm.com> LP64 fixes for media/libeffects

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>
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
377b2ec9a2885f9b6405b07ba900a9e3f4349c38 03-Feb-2014 Kévin PETIT <kevin.petit@arm.com> Make frameworks/av 64-bit compatible

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/media/libeffects/downmix/EffectDownmix.c
c9d8ea7f8f9a1ca8ecd266695e3cac423790b2f9 20-Oct-2013 synergydev <synergye@codefi.re> libeffects: do not use GNU old-style field designators

Not using a GNU extension improves portability

Change-Id: I4e8a0376c089828ca4fc7f1aaf3914bfd917d4c5
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
a93c8c9c89ba679cf312c7d082913121bb5543c2 10-Jan-2013 Chih-Wei Huang <cwhuang@linux.org.tw> Avoid a building error

&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
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
7f16b197c76fbae9399242f055a7ee16dcd0fd6d 26-Oct-2012 Marco Nelissen <marcone@google.com> Only export the symbols that need to be

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
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
6035cb5a61a7606cc8e4ecddec32b2eb37a9fd56 25-Oct-2012 Marco Nelissen <marcone@google.com> Switch to new fx library API

Change-Id: I6603aef5e3821a8f911e3f33ef8565d04bd1e2e5
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
aea2715e65994e665a3732551880419ba1cecc0d 24-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Prevent occurences of clipping in loud downmixed scenes

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
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
6895deeecc8797e6f5b28e7d07ec6bc499355c0c 16-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Stereo downmixer supports generic configurations. Fix 7.1 downmix

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
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
db46b48d24e03f5bcb8de6d0ff852ec4153401e7 23-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Downmix support for 5.1 and quad with side channels

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
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
f28c8792f64e10c3c477d86bf4804a8566ff524e 19-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> Turn off debug in downmix effect

Change-Id: I4eda43166d23b3297cf769056a6db720401799aa
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
7d5b26230a179cd7bcc01f6578cd80d8c15a92a5 05-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> AudioMixer uses downmix effect for multichannel content

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
/frameworks/av/media/libeffects/downmix/EffectDownmix.c
04c1e531b5913c09aa9b2e59e2b8ed9b4d8a4cba 02-Mar-2012 Jean-Michel Trivi <jmtrivi@google.com> Effect for multichannel PCM downmix to stereo

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
/frameworks/av/media/libeffects/downmix/EffectDownmix.c