mmf.mid

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

MID
1,031
字号
	.file	1 "mmf.c"	.section .mdebug.abi32	.previous	.section	.text.mmf_probe,"ax",@progbits	.align	2	.align	5	.ent	mmf_probe	.type	mmf_probe, @functionmmf_probe:	.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0	.mask	0x00000000,0	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		lw	$4,4($4)	li	$2,77			# 0x4d	lbu	$3,0($4)	beq	$3,$2,$L14	nop$L2:	j	$31	move	$2,$0$L14:	lbu	$5,1($4)	bne	$5,$3,$L2	nop	lbu	$2,2($4)	bne	$2,$5,$L2	nop	lbu	$3,3($4)	li	$2,68			# 0x44	bne	$3,$2,$L2	nop	lbu	$3,8($4)	li	$2,67			# 0x43	bne	$3,$2,$L2	nop	lbu	$3,9($4)	li	$2,78			# 0x4e	bne	$3,$2,$L2	nop	lbu	$3,10($4)	li	$2,84			# 0x54	bne	$3,$2,$L2	nop	lbu	$3,11($4)	li	$2,73			# 0x49	bne	$3,$2,$L2	nop	j	$31	li	$2,100			# 0x64	.set	macro	.set	reorder	.end	mmf_probe	.section	.text.mmf_read_close,"ax",@progbits	.align	2	.align	5	.ent	mmf_read_close	.type	mmf_read_close, @functionmmf_read_close:	.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	mmf_read_close	.section	.text.mmf_write_packet,"ax",@progbits	.align	2	.align	5	.ent	mmf_write_packet	.type	mmf_write_packet, @functionmmf_write_packet:	.frame	$sp,24,$31		# vars= 0, regs= 1/0, args= 16, gp= 0	.mask	0x80000000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-24	sw	$31,16($sp)	lw	$6,20($5)	lw	$5,16($5)	jal	put_buffer	addiu	$4,$4,16	lw	$31,16($sp)	move	$2,$0	j	$31	addiu	$sp,$sp,24	.set	macro	.set	reorder	.end	mmf_write_packet	.section	.text.mmf_read_seek,"ax",@progbits	.align	2	.align	5	.ent	mmf_read_seek	.type	mmf_read_seek, @functionmmf_read_seek:	.frame	$sp,0,$31		# vars= 0, regs= 0/0, args= 0, gp= 0	.mask	0x00000000,0	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		j	pcm_read_seek	nop	.set	macro	.set	reorder	.end	mmf_read_seek	.section	.text.mmf_read_packet,"ax",@progbits	.align	2	.align	5	.ent	mmf_read_packet	.type	mmf_read_packet, @functionmmf_read_packet:	.frame	$sp,32,$31		# vars= 0, regs= 4/0, args= 16, gp= 0	.mask	0x80070000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-32	sw	$16,16($sp)	addiu	$16,$4,16	sw	$18,24($sp)	move	$2,$4	sw	$31,28($sp)	sw	$17,20($sp)	move	$4,$16	move	$18,$5	jal	url_feof	lw	$17,12($2)	bne	$2,$0,$L22	nop	lw	$5,28($17)	blez	$5,$L34	lw	$4,24($17)	li	$5,4096			# 0x1000$L27:$L39:	jal	av_new_packet	move	$4,$18	beq	$2,$0,$L35	nop$L22:	li	$16,-5			# 0xfffffffffffffffb$L37:	move	$2,$16	lw	$31,28($sp)	lw	$18,24($sp)	lw	$17,20($sp)	lw	$16,16($sp)	j	$31	addiu	$sp,$sp,32$L35:	lw	$5,16($18)	lw	$6,20($18)	move	$4,$16	jal	get_buffer	sw	$0,24($18)	bltz	$2,$L36	move	$16,$2$L29:	lw	$6,24($17)$L38:	lw	$7,28($17)	subu	$2,$6,$16	sra	$5,$16,31	sltu	$8,$6,$2	subu	$3,$7,$5	subu	$3,$3,$8	sw	$2,24($17)	sw	$3,28($17)	sw	$16,20($18)	move	$2,$16	lw	$31,28($sp)	lw	$18,24($sp)	lw	$17,20($sp)	lw	$16,16($sp)	j	$31	addiu	$sp,$sp,32$L34:	bne	$5,$0,$L24	sltu	$2,$4,4096	beq	$2,$0,$L39	li	$5,4096			# 0x1000$L24:	bne	$4,$0,$L27	move	$5,$4	j	$L37	li	$16,-5			# 0xfffffffffffffffb$L36:	lw	$2,36($18)	beq	$2,$0,$L29	nop	jal	$2	move	$4,$18	j	$L38	lw	$6,24($17)	.set	macro	.set	reorder	.end	mmf_read_packet	.section	.rodata.str1.4,"aMS",@progbits,1	.align	2$LC0:	.ascii	"MIDI like format found, unsupported\012\000"	.align	2$LC1:	.ascii	"Unsupported SMAF chunk %08x\012\000"	.align	2$LC2:	.ascii	"Invalid sample rate\012\000"	.align	2$LC3:	.ascii	"Unexpected SMAF chunk %08x\012\000"	.section	.text.mmf_read_header,"ax",@progbits	.align	2	.align	5	.ent	mmf_read_header	.type	mmf_read_header, @functionmmf_read_header:	.frame	$sp,64,$31		# vars= 0, regs= 9/0, args= 24, gp= 0	.mask	0x80ff0000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-64	sw	$17,28($sp)	addiu	$17,$4,16	sw	$21,44($sp)	sw	$31,56($sp)	sw	$23,52($sp)	sw	$22,48($sp)	sw	$20,40($sp)	sw	$19,36($sp)	sw	$18,32($sp)	sw	$16,24($sp)	move	$21,$4	move	$4,$17	jal	get_le32	lw	$23,12($21)	li	$3,1145896960			# 0x444d0000	ori	$3,$3,0x4d4d	beq	$2,$3,$L66	li	$2,-1			# 0xffffffffffffffff$L43:	lw	$31,56($sp)	lw	$23,52($sp)	lw	$22,48($sp)	lw	$21,44($sp)	lw	$20,40($sp)	lw	$19,36($sp)	lw	$18,32($sp)	lw	$17,28($sp)	lw	$16,24($sp)	j	$31	addiu	$sp,$sp,64$L66:	jal	get_be32	move	$4,$17	li	$3,1230241792			# 0x49540000	li	$2,1094975488			# 0x41440000	ori	$19,$3,0x4e43	ori	$20,$2,0x504f	j	$L44	li	$18,1			# 0x1$L45:	move	$6,$2$L70:	move	$7,$0	jal	url_fseek	sw	$18,16($sp)$L44:	jal	get_le32	move	$4,$17	move	$16,$2	jal	get_be32	move	$4,$17	beq	$16,$19,$L45	move	$4,$17	beq	$16,$20,$L70	move	$6,$2	li	$2,16711680			# 0xff0000	li	$5,5373952			# 0x520000	ori	$2,$2,0xffff	and	$4,$16,$2	ori	$3,$5,0x544d	beq	$4,$3,$L67	lui	$6,%hi($LC0)	ori	$2,$5,0x5441	bne	$4,$2,$L68	lui	$6,%hi($LC1)	jal	get_byte	move	$4,$17	jal	get_byte	move	$4,$17	jal	get_byte	move	$4,$17	andi	$3,$2,0xf	sltu	$2,$3,5	beq	$2,$0,$L52	sll	$3,$3,2	lui	$2,%hi(mmf_rates)	addiu	$2,$2,%lo(mmf_rates)	addu	$3,$3,$2	lw	$22,0($3)	bltz	$22,$L71	lui	$6,%hi($LC2)	jal	get_byte	move	$4,$17	jal	get_byte	move	$4,$17	jal	get_byte	move	$4,$17	li	$3,1903362048			# 0x71730000	li	$2,1232076800			# 0x49700000	ori	$19,$3,0x7441	ori	$20,$2,0x7341	j	$L55	li	$18,1			# 0x1$L56:	jal	url_fseek	sw	$18,16($sp)$L55:	jal	get_le32	move	$4,$17	move	$4,$17	jal	get_be32	move	$16,$2	move	$9,$0	move	$4,$17	move	$8,$2	move	$6,$2	beq	$16,$19,$L56	move	$7,$9	beq	$16,$20,$L56	li	$3,16711680			# 0xff0000	ori	$3,$3,0xffff	li	$2,6356992			# 0x610000	and	$3,$16,$3	ori	$2,$2,0x7741	beq	$3,$2,$L59	move	$4,$21	lui	$6,%hi($LC3)	addiu	$6,$6,%lo($LC3)	move	$7,$16	jal	av_log	move	$5,$0	j	$L43	li	$2,-1			# 0xffffffffffffffff$L52:	lui	$6,%hi($LC2)$L71:	move	$4,$21	addiu	$6,$6,%lo($LC2)	jal	av_log	move	$5,$0	j	$L43	li	$2,-1			# 0xffffffffffffffff$L59:	sw	$8,24($23)	sw	$9,28($23)	jal	av_new_stream	move	$5,$0	beq	$2,$0,$L69	move	$6,$2	lw	$4,8($2)	li	$2,65536			# 0x10000	ori	$2,$2,0x100e	li	$5,1			# 0x1	sw	$2,228($4)	sll	$3,$22,2	li	$2,4			# 0x4	sw	$5,68($4)	sw	$2,392($4)	sw	$5,224($4)	sw	$3,4($4)	sw	$22,64($4)	move	$7,$22	move	$4,$6	li	$5,64			# 0x40	jal	av_set_pts_info	li	$6,1			# 0x1	j	$L43	move	$2,$0$L68:	move	$4,$21	addiu	$6,$6,%lo($LC1)	move	$7,$16	jal	av_log	move	$5,$0	j	$L43	li	$2,-1			# 0xffffffffffffffff$L69:	j	$L43	li	$2,-12			# 0xfffffffffffffff4$L67:	move	$4,$21	addiu	$6,$6,%lo($LC0)	jal	av_log	move	$5,$0	j	$L43	li	$2,-1			# 0xffffffffffffffff	.set	macro	.set	reorder	.end	mmf_read_header	.section	.rodata.str1.4	.align	2$LC4:	.ascii	"Unsupported sample rate %d\012\000"	.align	2$LC5:	.ascii	"MMMD\000"	.align	2$LC6:	.ascii	"CNTI\000"	.align	2$LC7:	.ascii	"VN:libavcodec,\000"	.rdata	.align	2$LC8:	.ascii	"ATR\000\000"	.section	.rodata.str1.4	.align	2$LC9:	.ascii	"Atsq\000"	.rdata	.align	2$LC10:	.ascii	"\000\000\000\000\000\000\000\000\000\000\000\000\000\000"	.ascii	"\000\000\000"	.section	.rodata.str1.4	.align	2$LC11:	.ascii	"Awa\001\000"	.section	.text.mmf_write_header,"ax",@progbits	.align	2	.align	5	.ent	mmf_write_header	.type	mmf_write_header, @functionmmf_write_header:	.frame	$sp,64,$31		# vars= 0, regs= 9/0, args= 24, gp= 0	.mask	0x80ff0000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-64	sw	$17,28($sp)	sw	$31,56($sp)	sw	$23,52($sp)	sw	$22,48($sp)	sw	$21,44($sp)	sw	$20,40($sp)	sw	$19,36($sp)	sw	$18,32($sp)	sw	$16,24($sp)	lw	$2,100($4)	move	$17,$4	lw	$3,8($2)	li	$2,4000			# 0xfa0	lw	$7,64($3)	beq	$7,$2,$L86	lw	$22,12($4)	li	$2,8000			# 0x1f40	beq	$7,$2,$L87	li	$2,11025			# 0x2b11	beq	$7,$2,$L88	li	$2,22050			# 0x5622	beq	$7,$2,$L89	li	$2,44100			# 0xac44	beq	$7,$2,$L75	li	$23,4			# 0x4	lui	$6,%hi($LC4)	addiu	$6,$6,%lo($LC4)	jal	av_log	move	$5,$0	lw	$31,56($sp)	lw	$23,52($sp)	lw	$22,48($sp)	lw	$21,44($sp)	lw	$20,40($sp)	lw	$19,36($sp)	lw	$18,32($sp)	lw	$17,28($sp)	lw	$16,24($sp)	li	$2,-1			# 0xffffffffffffffff	j	$31	addiu	$sp,$sp,64$L86:	move	$23,$0$L75:	addiu	$16,$17,16	lui	$5,%hi($LC5)	move	$4,$16	jal	put_tag	addiu	$5,$5,%lo($LC5)	move	$4,$16	jal	put_be32	move	$5,$0	lui	$5,%hi($LC6)	move	$4,$16	jal	start_tag	addiu	$5,$5,%lo($LC6)	move	$4,$16	move	$5,$0	move	$18,$2	jal	put_byte	move	$19,$3	move	$4,$16	jal	put_byte	move	$5,$0	move	$4,$16	jal	put_byte	move	$5,$0	move	$4,$16	jal	put_byte	move	$5,$0	move	$4,$16	jal	put_byte	move	$5,$0	lui	$5,%hi($LC7)	addiu	$5,$5,%lo($LC7)	jal	put_tag	move	$4,$16	jal	url_ftell	move	$4,$16	addiu	$6,$18,-4	move	$20,$2	addiu	$7,$19,-1	sltu	$2,$6,$18	addu	$7,$2,$7	move	$4,$16	move	$21,$3	jal	url_fseek	sw	$0,16($sp)	subu	$5,$20,$18	jal	put_be32	move	$4,$16	move	$7,$21	move	$6,$20	move	$4,$16	jal	url_fseek	sw	$0,16($sp)	lui	$5,%hi($LC8)	li	$6,4			# 0x4	move	$4,$16	jal	put_buffer	addiu	$5,$5,%lo($LC8)	move	$4,$16	jal	put_be32	move	$5,$0	jal	url_ftell	move	$4,$16	sw	$2,0($22)	sw	$3,4($22)	move	$4,$16	jal	put_byte	move	$5,$0	move	$4,$16	jal	put_byte	move	$5,$0	move	$4,$16	jal	put_byte	ori	$5,$23,0x10	move	$4,$16	jal	put_byte	move	$5,$0	move	$4,$16	jal	put_byte	li	$5,2			# 0x2	move	$4,$16	jal	put_byte	li	$5,2			# 0x2	lui	$5,%hi($LC9)	move	$4,$16	jal	put_tag	addiu	$5,$5,%lo($LC9)	move	$4,$16	jal	put_be32	li	$5,16			# 0x10	jal	url_ftell	move	$4,$16	lui	$5,%hi($LC10)	sw	$2,8($22)	sw	$3,12($22)	li	$6,16			# 0x10	move	$4,$16	jal	put_buffer	addiu	$5,$5,%lo($LC10)	lui	$5,%hi($LC11)	move	$4,$16	jal	start_tag	addiu	$5,$5,%lo($LC11)	lw	$4,100($17)	sw	$2,16($22)	lw	$2,8($4)	sw	$3,20($22)	lw	$7,64($2)	li	$5,64			# 0x40	jal	av_set_pts_info	li	$6,1			# 0x1	jal	put_flush_packet	move	$4,$16	lw	$31,56($sp)	lw	$23,52($sp)	lw	$22,48($sp)	lw	$21,44($sp)	lw	$20,40($sp)	lw	$19,36($sp)	lw	$18,32($sp)	lw	$17,28($sp)	lw	$16,24($sp)	move	$2,$0	j	$31	addiu	$sp,$sp,64$L87:	j	$L75	li	$23,1			# 0x1$L88:	j	$L75	li	$23,2			# 0x2$L89:	j	$L75	li	$23,3			# 0x3	.set	macro	.set	reorder	.end	mmf_write_header	.globl	__divdi3	.rdata	.align	2$LC12:	.ascii	"\377\000\000"	.align	2$LC13:	.ascii	"\000\000\000\000\000"	.section	.text.mmf_write_trailer,"ax",@progbits	.align	2	.align	5	.ent	mmf_write_trailer	.type	mmf_write_trailer, @functionmmf_write_trailer:	.frame	$sp,56,$31		# vars= 0, regs= 8/0, args= 24, gp= 0	.mask	0x807f0000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-56	sw	$22,48($sp)	sw	$20,40($sp)	sw	$31,52($sp)	sw	$21,44($sp)	sw	$19,36($sp)	sw	$18,32($sp)	sw	$17,28($sp)	sw	$16,24($sp)	addiu	$20,$4,16	lw	$2,52($20)	move	$22,$4	beq	$2,$0,$L97	lw	$21,12($4)	lw	$31,52($sp)	lw	$22,48($sp)	lw	$21,44($sp)	lw	$20,40($sp)	lw	$19,36($sp)	lw	$18,32($sp)	lw	$17,28($sp)	lw	$16,24($sp)	move	$2,$0	j	$31	addiu	$sp,$sp,56$L97:	lw	$16,16($21)	lw	$17,20($21)	jal	url_ftell	move	$4,$20	addiu	$6,$16,-4	move	$18,$2	addiu	$7,$17,-1	sltu	$2,$6,$16	addu	$7,$2,$7	move	$4,$20	move	$19,$3	jal	url_fseek	sw	$0,16($sp)	subu	$5,$18,$16	jal	put_be32	move	$4,$20	move	$6,$18	move	$7,$19	move	$4,$20	jal	url_fseek	sw	$0,16($sp)	lw	$16,0($21)	lw	$17,4($21)	jal	url_ftell	move	$4,$20	addiu	$6,$16,-4	move	$18,$2	addiu	$7,$17,-1	sltu	$2,$6,$16	addu	$7,$2,$7	move	$4,$20	move	$19,$3	jal	url_fseek	sw	$0,16($sp)	subu	$5,$18,$16	jal	put_be32	move	$4,$20	move	$6,$18	move	$7,$19	move	$4,$20	jal	url_fseek	sw	$0,16($sp)	jal	url_ftell	move	$4,$20	move	$16,$2	li	$6,4			# 0x4	move	$7,$0	move	$4,$20	move	$17,$3	jal	url_fseek	sw	$0,16($sp)	addiu	$5,$16,-8	jal	put_be32	move	$4,$20	move	$6,$16	move	$7,$17	move	$4,$20	jal	url_fseek	sw	$0,16($sp)	jal	url_ftell	move	$4,$20	move	$18,$2	lw	$2,16($21)	move	$19,$3	lw	$3,20($21)	lw	$6,8($21)	lw	$7,12($21)	subu	$16,$18,$2	sltu	$5,$18,$16	subu	$17,$19,$3	move	$4,$20	subu	$17,$17,$5	jal	url_fseek	sw	$0,16($sp)	move	$4,$20	jal	put_byte	move	$5,$0	move	$4,$20	jal	put_byte	li	$5,1			# 0x1	li	$2,500			# 0x1f4	multu	$16,$2	lw	$6,100($22)	mfhi	$5	lw	$3,8($6)	mflo	$4	mul	$6,$2,$17	lw	$8,64($3)	addu	$5,$6,$5	sra	$7,$8,31	jal	__divdi3	move	$6,$8	move	$16,$2	move	$3,$2	slt	$2,$2,128	beq	$2,$0,$L93	addiu	$17,$3,-128	move	$4,$20	jal	put_byte	move	$5,$16	move	$4,$20	jal	put_byte	move	$5,$16	lui	$5,%hi($LC12)$L98:	move	$4,$20	addiu	$5,$5,%lo($LC12)	jal	put_buffer	li	$6,2			# 0x2	lui	$5,%hi($LC13)	addiu	$5,$5,%lo($LC13)	move	$4,$20	jal	put_buffer	li	$6,4			# 0x4	move	$6,$18	move	$7,$19	move	$4,$20	jal	url_fseek	sw	$0,16($sp)	jal	put_flush_packet	move	$4,$20	lw	$31,52($sp)	lw	$22,48($sp)	lw	$21,44($sp)	lw	$20,40($sp)	lw	$19,36($sp)	lw	$18,32($sp)	lw	$17,28($sp)	lw	$16,24($sp)	move	$2,$0	j	$31	addiu	$sp,$sp,56$L93:	sra	$16,$17,7	ori	$16,$16,0x80	andi	$17,$17,0x7f	move	$4,$20	jal	put_byte	move	$5,$16	move	$4,$20	jal	put_byte	move	$5,$17	move	$4,$20	jal	put_byte	move	$5,$16	move	$4,$20	jal	put_byte	move	$5,$17	j	$L98	lui	$5,%hi($LC12)	.set	macro	.set	reorder	.end	mmf_write_trailer	.globl	mmf_demuxer	.section	.rodata.str1.4	.align	2$LC14:	.ascii	"mmf\000"	.align	2$LC15:	.ascii	"mmf format\000"	.data	.align	2	.type	mmf_demuxer, @object	.size	mmf_demuxer, 64mmf_demuxer:	.word	$LC14	.word	$LC15	.word	32	.word	mmf_probe	.word	mmf_read_header	.word	mmf_read_packet	.word	mmf_read_close	.word	mmf_read_seek	.space	32	.globl	mmf_muxer	.section	.rodata.str1.4	.align	2$LC16:	.ascii	"application/vnd.smaf\000"	.data	.align	2	.type	mmf_muxer, @object	.size	mmf_muxer, 64mmf_muxer:	.word	$LC14	.word	$LC15	.word	$LC16	.word	$LC14	.word	32	.word	69646	.word	0	.word	mmf_write_header	.word	mmf_write_packet	.word	mmf_write_trailer	.space	24	.rdata	.align	2	.type	mmf_rates, @object	.size	mmf_rates, 20mmf_rates:	.word	4000	.word	8000	.word	11025	.word	22050	.word	44100	.ident	"GCC: (GNU) 4.1.2"

⌨️ 快捷键说明

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