⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eq.c

📁 au1200 linux2.6.11 硬件解码mae驱动和maiplayer播放器源码
💻 C
📖 第 1 页 / 共 3 页
字号:
/* <LIC_AMD_STD> * Copyright (C) 2003-2005 Advanced Micro Devices, Inc.  All Rights Reserved. *  * Unless otherwise designated in writing, this software and any related  * documentation are the confidential proprietary information of AMD.  * THESE MATERIALS ARE PROVIDED "AS IS" WITHOUT ANY * UNLESS OTHERWISE NOTED IN WRITING, EXPRESS OR IMPLIED WARRANTY OF ANY  * KIND, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY,  * NONINFRINGEMENT, TITLE, FITNESS FOR ANY PARTICULAR PURPOSE AND IN NO  * EVENT SHALL AMD OR ITS LICENSORS BE LIABLE FOR ANY DAMAGES WHATSOEVER.  *  * AMD does not assume any responsibility for any errors which may appear  * in the Materials nor any responsibility to support or update the * Materials.  AMD retains the right to modify the Materials at any time,  * without notice, and is not obligated to provide such modified  * Materials to you. AMD is not obligated to furnish, support, or make * any further information available to you. * </LIC_AMD_STD>  *//* <CTL_AMD_STD> * </CTL_AMD_STD>  *//* <DOC_AMD_STD> * Filename: eq.c * </DOC_AMD_STD>  */#ifdef POSTPROC_EQ#include <stdio.h>#include <string.h>#include <stdlib.h>#include "mai_types.h"#include "../audio_out.h" #include "eq.h" #define DPRINTF(_args_)  /* printf _args_ */#define INFO_PRINTF(_args_) /* printf _args_ */#if defined(WIN32) || defined(UNDER_CE)  #if _MSC_VER    typedef signed __int64 int64_t;  #else    typedef signed long long int64_t;  #endif#endif#define FRAC_ONE    (1 << FRAC_BITS)#define FIX(a)   ((int)((a) * FRAC_ONE))#define FRAC_BITS   23   /* fractional bits for sb_samples and dct */#define MULL(a,b) ((int)(((int64_t)(a) * (int64_t)(b)) >> FRAC_BITS))#define FILT_UNITY 0x2000typedef struct tag_FilterContextStruct{ /* assume 32-bit signed integers */  int delay1;  int delay2;  int a1;  int a2;  int b0;  int b1;  int b2;} FILTERCONTEXT;struct eq_parameter_struct{  FILTERCONTEXT filter_handle_left[MAX_NUMBER_OF_EQ_BANDS];  FILTERCONTEXT filter_handle_right[MAX_NUMBER_OF_EQ_BANDS];  int prev_value[MAX_NUMBER_OF_EQ_BANDS];  int number_of_bands;};static struct eq_parameter_struct *eq_state;/* These are tuned for 48, 96 and 192 khz. */static int filter_presets_3_bandEQ[ 3 * 4 * 36] = {  // B0    B1=A1        B2       A2  // high 5k, mid 1.5k, low 125  //3-band eq, sampling rate   48000, band 0, level -12:  0x00001f82, 0xffffc151, 0x00001f2e, 0x00001eb1,   //3-band eq, sampling rate   48000, band 0, level -10:  0x00001f8a, 0xffffc15a, 0x00001f1e, 0x00001ea8,   //3-band eq, sampling rate   48000, band 0, level -8:  0x00001f93, 0xffffc169, 0x00001f05, 0x00001e99,   //3-band eq, sampling rate   48000, band 0, level -6:  0x00001f9f, 0xffffc186, 0x00001edd, 0x00001e7c,   //3-band eq, sampling rate   48000, band 0, level -4:  0x00001fac, 0xffffc1c6, 0x00001e8f, 0x00001e3c,   //3-band eq, sampling rate   48000, band 0, level -2:  0x00001fb8, 0xffffc2b7, 0x00001d93, 0x00001d4b,   //3-band eq, sampling rate   48000, band 0, level 2:  0x00002047, 0xffffc22d, 0x00001d8d, 0x00001dd5,   //3-band eq, sampling rate   48000, band 0, level 4:  0x00002053, 0xffffc122, 0x00001e8c, 0x00001ee0,   //3-band eq, sampling rate   48000, band 0, level 6:  0x00002061, 0xffffc0c7, 0x00001ed9, 0x00001f3b,   //3-band eq, sampling rate   48000, band 0, level 8:  0x0000206c, 0xffffc093, 0x00001f02, 0x00001f6f,   //3-band eq, sampling rate   48000, band 0, level 10:  0x00002076, 0xffffc071, 0x00001f1a, 0x00001f91,   //3-band eq, sampling rate   48000, band 0, level 12:  0x0000207e, 0xffffc058, 0x00001f2b, 0x00001faa,   //3-band eq, sampling rate   48000, band 1, level -12:  0x00001e6f, 0xffffc554, 0x00001d62, 0x00001bd2,   //3-band eq, sampling rate   48000, band 1, level -10:  0x00001e89, 0xffffc56e, 0x00001d2e, 0x00001bb8,   //3-band eq, sampling rate   48000, band 1, level -8:  0x00001ea8, 0xffffc59b, 0x00001ce1, 0x00001b8a,   //3-band eq, sampling rate   48000, band 1, level -6:  0x00001ecd, 0xffffc5f0, 0x00001c66, 0x00001b33,   //3-band eq, sampling rate   48000, band 1, level -4:  0x00001ef9, 0xffffc6ac, 0x00001b7a, 0x00001a74,   //3-band eq, sampling rate   48000, band 1, level -2:  0x00001f26, 0xffffc950, 0x0000189b, 0x000017c3,   //3-band eq, sampling rate   48000, band 1, level 2:  0x000020de, 0xffffc7d3, 0x00001868, 0x00001947,   //3-band eq, sampling rate   48000, band 1, level 4:  0x0000210e, 0xffffc4c7, 0x00001b54, 0x00001c62,   //3-band eq, sampling rate   48000, band 1, level 6:  0x0000213d, 0xffffc3af, 0x00001c42, 0x00001d80,   //3-band eq, sampling rate   48000, band 1, level 8:  0x00002166, 0xffffc30d, 0x00001cbf, 0x00001e25,   //3-band eq, sampling rate   48000, band 1, level 10:  0x00002188, 0xffffc2a0, 0x00001d0c, 0x00001e94,   //3-band eq, sampling rate   48000, band 1, level 12:  0x000021a4, 0xffffc251, 0x00001d40, 0x00001ee5,   //3-band eq, sampling rate   48000, band 2, level -12:  0x00001911, 0xffffdbea, 0x0000146b, 0x00000d7c,   //3-band eq, sampling rate   48000, band 2, level -10:  0x0000198d, 0xffffdc30, 0x00001397, 0x00000d25,   //3-band eq, sampling rate   48000, band 2, level -8:  0x00001a25, 0xffffdca7, 0x00001268, 0x00000c8e,   //3-band eq, sampling rate   48000, band 2, level -6:  0x00001ae1, 0xffffdd83, 0x00001097, 0x00000b78,   //3-band eq, sampling rate   48000, band 2, level -4:  0x00001bcb, 0xffffdf4e, 0x00000d6b, 0x00000936,   //3-band eq, sampling rate   48000, band 2, level -2:  0x00001cf4, 0xffffe4b8, 0x0000056f, 0x00000264,   //3-band eq, sampling rate   48000, band 2, level 2:  0x0000235d, 0xffffe1d9, 0x000002a4, 0x00000601,   //3-band eq, sampling rate   48000, band 2, level 4:  0x000024d6, 0xffffda5c, 0x00000a9b, 0x00000f72,   //3-band eq, sampling rate   48000, band 2, level 6:  0x00002617, 0xffffd6f2, 0x00000da8, 0x000013c0,   //3-band eq, sampling rate   48000, band 2, level 8:  0x00002728, 0xffffd4be, 0x00000f5d, 0x00001686,   //3-band eq, sampling rate   48000, band 2, level 10:  0x00002812, 0xffffd327, 0x00001076, 0x00001888,   //3-band eq, sampling rate   48000, band 2, level 12:  0x000028d8, 0xffffd1f0, 0x00001137, 0x00001a10,   //3-band eq, sampling rate   96000, band 0, level -12:  0x00001fc0, 0xffffc0aa, 0x00001f96, 0x00001f56,   //3-band eq, sampling rate   96000, band 0, level -10:  0x00001fc4, 0xffffc0af, 0x00001f8d, 0x00001f52,   //3-band eq, sampling rate   96000, band 0, level -8:  0x00001fc9, 0xffffc0b6, 0x00001f81, 0x00001f4a,   //3-band eq, sampling rate   96000, band 0, level -6:  0x00001fce, 0xffffc0c5, 0x00001f6c, 0x00001f3c,   //3-band eq, sampling rate   96000, band 0, level -4:  0x00001fd5, 0xffffc0e6, 0x00001f45, 0x00001f1b,   //3-band eq, sampling rate   96000, band 0, level -2:  0x00001fdb, 0xffffc162, 0x00001ec2, 0x00001e9e,   //3-band eq, sampling rate   96000, band 0, level 2:  0x00002024, 0xffffc11b, 0x00001ec1, 0x00001ee5,   //3-band eq, sampling rate   96000, band 0, level 4:  0x0000202a, 0xffffc092, 0x00001f44, 0x00001f6e,   //3-band eq, sampling rate   96000, band 0, level 6:  0x00002030, 0xffffc064, 0x00001f6c, 0x00001f9d,   //3-band eq, sampling rate   96000, band 0, level 8:  0x00002036, 0xffffc04a, 0x00001f80, 0x00001fb7,   //3-band eq, sampling rate   96000, band 0, level 10:  0x0000203b, 0xffffc038, 0x00001f8c, 0x00001fc8,   //3-band eq, sampling rate   96000, band 0, level 12:  0x0000203f, 0xffffc02c, 0x00001f95, 0x00001fd5,   //3-band eq, sampling rate   96000, band 1, level -12:  0x00001f31, 0xffffc273, 0x00001ea7, 0x00001dd9,   //3-band eq, sampling rate   96000, band 1, level -10:  0x00001f3e, 0xffffc281, 0x00001e8c, 0x00001dcb,   //3-band eq, sampling rate   96000, band 1, level -8:  0x00001f4e, 0xffffc29a, 0x00001e64, 0x00001db2,   //3-band eq, sampling rate   96000, band 1, level -6:  0x00001f61, 0xffffc2c8, 0x00001e22, 0x00001d84,   //3-band eq, sampling rate   96000, band 1, level -4:  0x00001f77, 0xffffc32f, 0x00001da5, 0x00001d1c,   //3-band eq, sampling rate   96000, band 1, level -2:  0x00001f8c, 0xffffc4ad, 0x00001c10, 0x00001b9d,   //3-band eq, sampling rate   96000, band 1, level 2:  0x00002074, 0xffffc3d4, 0x00001c02, 0x00001c77,   //3-band eq, sampling rate   96000, band 1, level 4:  0x0000208a, 0xffffc227, 0x00001d9b, 0x00001e25,   //3-band eq, sampling rate   96000, band 1, level 6:  0x000020a1, 0xffffc193, 0x00001e19, 0x00001ebb,   //3-band eq, sampling rate   96000, band 1, level 8:  0x000020b4, 0xffffc13e, 0x00001e5b, 0x00001f10,   //3-band eq, sampling rate   96000, band 1, level 10:  0x000020c5, 0xffffc106, 0x00001e83, 0x00001f48,   //3-band eq, sampling rate   96000, band 1, level 12:  0x000020d3, 0xffffc0dd, 0x00001e9e, 0x00001f71,   //3-band eq, sampling rate   96000, band 2, level -12:  0x00001c57, 0xffffcca5, 0x000019e4, 0x0000163c,   //3-band eq, sampling rate   96000, band 2, level -10:  0x00001c96, 0xffffccda, 0x0000196e, 0x00001604,   //3-band eq, sampling rate   96000, band 2, level -8:  0x00001ce1, 0xffffcd35, 0x000018c2, 0x000015a4,   //3-band eq, sampling rate   96000, band 2, level -6:  0x00001d3d, 0xffffcddf, 0x000017b2, 0x000014f0,   //3-band eq, sampling rate   96000, band 2, level -4:  0x00001dad, 0xffffcf4f, 0x000015be, 0x0000136c,   //3-band eq, sampling rate   96000, band 2, level -2:  0x00001e2f, 0xffffd41d, 0x00001029, 0x00000e58,   //3-band eq, sampling rate   96000, band 2, level 2:  0x000021ec, 0xffffd17a, 0x00000f35, 0x00001122,   //3-band eq, sampling rate   96000, band 2, level 4:  0x00002280, 0xffffcb80, 0x000014f1, 0x00001771,   //3-band eq, sampling rate   96000, band 2, level 6:  0x00002304, 0xffffc925, 0x000016ea, 0x000019ef,   //3-band eq, sampling rate   96000, band 2, level 8:  0x00002373, 0xffffc7ba, 0x000017fa, 0x00001b6e,   //3-band eq, sampling rate   96000, band 2, level 10:  0x000023d1, 0xffffc6bf, 0x000018a5, 0x00001c77,   //3-band eq, sampling rate   96000, band 2, level 12:  0x00002420, 0xffffc605, 0x0000191a, 0x00001d3a,   //3-band eq, sampling rate   192000, band 0, level -12:  0x00001fdf, 0xffffc056, 0x00001fca, 0x00001faa,   //3-band eq, sampling rate   192000, band 0, level -10:  0x00001fe1, 0xffffc058, 0x00001fc6, 0x00001fa8,   //3-band eq, sampling rate   192000, band 0, level -8:  0x00001fe4, 0xffffc05c, 0x00001fc0, 0x00001fa4,   //3-band eq, sampling rate   192000, band 0, level -6:  0x00001fe7, 0xffffc063, 0x00001fb5, 0x00001f9d,   //3-band eq, sampling rate   192000, band 0, level -4:  0x00001fea, 0xffffc074, 0x00001fa1, 0x00001f8c,   //3-band eq, sampling rate   192000, band 0, level -2:  0x00001fed, 0xffffc0b3, 0x00001f5f, 0x00001f4d,   //3-band eq, sampling rate   192000, band 0, level 2:  0x00002012, 0xffffc08f, 0x00001f5f, 0x00001f71,   //3-band eq, sampling rate   192000, band 0, level 4:  0x00002015, 0xffffc04a, 0x00001fa1, 0x00001fb6,   //3-band eq, sampling rate   192000, band 0, level 6:  0x00002018, 0xffffc032, 0x00001fb5, 0x00001fce,   //3-band eq, sampling rate   192000, band 0, level 8:  0x0000201b, 0xffffc025, 0x00001fbf, 0x00001fdb,   //3-band eq, sampling rate   192000, band 0, level 10:  0x0000201d, 0xffffc01d, 0x00001fc6, 0x00001fe4,   //3-band eq, sampling rate   192000, band 0, level 12:  0x0000201f, 0xffffc016, 0x00001fca, 0x00001fea,   //3-band eq, sampling rate   192000, band 1, level -12:  0x00001f97, 0xffffc12c, 0x00001f50, 0x00001ee8,   //3-band eq, sampling rate   192000, band 1, level -10:  0x00001f9d, 0xffffc133, 0x00001f43, 0x00001ee0,   //3-band eq, sampling rate   192000, band 1, level -8:  0x00001fa5, 0xffffc140, 0x00001f2e, 0x00001ed4,   //3-band eq, sampling rate   192000, band 1, level -6:  0x00001faf, 0xffffc158, 0x00001f0c, 0x00001ebc,   //3-band eq, sampling rate   192000, band 1, level -4:  0x00001fba, 0xffffc18e, 0x00001ecb, 0x00001e86,   //3-band eq, sampling rate   192000, band 1, level -2:  0x00001fc4, 0xffffc258, 0x00001df6, 0x00001dbb,   //3-band eq, sampling rate   192000, band 1, level 2:  0x0000203b, 0xffffc1e4, 0x00001df3, 0x00001e2f,   //3-band eq, sampling rate   192000, band 1, level 4:  0x00002046, 0xffffc104, 0x00001ec9, 0x00001f0f,   //3-band eq, sampling rate   192000, band 1, level 6:  0x00002051, 0xffffc0b8, 0x00001f0a, 0x00001f5b,   //3-band eq, sampling rate   192000, band 1, level 8:  0x0000205a, 0xffffc08d, 0x00001f2c, 0x00001f87,   //3-band eq, sampling rate   192000, band 1, level 10:  0x00002062, 0xffffc070, 0x00001f40, 0x00001fa3,   //3-band eq, sampling rate   192000, band 1, level 12:  0x00002069, 0xffffc05c, 0x00001f4e, 0x00001fb8,   //3-band eq, sampling rate   192000, band 2, level -12:  0x00001e11, 0xffffc5f1, 0x00001cc6, 0x00001ad8,   //3-band eq, sampling rate   192000, band 2, level -10:  0x00001e31, 0xffffc610, 0x00001c86, 0x00001ab8,   //3-band eq, sampling rate   192000, band 2, level -8:  0x00001e58, 0xffffc647, 0x00001c28, 0x00001a81,   //3-band eq, sampling rate   192000, band 2, level -6:  0x00001e86, 0xffffc6ae, 0x00001b91, 0x00001a18,   //3-band eq, sampling rate   192000, band 2, level -4:  0x00001ebe, 0xffffc792, 0x00001a73, 0x00001932, 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -