?? config_pscon.h
字號:
/******************************************************************************
* Copyright (c) 2004 VOISO Semiconductor co.,Ltd. All Rights Reserved.
*
* VOISO Semiconductor has intellectual property rights on the PITCH &
* SPEED CONTROL algorithm.
*
* DESCRIPTION
*
* @module : ASM-Header for Pitch & Speed Control
* @author1 : Jae-Hoe Yang (+82-51-510-2173, jhyang@voiso.com)
* @author2
* @version : 2.1
* @log
* - 2004.04.02 : insert compile options & implement high quality (ver 2.1)
* - 2004.03.20 : code size down & mips up<quality up(a little)> (ver 2.0)
* - 2004.02.10 : add 'PSconFunc' function (ver 1.2)
* - 2004.02.04 : revision (ver 1.1)
* - 2003.10.11 : complete (ver 1.0)
* - 2003.09.20 : start code generation
* @mips (ref. Fs=44.1kHz, STEREO, about 288000-samples Tested) : data dependent
* --> For more details, refer to "code_summary.txt" file.
* (High-Quality option & Worst Case Condition)
* <1> Pitch Control
* --> about MP3-14.5 / MPG-16.1 / WMA-13.8 MIPS
* <2> Speed Control : final mips = result(mips)/rate(fast or slow)
* --> about MP3-24.1 / MPG-27.6 / WMA-22.5 MIPS
* <3> Pitch & Speed Control : final mips = result(mips)/rate(fast or slow)
* --> about MP3-37.3 / MPG-42.2 / WMA-34.8 MIPS
******************************************************************************/
OUT_2CH: .equ 0
OUT_6CH: .equ 1
OUT_8CH: .equ 2
OUTPUT_MODE: .equ OUT_2CH // Select 2Ch/6Ch/8Ch
StartAddress_Xmem_Mac equ 0x2650//0x264C//0x0000
StartAddress_Xmem_Calm equ (0x200000 + StartAddress_Xmem_Mac*2)
StartAddress_Ymem_Mac equ 0xA8EA//0x8000
//---------------------------------------------------------//
// Options for Compile
//---------------------------------------------------------//
PS_BOTH EQU 1
P_ONLY EQU 2
S_ONLY EQU 3
OS_MODE EQU P_ONLY
QUALITY_HI EQU 1
MONO_MODE EQU 1
//---------------------------------------------------------//
// Define Condition Code
//---------------------------------------------------------//
FEQB EQU 0
FNEB EQU 1
FLTB EQU 2
FGEB EQU 3
FCRB EQU 4
FNCB EQU 5
FVAB EQU 6
FNVB EQU 7
FGTB EQU 8
FLEB EQU 9
FM0B EQU 10
FM1B EQU 11
FVSB EQU 12
FMVB EQU 14
FTTB EQU 15
//---------------------------------------------------------//
// Channel Index
//---------------------------------------------------------//
MONO EQU 0
STEREO EQU 1
//---------------------------------------------------------//
// Sampling Frequency Index
//---------------------------------------------------------//
Fs_48 EQU 3
Fs_44 EQU 4
Fs_32 EQU 5
Fs_24 EQU 6
Fs_22 EQU 7
Fs_16 EQU 8
Fs_12 EQU 9
Fs_11 EQU 10
Fs_08 EQU 11
//---------------------------------------------------------//
// Frame Size Index
//---------------------------------------------------------//
FN_256 EQU 0
FN_288 EQU 1
FN_384 EQU 2
FN_512 EQU 3
FN_576 EQU 4
FN_768 EQU 5
FN_1024 EQU 6
FN_1152 EQU 7
FN_1536 EQU 8
//---------------------------------------------------------//
// PSCON_Param_t Structure => Karaoke_Param_t include this
//---------------------------------------------------------//
PSC_Pidx EQU 0 // 1B
PSC_Sidx EQU 1 // 1B
PSC_Chidx EQU 2 // 1B
PSC_Fsidx EQU 3 // 1B
PSC_FrameNo EQU 4 // 2B
PSC_Samples EQU 6 // 2B
//---------------------------------------------------------//
// PostCodecShared_t Structure
//---------------------------------------------------------//
CodecStartFlag EQU 0 // 2B
pParameter EQU 2 // 4B
NumberOfSample EQU 6 // 2B
PCMResolution EQU 8 // 1B
DecodeErrFlag EQU 9 // 1B
SamplingRate EQU 10 // 4B
InputBufferOffset EQU 14 // 4B
OutputBufferOffset EQU 18 // 4B
AudioMode EQU 22 // 1B
;--------------------------------------
PStmp EQU 23 // 1B
PSconIbufferPointer EQU 24 // 4B
PSconIbufferRPointer EQU 28 // 4B
PSconIbufferEnd EQU 32 // 4B
OutputBufferPointer EQU 36 // 4B
OutputBufferWPointer EQU 40 // 4B
OutputBufferEnd EQU 44 // 4B
TransBufferPointer EQU 48 // 4B
TransBufferWPointer EQU 52 // 4B
TransBufferEnd EQU 56 // 4B
//---------------------------------------------------------//
//---------------------------------------------------------//
MAX_32 EQU 0x7fffffff
MIN_32 EQU 0x80000000
MAX_16 EQU 0x7fff
MIN_16 EQU 0x8000
//---------------------------------------------------------//
FALSE EQU 0
TRUE EQU 1
UP_THRESHOLD EQU 410
DN_THRESHOLD EQU 160
SAMPLE_TH EQU 200
REF_VALUE EQU 0x2000 /* 8192 */
FAST EQU 0
SLOW EQU 1
MAX_VALUE EQU 0x100
FRAME_MP3_LO EQU 288
FRAME_MPG_LO EQU 384
FRAME_WMA_LO EQU 256
FRAME_MP3_HI EQU 576
FRAME_MPG_HI EQU 768
FRAME_WMA_HI EQU 512
// For Local Variables
//RPD1.adr2 <--> RPi
b00_0 EQU 0
b00_1 EQU 0
b00_2 EQU 0
b00_3 EQU 0
b01_0 EQU 1
b01_1 EQU 1
b01_2 EQU 1
b01_3 EQU 1
b10_0 EQU 2
b10_1 EQU 2
b10_2 EQU 2
b10_3 EQU 2
b11_0 EQU 3
b11_1 EQU 3
b11_2 EQU 3
b11_3 EQU 3
b00_8 EQU 0
b00_11 EQU 0
b00_12 EQU 0
b00_15 EQU 0
//RPD1--PSCtBuff1
//-->reserved : 0-3/8,11,12,15/16-19/
Pfrac EQU 4
Sinit EQU 5
Mode EQU 6
Rmax EQU 7
LoopCnt EQU 9
InitCnt EQU 10
onesamp EQU 13
Pvalue EQU 14
Svalue EQU 20
SpeedTab1 EQU 21
Bunja EQU 22
BufSel EQU 23
Ksyn EQU 24
ExpBm1 EQU 25
ExpBm2 EQU 26
SynF2 EQU 29
AccLen EQU 30
PSboth EQU 31
;-----------------
//RPD0--PSCtBuff0
//-->reserved : 0-3/16-19
OneFrame EQU 4
TwoFrame EQU 5
TriFrame EQU 6
SynF1 EQU 7
SynBfo EQU 8
SynLen EQU 9
OverlapLen EQU 10
BndIdx EQU 11
Kmin EQU 12
Kmax EQU 13
Kpnt EQU 14
Kbfo EQU 15
;-----------------
Engy0 EQU 20
Engy1 EQU 21
Engy2 EQU 22
Kbgn EQU 23 //~25
Kend EQU 26 //~28
Kreg EQU 29 //~31
;-----------------
PitchTab_SIZE EQU 50
SpeedTab_SIZE EQU 50+22
.if 1
ADM_BASE equ 0x2c0000
rCONFIG0 equ 0x0
rXBASE_H equ 0x36
rXBASE_L equ 0x38
rYBASE_H equ 0x3a
rYBASE_L equ 0x3c
rS0BASE_H equ 0x3e
rS0BASE_L equ 0x40
rS1BASE_H equ 0x42
rS1BASE_L equ 0x44
rCACHECON equ 0x48
rCACHESTAT equ 0x4e
rSBFCON equ 0x4a
rSFSTAT equ 0x50
rSB0OFF_H equ 0x52
rSB0OFF_L equ 0x54
rSB1OFF_H equ 0x56
rSB1OFF_L equ 0x58
rSB0BEGIN_H equ 0x5a
rSB0BEGIN_L equ 0x5c
rSB0END_H equ 0x62
rSB0END_L equ 0x64
rSB1BEGIN_H equ 0x5e
rSB1BEGIN_L equ 0x60
rSB1END_H equ 0x66
rSB1END_L equ 0x68
//////////////////////////////////
CONFIG0 equ ADM_BASE+0x0
XBASE_H equ ADM_BASE+0x36
XBASE_L equ ADM_BASE+0x38
YBASE_H equ ADM_BASE+0x3a
YBASE_L equ ADM_BASE+0x3c
S0BASE_H equ ADM_BASE+0x3e
S0BASE_L equ ADM_BASE+0x40
S1BASE_H equ ADM_BASE+0x42
S1BASE_L equ ADM_BASE+0x44
CACHECON equ ADM_BASE+0x48
CACHESTAT equ ADM_BASE+0x4e
SBFCON equ ADM_BASE+0x4a
SFSTAT equ ADM_BASE+0x50
SB0OFF_H equ ADM_BASE+0x52
SB0OFF_L equ ADM_BASE+0x54
SB1OFF_H equ ADM_BASE+0x56
SB1OFF_L equ ADM_BASE+0x58
SB0BEGIN_H equ ADM_BASE+0x5a
SB0BEGIN_L equ ADM_BASE+0x5c
SB0END_H equ ADM_BASE+0x62
SB0END_L equ ADM_BASE+0x64
SB1BEGIN_H equ ADM_BASE+0x5e
SB1BEGIN_L equ ADM_BASE+0x60
SB1END_H equ ADM_BASE+0x66
SB1END_L equ ADM_BASE+0x68
////////////////////////////////////////
SBF1_W16msb equ 0x700
SBF1_W16lsb equ 0x400
SBF1_W24lsb equ 0x000
SBF0_R16msb equ 0x7000
SBF0_R16lsb_s equ 0x5000
SBF0_R16lsb_z equ 0x4000
SBF1_FLUSH equ 0x200
SBF0_FILL equ 0x1000
.else
ADM_BASE equ 0x3f0000
rCONFIG0 equ 0x0
rS0BASE_H equ 0x36
rS0BASE_L equ 0x38
rS1BASE_H equ 0x3A
rS1BASE_L equ 0xAC
rSB0OFF_H equ 0x46
rSB0OFF_L equ 0x48
rSB1OFF_H equ 0x4A
rSB1OFF_L equ 0x4C
rSBFCON equ 0x42
rSFSTAT equ 0x44
rSBFSTAT equ 0x44
SBF1_FLUSH equ 0x200
SBF0_FILL equ 0x1000
SBF1_W16msb equ 0x700
SBF1_W16lsb equ 0x400
SBF1_W24lsb equ 0x000
SBF0_R16msb equ 0x7000
SBF0_R16lsb_s equ 0x5000
SBF0_R16lsb_z equ 0x4000
.endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -