summaryrefslogtreecommitdiffstats
path: root/media/libeffects/lvm/lib/Common/lib/Mixer.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/libeffects/lvm/lib/Common/lib/Mixer.h')
-rwxr-xr-xmedia/libeffects/lvm/lib/Common/lib/Mixer.h135
1 files changed, 135 insertions, 0 deletions
diff --git a/media/libeffects/lvm/lib/Common/lib/Mixer.h b/media/libeffects/lvm/lib/Common/lib/Mixer.h
new file mode 100755
index 0000000..d741980
--- /dev/null
+++ b/media/libeffects/lvm/lib/Common/lib/Mixer.h
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2004-2010 NXP Software
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**********************************************************************************
+
+ $Author: beq07716 $
+ $Revision: 1000 $
+ $Date: 2010-06-28 13:08:20 +0200 (Mon, 28 Jun 2010) $
+
+***********************************************************************************/
+
+#ifndef __MIXER_H__
+#define __MIXER_H__
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+
+#include "LVM_Types.h"
+
+/**********************************************************************************
+ INSTANCE MEMORY TYPE DEFINITION
+***********************************************************************************/
+
+typedef struct
+{
+ LVM_INT32 Alpha; /* Time constant. Set by calling application. Can be changed at any time */
+ LVM_INT32 Target; /* Target value. Set by calling application. Can be changed at any time */
+ LVM_INT32 Current; /* Current value. Set by the mixer function. */
+ LVM_INT16 CallbackSet; /* Boolean. Should be set by calling application each time the target value is updated */
+ LVM_INT16 CallbackParam; /* Parameter that will be used in the calback function */
+ void *pCallbackHandle; /* Pointer to the instance of the callback function */
+ void *pGeneralPurpose; /* Pointer for general purpose usage */
+ LVM_Callback pCallBack; /* Pointer to the callback function */
+} Mix_1St_Cll_t;
+
+typedef struct
+{
+ LVM_INT32 Alpha1;
+ LVM_INT32 Target1;
+ LVM_INT32 Current1;
+ LVM_INT16 CallbackSet1;
+ LVM_INT16 CallbackParam1;
+ void *pCallbackHandle1;
+ void *pGeneralPurpose1;
+ LVM_Callback pCallBack1;
+
+ LVM_INT32 Alpha2; /* Warning the address of this location is passed as a pointer to Mix_1St_Cll_t in some functions */
+ LVM_INT32 Target2;
+ LVM_INT32 Current2;
+ LVM_INT16 CallbackSet2;
+ LVM_INT16 CallbackParam2;
+ void *pCallbackHandle2;
+ void *pGeneralPurpose2;
+ LVM_Callback pCallBack2;
+
+} Mix_2St_Cll_t;
+
+
+/*** General functions ************************************************************/
+
+LVM_UINT32 LVM_Mixer_TimeConstant(LVM_UINT32 tc,
+ LVM_UINT16 Fs,
+ LVM_UINT16 NumChannels);
+
+
+void MixSoft_1St_D32C31_WRA( Mix_1St_Cll_t *pInstance,
+ const LVM_INT32 *src,
+ LVM_INT32 *dst,
+ LVM_INT16 n);
+
+void MixSoft_2St_D32C31_SAT( Mix_2St_Cll_t *pInstance,
+ const LVM_INT32 *src1,
+ const LVM_INT32 *src2,
+ LVM_INT32 *dst,
+ LVM_INT16 n);
+
+void MixInSoft_D32C31_SAT( Mix_1St_Cll_t *pInstance,
+ const LVM_INT32 *src,
+ LVM_INT32 *dst,
+ LVM_INT16 n);
+
+/**********************************************************************************
+ FUNCTION PROTOTYPES (LOW LEVEL SUBFUNCTIONS)
+***********************************************************************************/
+
+void Core_MixSoft_1St_D32C31_WRA( Mix_1St_Cll_t *pInstance,
+ const LVM_INT32 *src,
+ LVM_INT32 *dst,
+ LVM_INT16 n);
+
+void Core_MixHard_2St_D32C31_SAT( Mix_2St_Cll_t *pInstance,
+ const LVM_INT32 *src1,
+ const LVM_INT32 *src2,
+ LVM_INT32 *dst,
+ LVM_INT16 n);
+
+void Core_MixInSoft_D32C31_SAT( Mix_1St_Cll_t *pInstance,
+ const LVM_INT32 *src,
+ LVM_INT32 *dst,
+ LVM_INT16 n);
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+/**********************************************************************************/
+
+#endif /* __MIXER_H__ */
+
+
+
+
+
+
+
+
+
+