亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? upsample.s

?? samsung 9908DVD源代碼,
?? S
?? 第 1 頁 / 共 2 頁
字號:
.include "Karaoke_def.h"



.if KARAOKE_MIXER_SUPPORTED == 1

.extern XDelayBuf_me
.extern	Up_ReadOffset
.extern	Up_writeOffset
.extern	Mix_readOffset
.extern	coeb_add
.extern	coea_add
.extern	coe_b8
.extern	coe_a8
.extern	coe_b32
.extern	coe_a32
.extern	coe_b441
.extern	coe_a441
.extern	coe_b48
.extern	coe_a48
.extern	mi_output

.extern	output
.extern	output2

.extern	upsamplefre
.extern	skip_samples

.extern	x
.extern	y
.extern coe_b
.extern coe_a
.extern	output3
.extern Mic_volume_value

.extern _MicEcho
//.extern	_load_table
//.extern	_mac_init


sec_ResampleCode	section code, AFTERADDR POST_CODE_BASE
	sec_ResampleCode

//======================================================
//r0:Sampling Rate
//r2:Valid data size
//r3:Frame Size
//======================================================
_upsample_main::
		push	r0	,r1
		push	r2	,r3
		push	r4	,r5
		push	r6	,r7
		push	a13	,a14

		eld		a, #0
		eld		msr0, a
		eld		msr1, a
		eld		msr2, a
		
		es		psh1
		es		opm
		er		op
		
		eld		sd1	,#0x1010
		eld		sd2	,sd1

		ldw		A11, @[A10+iPOST_PARAMETER_PTR]			; 4B
		ldw		r1	,@[a10+iPOST_START_FLAG]
		cmp		eq	,r1	,#0
		jpt		init_upsampler
		
//Upsampling Main Start=====================================
up_start:
		esec2	#1
		ld		a13	,#SFR_BASE
		ldw		r2	,@[a13+rCONFIG0]
		and		r2	,#0xf0
		or		r2, #(SBF0_R16lsb_z | SBF1_W16msb)
		or		r2, #0x8800							// SBL0/1 Ring mode
		ldw		@[a13+rCONFIG0]	,r2
		
		ldw		r0	,@[A10+iPOST_MIC_IN_BUF_START_PTR]
		ldw		r2	,@[A10+iPOST_MIC_IN_BUF_START_PTR+2]
		ldw		@[a13+rSBL0BEGIN+0] ,r0
		ldw		@[a13+rSBL0BEGIN+2] ,r2
		ldw		@[a13+rSBL1END+0] ,r0
		ldw		@[a13+rSBL1END+2] ,r2

		ldw		r0	,@[A10+iPOST_MIC_IN_BUF_END_PTR]
		ldw		r2	,@[A10+iPOST_MIC_IN_BUF_END_PTR+2]
		ldw		@[a13+rSBL0END+0] ,r0
		ldw		@[a13+rSBL0END+2] ,r2
		
		ld		r0	,#0
		ldw		@[a13+rSBL1BEGIN+0] ,r0
		ldw		@[a13+rSBL1BEGIN+2] ,r0

		ldw		r2	,@[a10+iPOST_OUT_BUF_OFFSET+2]
		ldw		@[a13+rSBL1OFF+0] ,r0
		ldw		@[a13+rSBL1OFF+2] ,r2
		
		ldw		r0, @[a10+iPOST_MIC_IN_BUF_RD_PTR+0]
		ldw		r2, @[a10+iPOST_MIC_IN_BUF_RD_PTR+2]
		ldw		@[a13+rSBL0OFF+0] ,r0
		ldw		@[a13+rSBL0OFF+2] ,r2	
			
		ld		r0, #SBF0_FILL
		ldw		@[a13 + rSBFCON], r0
		
		and		r2	,#0x2
		brt		aligned4
		
		eld		rp0	,#0x7FFE
		eld		b	,@rp0+s0

aligned4:		
		ldw		r4	,@[a10+iPOST_NUM_OF_SAMPLES]
		ldw		r0	,@[a10+iPOST_SAMPLE_RATE+2]
		
		cmp		eq,	r0, #0x1F40		;8000Hz
		brf		fre_11025
		
		eld		rp1, #upsamplefre
		eld		a,	 #0x7D00
		ecld	r0, a
		eld		@rp1+d1, a
		eld		a, #3
		eld		@rp1+d1, a
		
		add		r4	,r4
		brad	Valid_data
		add		r4	,r4
		
