| | |
| | | <inputType id="assembler.input.1304626576" name="Assembler Source" superClass="assembler.input"/> |
| | | </tool> |
| | | <tool id="sharc.toolchain.compiler.913943905" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler"> |
| | | <option id="compiler.option.optimization.556394403" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <option id="compiler.option.debugcode.900335004" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.optimization.556394403" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.debugcode.900335004" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <option id="compiler.option.proc.775463007" name="-proc" superClass="compiler.option.proc" useByScannerDiscovery="false" value=" ADSP-21569" valueType="string"/> |
| | | <option id="compiler.option.sirevision.375383135" name="-si-revision" superClass="compiler.option.sirevision" useByScannerDiscovery="false" value=" 0.0" valueType="string"/> |
| | | <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="compiler.option.preprocessdefs.200157960" name="Preprocessor definitions (-D):" superClass="compiler.option.preprocessdefs" useByScannerDiscovery="false" valueType="definedSymbols"> |
| | |
| | | </option> |
| | | <option id="compiler.option.compilerswitch.182237227" name="Compiler Switch" superClass="compiler.option.compilerswitch" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <option id="compiler.option.cpp11.976576354" name="Compile C++ source files with C++11 feature extensions (-c++11)" superClass="compiler.option.cpp11" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.interprocdoptim.1504058608" name="Interprocedural optimization (-ipa)" superClass="compiler.option.interprocdoptim" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <option id="compiler.option.interprocdoptim.1504058608" name="Interprocedural optimization (-ipa)" superClass="compiler.option.interprocdoptim" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.1651873364" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | <tool id="sharc.toolchain.linker.1433934460" name="CrossCore SHARC Linker" superClass="sharc.toolchain.linker"> |
| | |
| | | <tool id="sharc.toolchain.deviceprogrammer.630556623" name="CrossCore SHARC Device Programmer" superClass="sharc.toolchain.deviceprogrammer.185366862"/> |
| | | </toolChain> |
| | | </folderInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.985913406" name="frames.cpp" rcbsApplicability="disable" resourcePath="src/frames.cpp" toolsToInvoke="sharc.toolchain.compiler.913943905.950550964"> |
| | | <tool id="sharc.toolchain.compiler.913943905.950550964" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler.913943905"> |
| | | <option id="compiler.option.optimization.1980437294" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.interprocdoptim.611728753" name="Interprocedural optimization (-ipa)" superClass="compiler.option.interprocdoptim" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.debugcode.1138950828" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.687677118" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.1691965581" name="scene.cpp" rcbsApplicability="disable" resourcePath="src/scene.cpp" toolsToInvoke="sharc.toolchain.compiler.913943905.1234586496"> |
| | | <tool id="sharc.toolchain.compiler.913943905.1234586496" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler.913943905"> |
| | | <option id="compiler.option.optimization.410348796" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.interprocdoptim.1690047913" name="Interprocedural optimization (-ipa)" superClass="compiler.option.interprocdoptim" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.debugcode.490184311" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.85154209" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.534564055" name="main.cpp" rcbsApplicability="disable" resourcePath="src/main.cpp" toolsToInvoke="sharc.toolchain.compiler.913943905.763200458"> |
| | | <tool id="sharc.toolchain.compiler.913943905.763200458" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler.913943905"> |
| | | <option id="compiler.option.debugcode.949526148" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <option id="compiler.option.optimization.1191857628" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.867448223" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.1691181675" name="tg_user_ctrl.cpp" rcbsApplicability="disable" resourcePath="src/tg/tg_user_ctrl.cpp" toolsToInvoke="sharc.toolchain.compiler.913943905.1114977386"> |
| | | <tool id="sharc.toolchain.compiler.913943905.1114977386" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler.913943905"> |
| | | <option id="compiler.option.debugcode.991518921" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <option id="compiler.option.optimization.1075741573" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.1527595622" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.1405857650" name="tg_scene.cpp" rcbsApplicability="disable" resourcePath="src/tg/tg_scene.cpp" toolsToInvoke="sharc.toolchain.compiler.913943905.113949997"> |
| | | <tool id="sharc.toolchain.compiler.913943905.113949997" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler.913943905"> |
| | | <option id="compiler.option.debugcode.661630120" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <option id="compiler.option.optimization.736282020" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.1287708546" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.114413652" name="tg_param_convert.cpp" rcbsApplicability="disable" resourcePath="src/tg/tg_param_convert.cpp" toolsToInvoke="sharc.toolchain.compiler.913943905.1973590061"> |
| | | <tool id="sharc.toolchain.compiler.913943905.1973590061" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler.913943905"> |
| | | <option id="compiler.option.debugcode.1559779574" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <option id="compiler.option.optimization.49705725" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.168258965" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.776821550" name="tob.cpp" rcbsApplicability="disable" resourcePath="src/tob.cpp" toolsToInvoke="sharc.toolchain.compiler.913943905.1208184272"> |
| | | <tool id="sharc.toolchain.compiler.913943905.1208184272" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler.913943905"> |
| | | <option id="compiler.option.debugcode.1852700867" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.optimization.1367621719" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <option id="compiler.option.debugcode.1852700867" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <option id="compiler.option.optimization.1367621719" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.interprocdoptim.1519443625" name="Interprocedural optimization (-ipa)" superClass="compiler.option.interprocdoptim" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.1256387287" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.16834260" name="messageproc.cpp" rcbsApplicability="disable" resourcePath="src/messageproc.cpp" toolsToInvoke="sharc.toolchain.compiler.913943905.1594903641"> |
| | | <tool id="sharc.toolchain.compiler.913943905.1594903641" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler.913943905"> |
| | | <option id="compiler.option.optimization.1587905573" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.interprocdoptim.1994466859" name="Interprocedural optimization (-ipa)" superClass="compiler.option.interprocdoptim" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.debugcode.1592451212" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.1011213956" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.1616289192" name="dsp_report.cpp" rcbsApplicability="disable" resourcePath="src/dsp_report.cpp" toolsToInvoke="sharc.toolchain.compiler.913943905.1246190550"> |
| | | <tool id="sharc.toolchain.compiler.913943905.1246190550" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler.913943905"> |
| | | <option id="compiler.option.optimization.1678551806" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.interprocdoptim.1566787524" name="Interprocedural optimization (-ipa)" superClass="compiler.option.interprocdoptim" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.debugcode.823940128" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.2000351035" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.1607308522" name="ModuleExport.cpp" rcbsApplicability="disable" resourcePath="src/ModuleExport.cpp" toolsToInvoke="sharc.toolchain.compiler.913943905.837808415"> |
| | | <tool id="sharc.toolchain.compiler.913943905.837808415" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler.913943905"> |
| | | <option id="compiler.option.optimization.1154201452" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.interprocdoptim.639477731" name="Interprocedural optimization (-ipa)" superClass="compiler.option.interprocdoptim" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.debugcode.614342811" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.1357284043" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.961651879" name="f2f.c" rcbsApplicability="disable" resourcePath="src/f2f.c" toolsToInvoke="sharc.toolchain.compiler.913943905.255253029"> |
| | |
| | | <inputType id="compiler.inputType.142353510" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <fileInfo id="sharc.toolchain.configuration.debug.986561216.2082366073" name="FIR_acc.c" rcbsApplicability="disable" resourcePath="drv/FIR_acc.c" toolsToInvoke="sharc.toolchain.compiler.913943905.1500758045"> |
| | | <tool id="sharc.toolchain.compiler.913943905.1500758045" name="CrossCore SHARC C/C++ Compiler" superClass="sharc.toolchain.compiler.913943905"> |
| | | <option id="compiler.option.optimization.507494327" name="Enable optimization (-O)" superClass="compiler.option.optimization" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.interprocdoptim.615814182" name="Interprocedural optimization (-ipa)" superClass="compiler.option.interprocdoptim" useByScannerDiscovery="false" value="true" valueType="boolean"/> |
| | | <option id="compiler.option.debugcode.389728662" name="Generate debug information (-g)" superClass="compiler.option.debugcode" useByScannerDiscovery="false" value="false" valueType="boolean"/> |
| | | <inputType id="compiler.inputType.1521254096" name="C/C++ Source" superClass="compiler.inputType"/> |
| | | </tool> |
| | | </fileInfo> |
| | | <sourceEntries> |
| | | <entry excluding="system|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> |
| | | <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/> |
| | |
| | | firHead.status = acc_completely; |
| | | firHead.count++; |
| | | } |
| | | |
| | | if(firHead.status == acc_completely) { |
| | | for(struct FIR_tcb* fir = firHead.first; fir != NULL ; fir = fir->next) { |
| | | if(fir->callback) fir->callback(fir->content); |
| | | } |
| | | firHead.status = acc_idle; |
| | | } |
| | | } |
| | | |
| | | uvoid fir_acc_init() |
| | | { |
| | | firHead.count =0; |
| | | firHead.num =0 ; |
| | | firHead.status = acc_completely ; |
| | | firHead.status = acc_idle ; |
| | | firHead.first = NULL; |
| | | firHead.last = NULL; |
| | | |
| | |
| | | { |
| | | s32 restarting = 0; |
| | | |
| | | if(firHead.status == acc_completely && firHead.num > 0) { |
| | | if(firHead.status == acc_idle && firHead.num > 0) { |
| | | for(struct FIR_tcb* fir = firHead.first; fir != NULL ; fir = fir->next) { |
| | | if(fir->callback) fir->callback(fir->content); |
| | | |
| | | if(fir->cp_update) { |
| | | memcpy((uvoid*)fir->cf_buff, fir->cf_temp , fir->tap*sizeof(ufloat)); |
| | | fir->cp_update = ufalse; |
| | |
| | | firHead.last->next = fir; |
| | | firHead.last = fir ; |
| | | } |
| | | //fir->tcb[0] = ((s32)(firHead.first->tcb+12)>>2)|MP_OFFSET; |
| | | |
| | | firHead.num ++; |
| | | |
| | | return fir; |
| | |
| | | __MODULE_EXPORT IModule* DEQCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* DeReverbCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* DuckerCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* DuckerWithMixCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* EchoCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* ReverbCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* EQsCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | |
| | | __MODULE_EXPORT IModule* NHSCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* SignalGeneraterCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* ContinuousSPLCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* ContSplWithMixCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* DummyCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* SignalSourceCreate(u32 n, ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | | __MODULE_EXPORT IModule* InputCreate(u32 n,ubool linkEnable , u32 sampleRate, u32 sampleNum, u16 inputNum, u16 outputNum); |
| | |
| | | modules.push_back(ModuleEntry("Gain",ModuleType::PROC_GAIN, GainCreate, utrue)); |
| | | modules.push_back(ModuleEntry("GainSharingmixer",ModuleType::PROC_AUTOMIXER, GSAMCreate, ufalse)); |
| | | modules.push_back(ModuleEntry("GatingMixer",ModuleType::PROC_GATING_AUTOMIXER, GatingAMCreate, ufalse)); |
| | | modules.push_back(ModuleEntry("SPL",ModuleType::PROC_CONTINUNOUS_SPL, ContinuousSPLCreate, utrue)); |
| | | modules.push_back(ModuleEntry("SPL",ModuleType::PROC_CONTINUNOUS_SPL, ContSplWithMixCreate, ufalse)); |
| | | //modules.push_back(ModuleEntry(ModuleType::GapSPL, InputCreate, 0.00)); |
| | | modules.push_back(ModuleEntry("Ducker",ModuleType::PROC_DUCKER, DuckerCreate, utrue)); |
| | | modules.push_back(ModuleEntry("Ducker",ModuleType::PROC_DUCKER, DuckerWithMixCreate, ufalse)); |
| | | modules.push_back(ModuleEntry("AGC",ModuleType::PROC_AGC, AGCCreate, utrue)); |
| | | modules.push_back(ModuleEntry("SELECTOR",ModuleType::PROC_SELECTOR, MixerCreate, ufalse)); |
| | | modules.push_back(ModuleEntry("SignalGenerator",ModuleType::PROC_SIGNALGEN, SignalGeneraterCreate, utrue)); |
| | |
| | | } |
| | | if(tob == NULL) return ; |
| | | |
| | | if (iid == 53) |
| | | int ii = 0; |
| | | |
| | | if(var.TopoLoading){ |
| | | MuteOutput(); |
| | | } |
| | |
| | | Message(u32 num) |
| | | { |
| | | txQueue = new Queue<MSG>(num); |
| | | Levels = new s16[1000]; |
| | | Levels = new s16[1688]; |
| | | } |
| | | ~Message() |
| | | { |
| | |
| | | continue; |
| | | } |
| | | |
| | | //ducker & spl. |
| | | //ducker & spl with mix. |
| | | if(p->proc_type == PROC_DUCKER || p->proc_type == PROC_CONTINUNOUS_SPL) { |
| | | //insert a mixer. |
| | | struct Module *mixer = (struct Module *)(bin + size); |
| | | u16 channelID[64]; |
| | | |
| | | mixer->mDsp = 0; |
| | | mixer->mID = p->proc_id + 320; |
| | | mixer->mType = ModuleType::PROC_MIXER; |
| | | mixer->mTag = 0; |
| | | mixer->mPhyModule = 0; |
| | | mixer->mParamaddr = (s32)get_module_param_ptr(mixer->mType, p->parameters, p->fixed); |
| | | |
| | | size += sizeof(struct Module); |
| | | |
| | | mixer->mRxNum = str_delim(proc_list[1].inportstr, channelID) ; |
| | | memcpy(bin + size , channelID, mixer->mRxNum*sizeof(u16)); size += mixer->mRxNum*sizeof(u16); |
| | | mixer->mTxNum = 1; |
| | | memcpy(bin + size , &rxBufID[1], mixer->mTxNum*sizeof(u16)); size += mixer->mTxNum*sizeof(u16); |
| | | ninports = str_delim(proc_list[1].inportstr, &rxBufID[1]) + 1; // rxBufID[0] is the dataIn Frame, rxBufID[1]~rxBufID[inportstr] is the mix channel. |
| | | } |
| | | if(hw_adapter->get_system_is_dual_dsp()){ |
| | | dsp_index = p->dsp_index ; |
| | |
| | | else { |
| | | dsp_index = 0; |
| | | } |
| | | |
| | | |
| | | m = (struct Module *)(bin + size); |
| | | for(j = 0 ; j< ninports ;j ++) { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | //物理buffer定义顺序是16通道模拟+2通道USB+32通道Dante. |
| | | uvoid tg_hw_adapter_t::config_board(struct DSPConfig * conf) |
| | | { |
| | | u32 i; |
| | |
| | | conf->sports[0].interrupt = utrue; |
| | | conf->sports[0].rx = utrue; |
| | | |
| | | //pcg |
| | | //pcg 产生时钟 |
| | | conf->pcgs[0].enable = utrue; |
| | | conf->pcgs[0].opmode = 1; |
| | | conf->pcgs[0].width = 2; |
| | |
| | | |
| | | for (i =0 ;i < input_num_channels; i++) { |
| | | val[0] = i; val[1] = 0; |
| | | val[2] = (pducker->mask[i/15]>>(i&15))&0x1; m->Ctrl(MIXER_SWITCH, val, 3); |
| | | val[2] = (pducker->mask[i/16]>>(i&15))&0x1; m->Ctrl(MIXER_SWITCH, val, 3); |
| | | |
| | | } |
| | | } |
| | |
| | | |
| | | for(i=0 ;i < pmixer->output_num ;i ++) { |
| | | for(j =0 ;j < pmixer->input_num ;j++) { |
| | | val[0] = j; val[1] = i; val[2] = (pmixer->input_mask[i][j/15]>>(j&15))&0x1; m->Ctrl(MIXER_SWITCH, val, 3); |
| | | val[0] = j; val[1] = i; val[2] = (pmixer->input_mask[i][j/16]>>(j&15))&0x1; m->Ctrl(MIXER_SWITCH, val, 3); |
| | | // printf("oich %d %d= %x %x %x\n", i,j, val[0],val[1],val[2]); |
| | | val[0] = j; val[1] = i; val[2] = RESSIGNBIT(pmixer->input_gain[i][j]); m->Ctrl(MIXER_GAIN, val, 3); |
| | | } |
| | |
| | | FB_FLT_TYPE, |
| | | |
| | | FB_STEP, |
| | | |
| | | FB_CLEAR, |
| | | FB_PANIC, |
| | | FB_FLT_DEPTH, |
| | |
| | | |
| | | u32 tg_param_convert::DuckerParamCtrl(IModule* m, void* handle, int &plen) |
| | | { |
| | | enum DuckerID { |
| | | DUCKER_BYPASS = 0x1, |
| | | DUCKER_THRESHOLD, |
| | | DUCKER_DEPTH, |
| | | DUCKER_ATTACK, |
| | | DUCKER_HOLD, |
| | | DUCKER_RELEASE, |
| | | DUCKER_SIDE_GAIN, |
| | | DUCKER_SIDE_MUTE, |
| | | }; |
| | | |
| | | enum MixerID { |
| | | MIXER_SWITCH = 0x1, |
| | | MIXER_GAIN, |
| | | MIXER_DELAY, |
| | | MIXER_INPUT_MUTE, |
| | | MIXER_OUTPUT_MUTE, |
| | | enum DuckerWithMixID { |
| | | DUCKER_BYPASS = 0x1, //val[0]:0-取消bypass,1-使能bypass |
| | | DUCKER_THRESHOLD,//val[0]:阈值,乘以100,范围:-6000~0 |
| | | DUCKER_DEPTH,//val[0]:深度,乘以100,范围:-7200~0 |
| | | DUCKER_ATTACK,//val[0]:建立时间,范围:1~2000ms |
| | | DUCKER_HOLD,//val[0]:保持时间,范围:1~10000ms |
| | | DUCKER_RELEASE,//val[0]:释放时间,范围:1~60000ms |
| | | DUCKER_SIDE_GAIN,//val[0]:侧链增益,乘以100,范围:-7200~1200 |
| | | DUCKER_SIDE_MUTE,//val[0]:侧链静音,0-取消静音,1-静音 |
| | | DUCKER_SIDE_MIX,//val[0]:侧链混音,0-取消混音,1-混音 |
| | | }; |
| | | |
| | | if(handle == NULL) return 1; |
| | | |
| | | int i; |
| | | u16 input_num_channels, output_num_channels; |
| | | VarState var = VarState::GetInstance(); |
| | | hw_adapter_t* adpater = var.get_hw_adapter(); |
| | | adpater->get_channel_num(&input_num_channels, &output_num_channels); |
| | | short val[4]; |
| | | ptag_ducker pducker = (ptag_ducker)handle; |
| | | ptag_ducker pduck = (ptag_ducker)handle; |
| | | plen = sizeof(tag_ducker); |
| | | |
| | | val[0] = RESSIGNBIT(pducker->bypass); m->Ctrl(DUCKER_BYPASS, val, 1); |
| | | val[0] = RESSIGNBIT(pducker->threshold); m->Ctrl(DUCKER_THRESHOLD, val, 1); |
| | | val[0] = RESSIGNBIT(pducker->depth); m->Ctrl(DUCKER_DEPTH, val, 1); |
| | | val[0] = RESSIGNBIT(pducker->attacktime); m->Ctrl(DUCKER_ATTACK, val, 1); |
| | | val[0] = RESSIGNBIT(pducker->holdtime); m->Ctrl(DUCKER_HOLD, val, 1); |
| | | val[0] = RESSIGNBIT(pducker->releasetime); m->Ctrl(DUCKER_RELEASE, val, 1); |
| | | val[0] = RESSIGNBIT(pducker->side_gain); m->Ctrl(DUCKER_SIDE_GAIN, val, 1); |
| | | val[0] = RESSIGNBIT(pducker->mute); m->Ctrl(DUCKER_SIDE_MUTE, val, 1); |
| | | val[0] = RESSIGNBIT(pduck->bypass); m->Ctrl(DUCKER_BYPASS, val, 1); |
| | | val[0] = RESSIGNBIT(pduck->threshold); m->Ctrl(DUCKER_THRESHOLD, val, 1); |
| | | val[0] = RESSIGNBIT(pduck->depth); m->Ctrl(DUCKER_DEPTH, val, 1); |
| | | val[0] = RESSIGNBIT(pduck->attacktime); m->Ctrl(DUCKER_ATTACK, val, 1); |
| | | val[0] = RESSIGNBIT(pduck->holdtime); m->Ctrl(DUCKER_HOLD, val, 1); |
| | | val[0] = RESSIGNBIT(pduck->releasetime); m->Ctrl(DUCKER_RELEASE, val, 1); |
| | | val[0] = RESSIGNBIT(pduck->side_gain); m->Ctrl(DUCKER_SIDE_GAIN, val, 1); |
| | | val[0] = RESSIGNBIT(pduck->mute); m->Ctrl(DUCKER_SIDE_MUTE, val, 1); |
| | | |
| | | for (s16 i =0 ;i < input_num_channels; i++) { |
| | | val[0] = i; |
| | | val[1] = (pduck->mask[i/16]>>(i&15))&0x1; m->Ctrl(DUCKER_SIDE_MIX, val, 2); |
| | | } |
| | | |
| | | return 0; |
| | | } |
| | |
| | | |
| | | u32 tg_param_convert::SplParamCtrl(IModule* m, void* handle, int &plen) |
| | | { |
| | | enum ContinousSPLID { |
| | | SPL_BYPASS = 0x1, |
| | | enum ContSplWithMixID { |
| | | SPLMIX_BYPASS = 0x1, //val[0]:0-取消bypass,1-bypass |
| | | SPL_MAX_GAIN, |
| | | SPL_MIN_GAIN, |
| | | SPL_SENSE_RATIO, |
| | | SPL_UPSPEED, |
| | | SPL_DOWNSPEED, |
| | | SPL_SPEED, |
| | | SPL_TRIM, |
| | | SPL_THR, |
| | | SPL_DISTANCE, |
| | | }; |
| | | |
| | | enum MixerID { |
| | | MIXER_SWITCH = 0x1, |
| | | MIXER_GAIN, |
| | | MIXER_DELAY, |
| | | MIXER_INPUT_MUTE, |
| | | MIXER_OUTPUT_MUTE, |
| | | SPL_MIX, |
| | | }; |
| | | |
| | | if(handle == NULL) return 1; |
| | |
| | | u16 input_num_channels, output_num_channels ; |
| | | VarState var = VarState::GetInstance(); |
| | | hw_adapter_t* adpater = var.get_hw_adapter(); |
| | | |
| | | adpater->get_channel_num(&input_num_channels, &output_num_channels); |
| | | |
| | | int i ,j; |
| | |
| | | val[0] = RESSIGNBIT(pspl->maxgain); m->Ctrl(SPL_MAX_GAIN, val, 1); |
| | | val[0] = RESSIGNBIT(pspl->mingain); m->Ctrl(SPL_MIN_GAIN, val, 1); |
| | | val[0] = RESSIGNBIT(pspl->sense_ratio); m->Ctrl(SPL_SENSE_RATIO, val, 1); |
| | | val[0] = RESSIGNBIT(pspl->speed); m->Ctrl(SPL_UPSPEED, val, 1); |
| | | val[0] = RESSIGNBIT(pspl->speed); m->Ctrl(SPL_DOWNSPEED, val, 1); |
| | | val[0] = RESSIGNBIT(pspl->speed); m->Ctrl(SPL_SPEED, val, 1); |
| | | val[0] = RESSIGNBIT(pspl->trim); m->Ctrl(SPL_TRIM, val, 1); |
| | | val[0] = RESSIGNBIT(pspl->noise_thr); m->Ctrl(SPL_THR, val, 1); |
| | | val[0] = RESSIGNBIT(pspl->distance); m->Ctrl(SPL_DISTANCE, val, 1); |
| | | |
| | | for (i =0 ;i < input_num_channels; i++) { |
| | | val[0] = i; val[1] = 0; |
| | | val[2] = (pspl->mask[i/15]>>(i&15))&0x1 ; m->Ctrl(MIXER_SWITCH, val, 3); |
| | | val[0] = i; |
| | | val[1] = (pspl->mask[i/16]>>(i&15))&0x1 ; m->Ctrl(SPL_MIX, val, 2); |
| | | } |
| | | |
| | | return 0; |
| | |
| | | sprintf(outport_str, "1-%d", output_num); |
| | | __MADD(295,PROC_OUTPUT,outport_str,outport_str,1, 1, ¶meters.output,0, ModuleInterfaceType::SOFT_MODULE); |
| | | //sysctrl |
| | | __MADD(296,PROC_SYSCTL,outport_str,outport_str,1, 1, ¶meters.sysctl,0, ModuleInterfaceType::PHY_OUTPUT); |
| | | __MADD(296,PROC_SYSCTL,outport_str,outport_str,1, 1, ¶meters.sysctl,0, ModuleInterfaceType::SOFT_MODULE); |
| | | //meter |
| | | __MADD(297,PROC_METER,outport_str,"",1, 1, NULL, 0, ModuleInterfaceType::SOFT_MODULE); |
| | | __MADD(297,PROC_METER,outport_str,outport_str,1, 1, NULL, 0, ModuleInterfaceType::PHY_OUTPUT); |
| | | |
| | | |
| | | }; |
| | |
| | | pInput->input[j].gain =0; |
| | | pInput->input[j].mute = 0; |
| | | pInput->input[j].type=0; |
| | | pInput->input[j].phase =0 ; |
| | | pInput->input[j].phase =0; |
| | | pInput->input[j].mingain = -8000; |
| | | pInput->input[j].maxgain = 1200; |
| | | } |
| | |
| | | |
| | | u32 tg_param_ctrl::Feedback_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | // enum NHSID{ |
| | | // FB_BYPASS = 0x1, |
| | | // FB_PANIC, |
| | | // FB_THRS, |
| | | // FB_FLT_DEPTH, |
| | | // FB_STEP, |
| | | // FB_FLT_Q, |
| | | // FB_RECYCLETIME, |
| | | // |
| | | // FB_FLT_FREQ, |
| | | // FB_FLT_GAIN, |
| | | // FB_FLT_TYPE, |
| | | // |
| | | // FB_CLEAR, |
| | | // FB_CLEAR_DYNAMIC, |
| | | // }; |
| | | |
| | | enum NHSID{ |
| | | FB_BYPASS= 0x1, |
| | | FB_FLT_FREQ, |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Spl_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum ContinousSPLID { |
| | | SPL_BYPASS = 0x1, |
| | | SPL_MAX_GAIN, |
| | | SPL_MIN_GAIN, |
| | | SPL_SENSE_RATIO = 4, |
| | | SPL_UPSPEED = 5, |
| | | SPL_DOWNSPEED, |
| | | SPL_TRIM, |
| | | SPL_THR, |
| | | SPL_DISTANCE, |
| | | }; |
| | | enum ContSplWithMixID { |
| | | SPLMIX_BYPASS = 0x1, //val[0]:0-取消bypass,1-bypass |
| | | SPLMIX_MAX_GAIN, |
| | | SPLMIX_MIN_GAIN, |
| | | SPLMIX_SENSE_RATIO, |
| | | SPLMIX_SPEED = 5, |
| | | SPLMIX_TRIM, |
| | | SPLMIX_THR, |
| | | SPLMIX_DISTANCE, |
| | | SPLMIX_MIX, |
| | | }; |
| | | |
| | | s16 val[4]; |
| | | val[0] = RESSIGNBIT(val_c[0]), val[0] = RESSIGNBIT(val_c[1]); |
| | | |
| | | if (pID < 5) { |
| | | General_Ctrl(m, pID, val_c, num); |
| | | } |
| | | else { |
| | | switch (pID) { |
| | | case ContSplWithMixID::SPLMIX_SPEED: |
| | | m->Ctrl(ContinousSPLID::SPL_UPSPEED, val, 1); |
| | | m->Ctrl(ContinousSPLID::SPL_DOWNSPEED, val, 1); |
| | | break; |
| | | case ContSplWithMixID::SPLMIX_TRIM: |
| | | m->Ctrl(ContinousSPLID::SPL_TRIM, val, 1); |
| | | break; |
| | | case ContSplWithMixID::SPLMIX_THR: |
| | | m->Ctrl(ContinousSPLID::SPL_THR, val, 1); |
| | | break; |
| | | case ContSplWithMixID::SPLMIX_DISTANCE: |
| | | m->Ctrl(ContinousSPLID::SPL_DISTANCE, val, 1); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | static u32 Echo_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num); |
| | | static u32 General_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num); |
| | | static u32 Fir_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num); |
| | | static u32 Spl_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num); |
| | | }; |
| | | |
| | | |
| | |
| | | return ErrStatus::SUCCESS; |
| | | } |
| | | #define DEBUG 0 |
| | | #if 1//DEBUG |
| | | #if DEBUG |
| | | const s8* type_string[ModuleType::PROC_COUNT] = { |
| | | "none" |
| | | ,"input" |
| | |
| | | if (pmod->mDsp != dsp_index) continue; |
| | | |
| | | #if DEBUG |
| | | //if (PROC_FIR == pmod->mType) |
| | | // if (1+320 == pmod->mID) |
| | | // if (PROC_FEEDBACK == pmod->mType) |
| | | printf("Module ID %d type %d %s rxnum %d txnum %d tag %d. \n",pmod->mID ,pmod->mType, type_string[pmod->mType], pmod->mRxNum,pmod->mTxNum,pmod->mTag); |
| | | #endif |
| | | |
| | |
| | | if(nPhyOutput[mPhyID[i].mIntType] < mPhyID[i].mPhyID) |
| | | nPhyOutput[mPhyID[i].mIntType] = mPhyID[i].mPhyID; |
| | | |
| | | //pcm = frames->AllocFrame(); // It is not necessary to be compatible with the AXE1208 series here, because the TOP architecture is different. |
| | | pcm = frames->AllocFrame(); // It is not necessary to be compatible with the AXE1208 series here, because the TOP architecture is different. |
| | | m->SetOutputChannelDataPtr(i, pcm); |
| | | SetTxChannelPtr(static_cast<IntDataType>(mPhyID[i].mIntType), mPhyID[i].mPhyID-1, pcm->Data()); |
| | | // printf("mID %d,bid %d\n", pmod->mID, mPhyID[i].mPhyID-1); |
| | |
| | | { |
| | | if(processed) { |
| | | for (auto iter = mList.begin(); iter < mList.end(); iter++) { |
| | | // if(((*iter)->GetModuleType() >= 6) && ((*iter)->GetModuleType() <= 6)) { |
| | | // if(((*iter)->GetModuleType() >= PROC_FEEDBACK) && ((*iter)->GetModuleType() <= PROC_FEEDBACK)) { |
| | | // printf("%d ", (*iter)->GetModuleID()); |
| | | (*iter)->Proc(); |
| | | // } |
| | |
| | | } |
| | | |
| | | IModule* m = mList[mModuleIndex[mID]-1]; |
| | | // if (m->GetModuleType() == PROC_CONTINUNOUS_SPL && pID == 9) { |
| | | // mID += 320; |
| | | // m = mList[mModuleIndex[mID]-1]; |
| | | // } |
| | | |
| | | if( m != NULL) { |
| | | // m->Ctrl(pID, val, num); |
| | | paramset->GetCtrlEntry(m->GetModuleType())(m, pID, (s16*)val, num); |