ao_mpegpes.mid

来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 637 行

MID
637
字号
	.file	1 "ao_mpegpes.c"	.section .mdebug.abi32	.previous	.section	.text.control,"ax",@progbits	.align	2	.align	5	.ent	control	.type	control, @functioncontrol:	.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0	.mask	0x00000000,0	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		j	$31	li	$2,-1			# 0xffffffffffffffff	.set	macro	.set	reorder	.end	control	.section	.text.uninit,"ax",@progbits	.align	2	.align	5	.ent	uninit	.type	uninit, @functionuninit:	.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0	.mask	0x00000000,0	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		j	$31	nop	.set	macro	.set	reorder	.end	uninit	.section	.text.reset,"ax",@progbits	.align	2	.align	5	.ent	reset	.type	reset, @functionreset:	.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0	.mask	0x00000000,0	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		j	$31	nop	.set	macro	.set	reorder	.end	reset	.section	.text.audio_resume,"ax",@progbits	.align	2	.align	5	.ent	audio_resume	.type	audio_resume, @functionaudio_resume:	.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0	.mask	0x00000000,0	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		j	$31	nop	.set	macro	.set	reorder	.end	audio_resume	.globl	__floatsisf	.globl	__extendsfdf2	.globl	__muldf3	.globl	__truncdfsf2	.globl	__lesf2	.globl	__mulsf3	.globl	__fixsfsi	.section	.rodata.cst8,"aM",@progbits,8	.align	3$LC0:	.word	2074564648	.word	1055345979	.section	.text.get_space,"ax",@progbits	.align	2	.align	5	.ent	get_space	.type	get_space, @functionget_space:	.frame	$sp,32,$31		# vars= 0, regs= 3/0, args= 16, gp= 0	.mask	0x80030000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-32	sw	$17,20($sp)	sw	$31,24($sp)	sw	$16,16($sp)	lui	$2,%hi(vo_mpegpes_fd)	lui	$3,%hi(ao_data)	lw	$4,%lo(vo_mpegpes_fd)($2)	addiu	$17,$3,%lo(ao_data)	lui	$2,%hi(vo_pts)	lw	$3,%lo(vo_pts)($2)	li	$5,32000			# 0x7d00	bltz	$4,$L12	lw	$2,24($17)	jal	__floatsisf	subu	$4,$3,$2	jal	__extendsfdf2	move	$4,$2	lui	$4,%hi($LC0)	lw	$6,%lo($LC0)($4)	lw	$7,%lo($LC0+4)($4)	move	$5,$3	jal	__muldf3	move	$4,$2	move	$5,$3	jal	__truncdfsf2	move	$4,$2	move	$4,$2	move	$5,$0	jal	__lesf2	move	$16,$2	blez	$2,$L12	move	$5,$0	lui	$2,%hi(freq)	lw	$4,%lo(freq)($2)	jal	__floatsisf	sll	$4,$4,2	move	$5,$2	jal	__mulsf3	move	$4,$16	jal	__fixsfsi	move	$4,$2	lw	$3,16($17)	li	$5,32000			# 0x7d00	div	$0,$2,$3	teq	$3,$0,7	mflo	$2	mul	$3,$3,$2	slt	$2,$3,32001	movn	$5,$3,$2$L12:	lw	$31,24($sp)	lw	$17,20($sp)	lw	$16,16($sp)	move	$2,$5	j	$31	addiu	$sp,$sp,32	.set	macro	.set	reorder	.end	get_space	.section	.text.get_delay,"ax",@progbits	.align	2	.align	5	.ent	get_delay	.type	get_delay, @functionget_delay:	.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0	.mask	0x00000000,0	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		j	$31	move	$2,$0	.set	macro	.set	reorder	.end	get_delay	.section	.text.play,"ax",@progbits	.align	2	.align	5	.ent	play	.type	play, @functionplay:	.frame	$sp,40,$31		# vars= 0, regs= 2/0, args= 32, gp= 0	.mask	0x80010000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-40	lui	$7,%hi(ao_data)	sw	$16,32($sp)	sw	$31,36($sp)	addiu	$6,$7,%lo(ao_data)	lw	$3,8($6)	li	$2,192			# 0xc0	move	$9,$4	beq	$3,$2,$L30	move	$16,$5	li	$2,256			# 0x100	beq	$3,$2,$L31	srl	$2,$5,31$L24:	addiu	$2,$7,%lo(ao_data)$L32:	lw	$8,24($2)	lui	$3,%hi(freq_id)	sra	$2,$8,31	lw	$7,%lo(freq_id)($3)	sw	$2,20($sp)	lui	$2,%hi(my_ao_write)	move	$5,$16	addiu	$2,$2,%lo(my_ao_write)	move	$4,$9	li	$6,160			# 0xa0	sw	$7,24($sp)	sw	$2,28($sp)	jal	send_mpeg_lpcm_packet	sw	$8,16($sp)	move	$2,$16	lw	$31,36($sp)	lw	$16,32($sp)	j	$31	addiu	$sp,$sp,40$L31:	addu	$2,$2,$5	sra	$6,$2,1	blez	$6,$L24	move	$5,$0$L27:	lhu	$2,0($4)	addiu	$5,$5,1	sll	$3,$2,8	srl	$2,$2,8	or	$2,$2,$3	sh	$2,0($4)	bne	$6,$5,$L27	addiu	$4,$4,2	j	$L32	addiu	$2,$7,%lo(ao_data)$L30:	lw	$7,24($6)	li	$3,1			# 0x1	sra	$2,$7,31	sw	$2,20($sp)	lui	$2,%hi(my_ao_write)	addiu	$2,$2,%lo(my_ao_write)	li	$6,448			# 0x1c0	sw	$3,24($sp)	sw	$2,28($sp)	jal	send_mpeg_pes_packet	sw	$7,16($sp)	move	$2,$16	lw	$31,36($sp)	lw	$16,32($sp)	j	$31	addiu	$sp,$sp,40	.set	macro	.set	reorder	.end	play	.section	.text.my_ao_write,"ax",@progbits	.align	2	.align	5	.ent	my_ao_write	.type	my_ao_write, @functionmy_ao_write:	.frame	$sp,24,$31		# vars= 0, regs= 2/0, args= 16, gp= 0	.mask	0x80010000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-24	sw	$16,16($sp)	lui	$2,%hi(vo_mpegpes_fd2)	sw	$31,20($sp)	lw	$3,%lo(vo_mpegpes_fd2)($2)	move	$16,$5	move	$6,$5	move	$2,$0	move	$5,$4	bltz	$3,$L36	move	$4,$3	jal	write	nop	move	$2,$16$L36:	lw	$31,20($sp)	lw	$16,16($sp)	j	$31	addiu	$sp,$sp,24	.set	macro	.set	reorder	.end	my_ao_write	.section	.rodata.str1.4,"aMS",@progbits,1	.align	2$LC1:	.ascii	"card\000"	.align	2$LC2:	.ascii	"file\000"	.align	2$LC3:	.ascii	"AO_MPEGPES, Unrecognized options\012\000"	.align	2$LC4:	.ascii	"DVB card number must be between 1 and 4\012\000"	.align	2$LC5:	.ascii	"rb\000"	.align	2$LC6:	.ascii	"ao_mpegpes: %s\012\000"	.align	2$LC7:	.ascii	"[AO MPEGPES] %d Hz not supported, try to resample.\012\000"	.section	.text.init,"ax",@progbits	.align	2	.align	5	.ent	init	.type	init, @functioninit:	.frame	$sp,112,$31		# vars= 72, regs= 5/0, args= 16, gp= 0	.mask	0x800f0000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-112	sw	$16,88($sp)	addiu	$16,$sp,24	sw	$19,100($sp)	sw	$18,96($sp)	sw	$17,92($sp)	move	$5,$0	li	$17,1			# 0x1	move	$18,$4	move	$19,$6	move	$4,$16	li	$6,60			# 0x3c	sw	$31,104($sp)	sw	$17,16($sp)	jal	memset	sw	$0,20($sp)	lui	$2,%hi($LC1)	lui	$3,%hi(ao_subdevice)	addiu	$2,$2,%lo($LC1)	lw	$4,%lo(ao_subdevice)($3)	sw	$2,24($sp)	lui	$2,%hi($LC2)	addiu	$3,$sp,16	addiu	$2,$2,%lo($LC2)	sw	$3,32($sp)	sw	$2,44($sp)	li	$3,3			# 0x3	addiu	$2,$sp,20	move	$5,$16	sw	$17,28($sp)	sw	$3,48($sp)	jal	subopt_parse	sw	$2,52($sp)	bne	$2,$0,$L61	lw	$2,16($sp)	addiu	$2,$2,-1	sltu	$3,$2,4	beq	$3,$0,$L62	lw	$4,20($sp)	beq	$4,$0,$L63	sw	$2,16($sp)	lui	$5,%hi($LC5)	jal	BUFF_Open	addiu	$5,$5,%lo($LC5)	lui	$3,%hi(vo_mpegpes_fd2)	bltz	$2,$L64	sw	$2,%lo(vo_mpegpes_fd2)($3)	lui	$16,%hi(ao_data)$L69:	addiu	$4,$16,%lo(ao_data)	li	$2,2			# 0x2	sw	$2,4($4)	li	$3,2000			# 0x7d0	li	$2,192			# 0xc0	beq	$19,$2,$L50	sw	$3,16($4)	li	$2,256			# 0x100	beq	$19,$2,$L50	li	$2,8			# 0x8	beq	$19,$2,$L50	nop	sw	$2,8($4)	li	$2,44100			# 0xac44	bne	$18,$2,$L67	slt	$2,$2,$18$L54:	li	$2,131072			# 0x20000	ori	$4,$2,0xb110	li	$3,2			# 0x2	lui	$2,%hi(freq_id)	j	$L58	sw	$3,%lo(freq_id)($2)$L62:	lui	$6,%hi($LC4)	addiu	$6,$6,%lo($LC4)	li	$4,3			# 0x3	jal	mp_msg	li	$5,1			# 0x1	move	$2,$0$L41:	lw	$31,104($sp)	lw	$19,100($sp)	lw	$18,96($sp)	lw	$17,92($sp)	lw	$16,88($sp)	j	$31	addiu	$sp,$sp,112$L50:	addiu	$2,$16,%lo(ao_data)	sw	$19,8($2)	li	$2,44100			# 0xac44	beq	$18,$2,$L54	slt	$2,$2,$18$L67:	bne	$2,$0,$L57	li	$2,48000			# 0xbb80	li	$2,32000			# 0x7d00	beq	$18,$2,$L66	li	$2,65536			# 0x10000	lui	$6,%hi($LC7)$L68:	move	$7,$18	li	$4,4			# 0x4	addiu	$6,$6,%lo($LC7)	jal	mp_msg	li	$5,1			# 0x1	lui	$2,%hi(freq_id)	li	$3,131072			# 0x20000	sw	$0,%lo(freq_id)($2)	ori	$4,$3,0xee00	li	$18,48000			# 0xbb80$L58:	addiu	$2,$16,%lo(ao_data)	lui	$3,%hi(freq)	sw	$4,12($2)	sw	$18,%lo(freq)($3)	sw	$18,%lo(ao_data)($16)	lw	$31,104($sp)	lw	$19,100($sp)	lw	$18,96($sp)	lw	$17,92($sp)	lw	$16,88($sp)	li	$2,1			# 0x1	j	$31	addiu	$sp,$sp,112$L61:	lui	$6,%hi($LC3)	addiu	$6,$6,%lo($LC3)	li	$4,3			# 0x3	jal	mp_msg	li	$5,1			# 0x1	lw	$31,104($sp)	lw	$19,100($sp)	lw	$18,96($sp)	lw	$17,92($sp)	lw	$16,88($sp)	move	$2,$0	j	$31	addiu	$sp,$sp,112$L57:	beq	$18,$2,$L55	li	$2,65536			# 0x10000	ori	$2,$2,0x7700	bne	$18,$2,$L68	lui	$6,%hi($LC7)	li	$2,327680			# 0x50000	ori	$4,$2,0xdc00	li	$3,1			# 0x1	lui	$2,%hi(freq_id)	j	$L58	sw	$3,%lo(freq_id)($2)$L63:	lui	$2,%hi(vo_mpegpes_fd)	lw	$3,%lo(vo_mpegpes_fd)($2)	bgez	$3,$L69	lui	$16,%hi(ao_data)	j	$L41	move	$2,$0$L55:	li	$2,131072			# 0x20000	lui	$3,%hi(freq_id)	ori	$4,$2,0xee00	j	$L58	sw	$0,%lo(freq_id)($3)$L66:	ori	$4,$2,0xf400	li	$3,3			# 0x3	lui	$2,%hi(freq_id)	j	$L58	sw	$3,%lo(freq_id)($2)$L64:	jal	__errno_location	nop	jal	strerror	lw	$4,0($2)	lui	$6,%hi($LC6)	move	$7,$2	addiu	$6,$6,%lo($LC6)	li	$4,3			# 0x3	jal	mp_msg	li	$5,1			# 0x1	j	$L41	move	$2,$0	.set	macro	.set	reorder	.end	init	.section	.text.audio_pause,"ax",@progbits	.align	2	.align	5	.ent	audio_pause	.type	audio_pause, @functionaudio_pause:	.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0	.mask	0x00000000,0	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		j	$31	nop	.set	macro	.set	reorder	.end	audio_pause	.globl	vo_mpegpes_fd2	.data	.align	2	.type	vo_mpegpes_fd2, @object	.size	vo_mpegpes_fd2, 4vo_mpegpes_fd2:	.word	-1	.globl	audio_out_mpegpes	.align	2	.type	audio_out_mpegpes, @object	.size	audio_out_mpegpes, 40audio_out_mpegpes:	.word	info	.word	control	.word	init	.word	uninit	.word	reset	.word	get_space	.word	play	.word	get_delay	.word	audio_pause	.word	audio_resume	.local	freq_id	.comm	freq_id,4,4	.local	freq	.comm	freq,4,4	.section	.rodata.str1.4	.align	2$LC8:	.ascii	"Mpeg-PES audio output\000"	.align	2$LC9:	.ascii	"mpegpes\000"	.align	2$LC10:	.ascii	"A'rpi\000"	.subsection	-1	.align	2$LC11:	.ascii	"\000"	.data	.align	2	.type	info, @object	.size	info, 16info:	.word	$LC8	.word	$LC9	.word	$LC10	.word	$LC11	.ident	"GCC: (GNU) 4.1.2"

⌨️ 快捷键说明

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