fre_11025:		
		cmp		eq,	r0, #0x2B11		;11052Hz
		brf		fre_12000
		
		eld		rp1, #upsamplefre
		eld		a,	 #0xAC44
		efz8	a
		ecld	r0, a
		eld		@rp1+d1, a
		eld		a, #3
		eld		@rp1+d1, a
		
		add		r4	,r4
		brad	Valid_data
		add		r4	,r4
		
fre_12000:		
		cmp		eq,	r0, #12000		;12000Hz
		brf		fre_16000
		
		eld		rp1, #upsamplefre
		eld		a,	 #0xBB80
		efz8	a
		ecld	r0, a
		eld		@rp1+d1, a
		eld		a, #3
		eld		@rp1+d1, a
		
		add		r4	,r4
		brad	Valid_data
		add		r4	,r4		
		
fre_16000:
		cmp		eq,	r0, #0x3E80		;16000Hz
		brf		fre_22050
		
		eld		rp1, #upsamplefre
		eld		a,	 #0x7D00
		ecld	r0, a
		eld		@rp1+d1, a
		eld		a, #1
		eld		@rp1+d1, a
		
		brad	Valid_data
		add		r4	,r4

fre_22050:
		cmp		eq,	r0, #0x5622		;22050Hz
		brf		fre_24000
		
		eld		rp1, #upsamplefre
		eld		a,	 #0xAC44
		efz8	a
		ecld	r0, a
		eld		@rp1+d1, a
		eld		a, #1
		eld		@rp1+d1, a
		
		brad	Valid_data
		add		r4	,r4

fre_24000:

		cmp		eq,	r0, #0x5DC0		;24000Hz
		brf		fre_32000
		
		eld		rp1, #upsamplefre
		eld		a,	 #0xBB80
		efz8	a
		ecld	r0, a
		eld		@rp1+d1, a
		eld		a, #1
		eld		@rp1+d1, a
		
		brad	Valid_data
		add		r4	,r4

fre_32000:		;32000, 44100, 48000
		
		eld		rp1, #upsamplefre
		ecld	a, r0
		efz8	a
		eld		@rp1+d1, a
		eld		a, #0
		eld		@rp1+d1, a


Valid_data:
		eld		rp0	,#UPInput_add		;resample input
		
		eld		b	,Up_writeOffset
		ecld	r2	,b
		eld		b	,Mix_readOffset		
		ecld	r3	,b
		
//		ldw		r0	,@[a10+iPOST_SAMPLE_RATE+2]
		
		cmp		ge	,r2	,r3
		brf		Brotate
		
		brad	Valid_check
		sub		r2	,r3					;Number of valid data
		
Brotate:
		cmp		eq	,r0	,#0x7D00		;32000
		brf		size_freq441
		
		ld		r6	,#OutputSize32
		bra		size_calcu
		
	size_freq441:
		cmp		eq	,r0	,#0xAC44		;32000
		brf		size_freq48
		
		ld		r6	,#OutputSize441
		bra		size_calcu
		
	size_freq48:
		ld		r6	,#OutputSize
		
	size_calcu:		
		sub		r6	,r3
		add		r2	,r6

Valid_check:
		ld		r3	,r4
		cmp		ge	,r2	,r3
		brf		Check_Rate
		
		cmp		eq	,r0	,#0x7D00		;32000
		brf		output_441
		
		ld		r4	,#OutputSize32
		bra		start_Mix
		
output_441:
		cmp		eq	,r0	,#0xAC44		;44100
		brf		output_48
		
		ld		r4	,#OutputSize441
		bra		start_Mix
		
output_48:
		ld		r4	,#OutputSize
		bra		start_Mix
		
Check_Rate:
.if KARAOKE_MIC_ECHO_SUPPORTED == 1
		jsr		_MicEcho
.endif
		eld		rp0	,#mi_output
		
		cmp		eq	,r0	,#0x7D00		;32000
		brf		Up_441Start
		
		jsr		_resamp_32
		
		ld		r6	,#320
		eld		rp1	,#output2
		eld		rp2	,#output3
		eld		a	,Up_writeOffset
		erpn	rp2	,a
		jsr		_LFE_pass

		add		r2	,#320
		eld		rp1	,#Up_writeOffset
		eld		a	,@rp1+s0
		eadd	a	,#320
				
		ecp		a	,#OutputSize32
		bra		ec2	,Cbuff32

		eld		a	,#0

Cbuff32:
		ld		r4	,#OutputSize32
		
		brad	Up_End
		eld		@rp1+d0	,a


Up_441Start:
		cmp		eq	,r0	,#0xAC44		;44100
		brf		Up_48Start

		jsr		_resamp_441

		ld		r6	,#441
		eld		rp1	,#output2
		eld		rp2	,#output3
		eld		a	,Up_writeOffset
		erpn	rp2	,a
		jsr		_LFE_pass

		add		r2	,#441
		eld		rp1	,#Up_writeOffset
		eld		a	,@rp1+s0
		eadd	a	,#441
		
		ecp		a	,#OutputSize441
		bra		ec2	,Cbuff441

		eld		a	,#0

Cbuff441:
		ld		r4	,#OutputSize441
		
		brad	Up_End
		eld		@rp1+d0	,a


Up_48Start:
;		cmp		eq	,r0	,#0xBB80		;48000
;		brf		UP_Error_End

		jsr		_resamp_48

		ld		r6	,#480
		eld		rp1	,#output2
		eld		rp2	,#output3
		eld		a	,Up_writeOffset
		erpn	rp2	,a
		jsr		_LFE_pass

		add		r2	,#480
		
		eld		rp1	,#Up_writeOffset
		eld		a	,@rp1+s0
		eadd	a	,#480
		
		ecp		a	,#OutputSize
		bra		ec2	,Cbuff48

		eld		a	,#0

Cbuff48:
		ld		r4	,#OutputSize
		eld		@rp1+d0	,a
		
Up_End:
		eld		rp0	,#UPInput_add		;resample input
	
		cmp		ge	,r2	,r3
		brf		Check_Rate


start_Mix:
		eld		sd0	,#0x1010
		eld		sd3	,#0x1010
		er		op
		
		ld		a13	,#SFR_BASE

		ldw		r0, @[a10+iPOST_OUT_BUF_OFFSET+0]
		ldw		r6, @[a10+iPOST_OUT_BUF_OFFSET+2]
		
		ldw		@[a13+rSBL1OFF+0],	r0
		ldw		@[a13+rSBL1OFF+2],	r6
		
		add		r0,		#0x28
		ld		e13,	r0
		ld		r13,	r6


//Mic volume Add=========================================================
			ldw		r0,	@[a11+Mic_Volume]
			eld		rp3, #Mic_volume_value
			ecld	c,	r0
			efz8	c
			erpn	rp3, c
			eld		y0, @rp3
// ======================================================================

		eld		rp1	,#skip_samples
		eld		c	,@rp1+s0							;skip_samples
		ecld	r3	,c
		add		r3	,#1

		eld		rp1	,#output3
		eld		rp3	,#0x7FFF
		eld		a	,Mix_readOffset
		erpn	rp1	,a
		ecld	r7	,a
		
		ldw		r6	,@[a10+iPOST_NUM_OF_SAMPLES]
;		sub		r6	,#1

		ldb		r0	,@[a11+Main_AudioOnOff]
		cmp		eq	,r0	,#0
		brf		NomainAudio	
		
Mixer_main:		
		cmp		eq	,r7	,r4
		brf		Mix_str
		
		eld		rp1	,#output3
		ld		r7	,#0

Mix_str:
		eld		x0	,@rp1+s1		;rp1 : mic output
		erpn	rp1, c
		emul	x0y0
		emld	ma0, x0y0
		
		;;;;; esla ma0:mic volume 2X....
		
		;esla	ma0
		;esla	ma0
		;esla	ma0					;mic out * volum * 8
		eld		ma1, ma0			;mic out * volum * 8
		
		ldw		r0, @[a13+0]
		ecld	a, r0
		esla8	a
		eld		ph, a
		
		eadd	ma0, p
		eld		a, ma0h
		eld		@rp3+d0	,a			;Left 

.if	OUTPUT_MODE == OUT_2CH
		ldw		r0, @[a13+2]
.endif

.if	OUTPUT_MODE == OUT_6CH
		ldw		r0,	@[a13+2]
		ecld	a,	r0
		esla8	a
		eld		@rp3+d0	,a			;LS 
		
		ldw		r0,	@[a13+4]
		ecld	a,	r0
		esla8	a
		eld		@rp3+d0	,a			;C

		ldw		r0, @[a13+6]
.endif

.if	OUTPUT_MODE == OUT_8CH
		ldw		r0,	@[a13+2]
		ecld	a,	r0
		esla8	a
		eld		@rp3+d0	,a			;L 
		
		ldw		r0,	@[a13+4]
		ecld	a,	r0
		esla8	a
		eld		@rp3+d0	,a			;LS

		ldw		r0, @[a13+6]
		ecld	a,	r0
		esla8	a
		eld		@rp3+d0	,a			;C
		
		ldw		r0, @[a13+8]
.endif
		
		ecld	a, r0
		esla8	a
		eld		ph, a
		
		eadd	ma1, p
		eld		a, ma1h
;		eadd	a	,b
		eld		@rp3+d0	,a			;R
		
.if	OUTPUT_MODE == OUT_2CH
		add		a13, #4		
.endif		
		
.if	OUTPUT_MODE == OUT_6CH
		ldw		r0,	@[a13+8]
		ecld	a,	r0
		esla8	a
		eld		@rp3+d0	,a			;RS 
		
		ldw		r0,	@[a13+10]
		ecld	a,	r0
		esla8	a
		eld		@rp3+d0	,a			;W

		add		a13, #12
.endif

.if	OUTPUT_MODE == OUT_8CH
		ldw		r0,	@[a13+10]
		ecld	a,	r0
		esla8	a
		eld		@rp3+d0	,a			;R 
		
		ldw		r0,	@[a13+12]
		ecld	a,	r0
		esla8	a
		eld		@rp3+d0	,a			;RS

		ldw		r0, @[a13+14]
		ecld	a,	r0
		esla8	a
		eld		@rp3+d0	,a			;W
		
		add		a13, #16
.endif
;		bnzd	r6	,Mixer_main
		dt		r6	
		brfd	Mixer_main
		add		r7, r3

		bra		upsampleEnd

NomainAudio:
		ld		r0	,#0

Nomix_main:
		cmp		eq	,r7	,r4
		brf		Mix_strNo
		
		eld		rp1	,#output3
		ld		r7	,#0

Mix_strNo:


		eld		x0	,@rp1+s1		;rp1 : mic output
		erpn	rp1, c
		emul	x0y0
		emld	ma0, x0y0
		
		;;;;; esla ma0:mic volume 2X....
		
		;esla	ma0
		;esla	ma0
		;esla	ma0					;mic out * volum * 8
		eld		ma1, ma0			;mic out * volum * 8
		
;		ldw		r0, @[a13+0]
;		ecld	a, r0
;		esla8	a
;		eld		ph, a
;		eadd	ma0, p
		eld		a, ma0h
		eld		@rp3+d0	,a			;Left 

;.if	OUTPUT_MODE == OUT_2CH
;		ldw		r0, @[a13+2]
;.endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线亚洲一区观看| 成人福利电影精品一区二区在线观看| 久久婷婷综合激情| 欧美草草影院在线视频| 精品美女一区二区三区| 欧美一级二级在线观看| 日韩三级精品电影久久久 | 国产精品一区二区你懂的| 奇米色一区二区| 久久机这里只有精品| 青青青爽久久午夜综合久久午夜| 日本vs亚洲vs韩国一区三区二区| 美女视频一区在线观看| 久久99九九99精品| 国产精品99久久久| av在线不卡观看免费观看| 色综合中文综合网| 欧美精品三级在线观看| 日韩欧美二区三区| 欧美国产日韩在线观看| 亚洲精品高清在线| 日韩高清一级片| 国产福利精品导航| 在线视频国内自拍亚洲视频| 欧美日韩中文字幕一区| 日韩欧美亚洲另类制服综合在线| 国产日韩欧美精品电影三级在线| 综合久久给合久久狠狠狠97色| 亚洲最新视频在线观看| 男女激情视频一区| youjizz久久| 欧美一区三区四区| 国产精品国产a| 亚洲18女电影在线观看| 国产在线视频一区二区三区| 91猫先生在线| 精品国产污污免费网站入口| 亚洲天堂中文字幕| 狠狠色伊人亚洲综合成人| 91首页免费视频| 精品国产一区二区三区不卡| 亚洲乱码中文字幕| 国产美女在线精品| 欧美日韩在线免费视频| 中文字幕不卡的av| 裸体歌舞表演一区二区| 在线观看av一区| 国产精品视频第一区| 免费一级片91| 欧美日韩一区二区电影| 国产精品初高中害羞小美女文| 免费高清视频精品| 欧美日韩国产综合一区二区| **网站欧美大片在线观看| 极品少妇一区二区| 欧美高清性hdvideosex| 一区二区三区四区亚洲| 成人网页在线观看| 久久久久久久久久久黄色 | 日韩一区二区三区四区五区六区 | 日韩免费视频一区二区| 亚洲成av人片| 欧洲国产伦久久久久久久| 亚洲视频中文字幕| 成人激情免费网站| 久久综合九色综合97婷婷女人| 亚洲成人黄色小说| 欧美亚洲一区二区在线| 一区二区三区中文字幕精品精品| 99精品久久免费看蜜臀剧情介绍| 国产精品视频免费| 懂色av一区二区三区蜜臀| 久久综合久色欧美综合狠狠| 麻豆精品视频在线| 精品国产乱码久久久久久1区2区| 日韩不卡免费视频| 欧美久久婷婷综合色| 日本在线不卡一区| 欧美一三区三区四区免费在线看| 五月婷婷综合在线| 欧美日韩一区二区三区免费看| 亚洲国产综合在线| 欧美日韩高清一区二区三区| 三级欧美在线一区| 欧美一区二区三区免费| 蜜臀精品久久久久久蜜臀 | 国产精品九色蝌蚪自拍| av动漫一区二区| 自拍偷在线精品自拍偷无码专区| 99精品国产一区二区三区不卡| 亚洲伦理在线精品| 欧美日韩国产高清一区二区 | 久久久国际精品| 成人综合在线网站| 亚洲欧美日韩电影| 欧美色网站导航| 麻豆91在线播放免费| 26uuu亚洲综合色| aaa亚洲精品一二三区| 亚洲欧美二区三区| 欧美一区二区三区在线观看| 国产一区二三区| 一区二区在线观看免费视频播放| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 亚洲一区二区中文在线| 欧美一区二区女人| 99久久综合狠狠综合久久| 午夜精品久久久久| 久久网站最新地址| 在线精品视频免费观看| 国内精品久久久久影院一蜜桃| 亚洲日本丝袜连裤袜办公室| 在线电影欧美成精品| 国产不卡在线一区| 亚洲一区二区三区四区五区黄| 精品美女一区二区| 日本韩国欧美三级| 久久成人羞羞网站| 亚洲成人av一区| 欧美国产日韩亚洲一区| 欧美一级国产精品| 欧美三级电影一区| 国产不卡视频一区二区三区| 日韩成人一区二区三区在线观看| 1024成人网| 久久久久久99精品| 欧美精品丝袜久久久中文字幕| 成人黄页在线观看| 精品一区二区免费| 视频一区视频二区中文字幕| 亚洲人成7777| 国产日韩欧美精品电影三级在线| 欧美一区三区二区| 欧美精品三级在线观看| 在线观看免费成人| www.一区二区| 粉嫩aⅴ一区二区三区四区五区| 视频在线观看一区二区三区| 亚洲欧美日韩一区二区三区在线观看 | 91在线你懂得| 高清不卡在线观看av| 国产在线视视频有精品| 日本不卡一二三区黄网| 午夜精品福利久久久| 亚洲精品久久7777| 椎名由奈av一区二区三区| 国产欧美综合在线观看第十页| 精品国产乱码久久久久久影片| 欧美日韩视频专区在线播放| 欧美中文字幕一区二区三区| 99国产麻豆精品| 91猫先生在线| 色婷婷综合久色| 在线观看亚洲a| 欧美丰满一区二区免费视频| 欧美日韩一级二级| 欧美视频日韩视频| 欧美嫩在线观看| 3751色影院一区二区三区| 欧美高清视频在线高清观看mv色露露十八 | 亚洲综合色视频| 亚洲成人av福利| 麻豆视频一区二区| 国产一本一道久久香蕉| bt欧美亚洲午夜电影天堂| 91美女精品福利| 欧美日韩成人在线| 久久这里只有精品视频网| 国产精品欧美综合在线| 17c精品麻豆一区二区免费| 亚洲色图欧洲色图| 日日噜噜夜夜狠狠视频欧美人| 免费成人av资源网| 成人性视频免费网站| 在线影院国内精品| 91精品国产综合久久久久| 久久你懂得1024| 国产精品美女视频| 午夜伦欧美伦电影理论片| 激情都市一区二区| 97国产一区二区| 日韩欧美亚洲一区二区| 国产精品久久毛片av大全日韩| 伊人性伊人情综合网| 免费人成在线不卡| av在线一区二区| 在线播放/欧美激情| 久久影院视频免费| 一区二区三区日韩| 国产一区二区三区av电影| 91官网在线免费观看| 精品久久久久久久久久久久久久久| 中文字幕va一区二区三区| 日日欢夜夜爽一区| 99re热这里只有精品免费视频| 日韩欧美国产高清| 一区二区在线观看视频| 国产91高潮流白浆在线麻豆| 欧美精品在线一区二区三区| 国产精品久久久久婷婷二区次|