matroskadec.mid

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

MID
4,873
字号
	.file	1 "matroskadec.c"	.section .mdebug.abi32	.previous	.section	.text.matroska_read_seek,"ax",@progbits	.align	2	.align	5	.ent	matroska_read_seek	.type	matroska_read_seek, @functionmatroska_read_seek:	.frame	$sp,48,$31		# vars= 0, regs= 5/0, args= 24, gp= 0	.mask	0x800f0000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-48	sll	$5,$5,2	sw	$19,36($sp)	sw	$16,24($sp)	sw	$31,40($sp)	sw	$18,32($sp)	sw	$17,28($sp)	addu	$5,$5,$4	lw	$18,100($5)	lw	$19,64($sp)	move	$16,$4	sw	$19,16($sp)	move	$4,$18	jal	av_index_search_timestamp	lw	$17,12($16)	sll	$4,$2,5	sll	$3,$2,3	subu	$3,$4,$3	bltz	$2,$L2	addiu	$4,$16,16	lw	$2,144($18)	addu	$2,$3,$2	lw	$6,0($2)	lw	$7,4($2)	jal	url_fseek	sw	$0,16($sp)	srl	$4,$19,2	xori	$4,$4,0x1	andi	$4,$4,0x1	sw	$4,428($17)	sw	$18,432($17)	sw	$0,384($17)	sw	$0,404($17)$L2:	lw	$31,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,48	.set	macro	.set	reorder	.end	matroska_read_seek	.section	.text.matroska_read_close,"ax",@progbits	.align	2	.align	5	.ent	matroska_read_close	.type	matroska_read_close, @functionmatroska_read_close:	.frame	$sp,40,$31		# vars= 0, regs= 6/0, args= 16, gp= 0	.mask	0x801f0000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-40	sw	$31,36($sp)	sw	$20,32($sp)	sw	$19,28($sp)	sw	$18,24($sp)	sw	$17,20($sp)	sw	$16,16($sp)	lw	$18,12($4)	jal	av_free	lw	$4,268($18)	jal	av_free	lw	$4,272($18)	jal	av_free	lw	$4,424($18)	lw	$3,400($18)	beq	$3,$0,$L7	nop	lw	$2,404($18)	blez	$2,$L9	nop	j	$L11	move	$17,$0$L21:	lw	$3,400($18)$L11:	sll	$16,$17,2	addu	$2,$3,$16	lw	$4,0($2)	beq	$4,$0,$L24	addiu	$17,$17,1	lw	$2,36($4)	beq	$2,$0,$L12	nop	jal	$2	nop	lw	$3,400($18)$L12:	addu	$2,$3,$16$L24:	jal	av_free	lw	$4,0($2)	lw	$2,404($18)	slt	$2,$17,$2	bne	$2,$0,$L21	nop	lw	$3,400($18)$L9:	jal	av_free	move	$4,$3$L7:	lw	$2,296($18)	blez	$2,$L15	move	$17,$18	move	$19,$0	j	$L17	li	$20,2			# 0x2$L18:	jal	av_free	move	$4,$16	lw	$2,296($18)	slt	$2,$19,$2	beq	$2,$0,$L23	lw	$31,36($sp)$L17:	lw	$16,304($17)	addiu	$19,$19,1	lw	$4,24($16)	jal	av_free	addiu	$17,$17,4	jal	av_free	lw	$4,28($16)	jal	av_free	lw	$4,32($16)	jal	av_free	lw	$4,16($16)	lw	$2,0($16)	bne	$2,$20,$L18	nop	jal	av_free	lw	$4,100($16)	jal	av_free	move	$4,$16	lw	$2,296($18)	slt	$2,$19,$2	bne	$2,$0,$L17	nop$L15:	lw	$31,36($sp)$L23:	lw	$20,32($sp)	lw	$19,28($sp)	lw	$18,24($sp)	lw	$17,20($sp)	lw	$16,16($sp)	move	$2,$0	j	$31	addiu	$sp,$sp,40	.set	macro	.set	reorder	.end	matroska_read_close	.section	.rodata.str1.4,"aMS",@progbits,1	.align	2$LC0:	.ascii	"Read error at pos. %llu (0x%llx)\012\000"	.align	2$LC1:	.ascii	"Invalid EBML number size tag 0x%02x at pos %llu (0x%llx)"	.ascii	"\012\000"	.section	.text.ebml_read_num,"ax",@progbits	.align	2	.align	5	.ent	ebml_read_num	.type	ebml_read_num, @functionebml_read_num:	.frame	$sp,64,$31		# vars= 0, regs= 8/0, args= 32, gp= 0	.mask	0x807f0000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-64	sw	$22,56($sp)	sw	$21,52($sp)	sw	$17,36($sp)	sw	$16,32($sp)	sw	$31,60($sp)	sw	$20,48($sp)	sw	$19,44($sp)	sw	$18,40($sp)	lw	$2,0($4)	move	$17,$4	addiu	$21,$2,16	move	$4,$21	move	$16,$5	jal	get_byte	move	$22,$6	beq	$2,$0,$L26	move	$18,$2	blez	$16,$L28	sra	$19,$2,31	andi	$2,$2,0x80	move	$3,$0	or	$2,$2,$3	bne	$2,$0,$L47	li	$6,128			# 0x80	j	$L35	li	$20,1			# 0x1$L48:	sra	$5,$6,31	and	$2,$18,$6	and	$3,$19,$5	or	$2,$2,$3	bne	$2,$0,$L45	nor	$2,$0,$6$L35:	addiu	$20,$20,1	slt	$2,$16,$20	beq	$2,$0,$L48	sra	$6,$6,1$L28:	jal	url_ftell	move	$4,$21	addiu	$8,$2,-1	lw	$4,0($17)	sltu	$5,$8,$2	addiu	$9,$3,-1	lui	$6,%hi($LC1)	addu	$9,$5,$9	addiu	$6,$6,%lo($LC1)	andi	$7,$18,0x00ff	move	$5,$0	sw	$8,24($sp)	sw	$9,28($sp)	sw	$8,16($sp)	sw	$9,20($sp)	jal	av_log	li	$20,-22			# 0xffffffffffffffea$L34:	move	$2,$20$L51:	lw	$31,60($sp)	lw	$22,56($sp)	lw	$21,52($sp)	lw	$20,48($sp)	lw	$19,44($sp)	lw	$18,40($sp)	lw	$17,36($sp)	lw	$16,32($sp)	j	$31	addiu	$sp,$sp,64$L45:	sra	$3,$2,31	slt	$4,$20,2	and	$16,$18,$2	bne	$4,$0,$L38	and	$17,$19,$3	li	$18,2			# 0x2	addiu	$19,$20,1$L40:	jal	get_byte	move	$4,$21	srl	$6,$16,24	sll	$5,$17,8	sra	$3,$2,31	or	$5,$6,$5	sll	$4,$16,8	addiu	$18,$18,1	or	$16,$4,$2	bne	$18,$19,$L40	or	$17,$5,$3$L38:	sw	$16,0($22)	sw	$17,4($22)$L49:	move	$2,$20	lw	$31,60($sp)	lw	$22,56($sp)	lw	$21,52($sp)	lw	$20,48($sp)	lw	$19,44($sp)	lw	$18,40($sp)	lw	$17,36($sp)	lw	$16,32($sp)	j	$31	addiu	$sp,$sp,64$L47:	li	$2,-129			# 0xffffffffffffff7f	and	$16,$18,$2	move	$17,$19	li	$20,1			# 0x1	sw	$16,0($22)	j	$L49	sw	$17,4($22)$L26:	jal	url_feof	move	$4,$21	bne	$2,$0,$L34	li	$20,-5			# 0xfffffffffffffffb	jal	url_ftell	move	$4,$21	lw	$4,0($17)	lui	$6,%hi($LC0)	addiu	$6,$6,%lo($LC0)	move	$5,$0	sw	$2,24($sp)	sw	$3,28($sp)	sw	$2,16($sp)	sw	$3,20($sp)	jal	av_log	li	$20,-5			# 0xfffffffffffffffb	j	$L51	move	$2,$20	.set	macro	.set	reorder	.end	ebml_read_num	.section	.text.matroska_probe,"ax",@progbits	.align	2	.align	5	.ent	matroska_probe	.type	matroska_probe, @functionmatroska_probe:	.frame	$sp,56,$31		# vars= 8, regs= 7/0, args= 16, gp= 0	.mask	0x803f0000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		lui	$3,%hi(C.73.6377)	addiu	$2,$3,%lo(C.73.6377)	lwl	$5,3($2)	lwl	$6,7($2)	addiu	$sp,$sp,-56	sw	$16,24($sp)	sw	$31,48($sp)	sw	$21,44($sp)	sw	$20,40($sp)	sw	$19,36($sp)	sw	$18,32($sp)	sw	$17,28($sp)	lwr	$5,%lo(C.73.6377)($3)	lwr	$6,4($2)	lw	$14,4($4)	sw	$5,16($sp)	sw	$6,20($sp)	lbu	$3,0($14)	lbu	$2,1($14)	move	$16,$4	sll	$2,$2,16	sll	$3,$3,24	lbu	$4,2($14)	lbu	$5,3($14)	or	$3,$3,$2	or	$3,$3,$5	sll	$4,$4,8	li	$2,440729600			# 0x1a450000	or	$4,$4,$3	ori	$2,$2,0xdfa3	beq	$4,$2,$L91	move	$3,$0$L53:	move	$2,$0$L80:	lw	$31,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,56$L91:	lbu	$4,4($14)	andi	$2,$4,0x80	or	$2,$2,$3	bne	$2,$0,$L55	move	$5,$0	andi	$2,$4,0x40	or	$2,$2,$3	bne	$2,$0,$L92	move	$3,$0	andi	$2,$4,0x20	or	$2,$2,$3	bne	$2,$0,$L93	li	$2,32			# 0x20	andi	$2,$4,0x10	or	$2,$2,$3	bne	$2,$0,$L94	li	$2,16			# 0x10	andi	$2,$4,0x8	or	$2,$2,$3	bne	$2,$0,$L95	li	$2,8			# 0x8	andi	$2,$4,0x4	or	$2,$2,$3	bne	$2,$0,$L96	li	$2,4			# 0x4	andi	$2,$4,0x2	or	$2,$2,$3	bne	$2,$0,$L97	li	$2,2			# 0x2	andi	$2,$4,0x1	or	$2,$2,$3	beq	$2,$0,$L80	move	$2,$0	li	$2,1			# 0x1	li	$15,8			# 0x8$L59:	addiu	$2,$2,-1	sra	$3,$2,31	li	$7,1			# 0x1	and	$8,$4,$2	and	$9,$5,$3$L71:	addu	$2,$7,$14	srl	$6,$8,24	lbu	$4,4($2)	sll	$3,$9,8	or	$3,$6,$3	sll	$2,$8,8	addiu	$7,$7,1	or	$8,$2,$4	bne	$15,$7,$L71	move	$9,$3$L72:	addiu	$2,$15,4	sra	$13,$2,31	addu	$10,$8,$2	lw	$3,8($16)	move	$12,$2	addu	$11,$9,$13	sltu	$2,$10,$8	addu	$11,$2,$11	sra	$7,$3,31	sltu	$2,$7,$11	bne	$2,$0,$L80	move	$2,$0	beq	$7,$11,$L98	addiu	$18,$10,-8$L100:	sltu	$2,$18,$10	addiu	$19,$11,-1	addu	$3,$2,$19	sltu	$2,$3,$13	bne	$2,$0,$L53	move	$19,$3	beq	$3,$13,$L99	addiu	$3,$15,5$L101:	addu	$2,$14,$15	addiu	$20,$2,4	move	$16,$3	sra	$17,$3,31	addiu	$21,$sp,16	move	$4,$20$L102:	move	$5,$21	jal	memcmp	li	$6,8			# 0x8	addiu	$4,$16,1	sltu	$3,$4,$16	addu	$5,$3,$17	move	$16,$4	addiu	$4,$4,-1	sltu	$3,$4,$16	move	$17,$5	addiu	$5,$5,-1	addu	$5,$3,$5	sltu	$6,$18,$4	beq	$2,$0,$L84	sltu	$3,$19,$5	bne	$3,$0,$L53	addiu	$20,$20,1	bne	$19,$5,$L102	move	$4,$20	beq	$6,$0,$L102	nop	j	$L80	move	$2,$0$L55:	andi	$8,$4,0x7f	move	$9,$0	j	$L72	li	$15,1			# 0x1$L98:	sltu	$2,$3,$10	bne	$2,$0,$L80	move	$2,$0	j	$L100	addiu	$18,$10,-8$L92:	li	$2,64			# 0x40	j	$L59	li	$15,2			# 0x2$L93:	j	$L59	li	$15,3			# 0x3$L94:	j	$L59	li	$15,4			# 0x4$L95:	j	$L59	li	$15,5			# 0x5$L96:	j	$L59	li	$15,6			# 0x6$L97:	j	$L59	li	$15,7			# 0x7$L99:	sltu	$2,$18,$12	bne	$2,$0,$L80	move	$2,$0	j	$L101	addiu	$3,$15,5$L84:	j	$L80	li	$2,100			# 0x64	.set	macro	.set	reorder	.end	matroska_probe	.section	.rodata.str1.4	.align	2$LC2:	.ascii	"Memory allocation error\012\000"	.section	.text.ebml_read_binary,"ax",@progbits	.align	2	.align	5	.ent	ebml_read_binary	.type	ebml_read_binary, @functionebml_read_binary:	.frame	$sp,72,$31		# vars= 16, regs= 6/0, args= 32, gp= 0	.mask	0x801f0000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-72	sw	$20,64($sp)	sw	$19,60($sp)	sw	$18,56($sp)	sw	$17,52($sp)	sw	$31,68($sp)	sw	$16,48($sp)	lw	$2,384($4)	move	$17,$4	move	$19,$5	move	$20,$6	move	$18,$7	beq	$2,$0,$L104	lw	$16,0($4)	sw	$2,0($5)$L106:	sw	$0,384($17)	move	$4,$17	li	$5,8			# 0x8	jal	ebml_read_num	addiu	$6,$sp,32	bltz	$2,$L107	move	$3,$2	lw	$4,32($sp)	jal	av_malloc	sw	$4,0($18)	beq	$2,$0,$L115	sw	$2,0($20)	addiu	$16,$16,16	lw	$6,0($18)	move	$5,$2	jal	get_buffer	move	$4,$16	lw	$3,0($18)	bne	$2,$3,$L112	nop	move	$3,$0$L107:	lw	$31,68($sp)	lw	$20,64($sp)	lw	$19,60($sp)	lw	$18,56($sp)	lw	$17,52($sp)	lw	$16,48($sp)	move	$2,$3	j	$31	addiu	$sp,$sp,72$L104:	li	$5,4			# 0x4	jal	ebml_read_num	addiu	$6,$sp,40	bltz	$2,$L107	move	$3,$2	sll	$2,$2,3	subu	$2,$2,$3	lw	$4,40($sp)	li	$3,1			# 0x1	sll	$3,$3,$2	or	$3,$3,$4	sw	$3,384($17)	j	$L106	sw	$3,0($19)$L112:	jal	url_ftell	move	$4,$16	lw	$4,0($17)	lui	$6,%hi($LC0)	addiu	$6,$6,%lo($LC0)	move	$5,$0	sw	$3,28($sp)	sw	$3,20($sp)	sw	$2,24($sp)	jal	av_log	sw	$2,16($sp)	j	$L107	li	$3,-5			# 0xfffffffffffffffb$L115:	lw	$4,0($17)	lui	$6,%hi($LC2)	addiu	$6,$6,%lo($LC2)	jal	av_log	move	$5,$0	j	$L107	li	$3,-12			# 0xfffffffffffffff4	.set	macro	.set	reorder	.end	ebml_read_binary	.section	.rodata.str1.4	.align	2$LC3:	.ascii	"Invalid uint element size %d at position %lld (0x%llx)\012"	.ascii	"\000"	.section	.text.ebml_read_uint,"ax",@progbits	.align	2	.align	5	.ent	ebml_read_uint	.type	ebml_read_uint, @functionebml_read_uint:	.frame	$sp,80,$31		# vars= 16, regs= 7/0, args= 32, gp= 0	.mask	0x803f0000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-80	sw	$19,60($sp)	sw	$18,56($sp)	sw	$16,48($sp)	sw	$31,72($sp)	sw	$21,68($sp)	sw	$20,64($sp)	sw	$17,52($sp)	lw	$2,384($4)	move	$18,$4	move	$16,$5	move	$19,$6	beq	$2,$0,$L117	lw	$20,0($4)	sw	$2,0($5)$L119:	sw	$0,384($18)	move	$4,$18	li	$5,8			# 0x8	jal	ebml_read_num	addiu	$6,$sp,32	bltz	$2,$L120	move	$3,$2	lw	$16,32($sp)	addiu	$2,$16,-1	sltu	$2,$2,8	beq	$2,$0,$L130	addiu	$21,$20,16	move	$2,$0	move	$3,$0	sw	$2,0($19)	blez	$16,$L120	sw	$3,4($19)	addiu	$20,$16,1	li	$18,1			# 0x1$L127:	lw	$5,0($19)	lw	$2,4($19)	srl	$3,$5,24	move	$4,$21	sll	$17,$2,8	or	$17,$3,$17	jal	get_byte	sll	$16,$5,8	sra	$3,$2,31	or	$4,$17,$3	or	$16,$16,$2	addiu	$18,$18,1	sw	$16,0($19)	bne	$20,$18,$L127	sw	$4,4($19)	move	$3,$0$L120:	lw	$31,72($sp)	lw	$21,68($sp)	lw	$20,64($sp)	lw	$19,60($sp)	lw	$18,56($sp)	lw	$17,52($sp)	lw	$16,48($sp)	move	$2,$3	j	$31	addiu	$sp,$sp,80$L117:	li	$5,4			# 0x4	jal	ebml_read_num	addiu	$6,$sp,40	bltz	$2,$L120	move	$3,$2	sll	$2,$2,3	subu	$2,$2,$3	lw	$4,40($sp)	li	$3,1			# 0x1	sll	$3,$3,$2	or	$3,$3,$4	sw	$3,384($18)	j	$L119	sw	$3,0($16)$L130:	jal	url_ftell	move	$4,$21	lw	$4,0($18)	lui	$6,%hi($LC3)	addiu	$6,$6,%lo($LC3)	move	$7,$16	move	$5,$0	sw	$3,28($sp)	sw	$3,20($sp)	sw	$2,24($sp)	jal	av_log	sw	$2,16($sp)	j	$L120	li	$3,-22			# 0xffffffffffffffea	.set	macro	.set	reorder	.end	ebml_read_uint	.section	.text.ebml_read_skip,"ax",@progbits	.align	2	.align	5	.ent	ebml_read_skip	.type	ebml_read_skip, @functionebml_read_skip:	.frame	$sp,48,$31		# vars= 16, regs= 3/0, args= 16, gp= 0	.mask	0x80030000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-48	sw	$16,32($sp)	sw	$31,40($sp)	sw	$17,36($sp)	lw	$2,384($4)	move	$16,$4	li	$5,4			# 0x4	addiu	$6,$sp,24	beq	$2,$0,$L138	lw	$17,0($4)$L132:	move	$4,$16	li	$5,8			# 0x8	sw	$0,384($16)	jal	ebml_read_num	addiu	$6,$sp,16	move	$5,$2	bltz	$2,$L134	addiu	$4,$17,16	lw	$6,16($sp)	jal	url_fskip	lw	$7,20($sp)	move	$5,$0$L134:	lw	$31,40($sp)	lw	$17,36($sp)	lw	$16,32($sp)	move	$2,$5	j	$31	addiu	$sp,$sp,48$L138:	jal	ebml_read_num	nop	move	$5,$2	sll	$2,$2,3	subu	$2,$2,$5	li	$3,1			# 0x1	bltz	$5,$L134	sll	$3,$3,$2	lw	$2,24($sp)	or	$2,$3,$2	j	$L132	sw	$2,384($16)	.set	macro	.set	reorder	.end	ebml_read_skip	.section	.rodata.str1.4	.align	2$LC4:	.ascii	"File moves beyond max. allowed depth (%d)\012\000"	.section	.text.ebml_read_master,"ax",@progbits	.align	2	.align	5	.ent	ebml_read_master	.type	ebml_read_master, @functionebml_read_master:	.frame	$sp,48,$31		# vars= 16, regs= 4/0, args= 16, gp= 0	.mask	0x80070000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-48	sw	$18,40($sp)	sw	$16,32($sp)	sw	$31,44($sp)	sw	$17,36($sp)	lw	$2,384($4)	move	$18,$5	move	$16,$4	addiu	$6,$sp,24	li	$5,4			# 0x4	beq	$2,$0,$L150	lw	$17,0($4)$L149:	sw	$2,0($18)	move	$4,$16	sw	$0,384($16)	addiu	$6,$sp,16	jal	ebml_read_num	li	$5,8			# 0x8	bltz	$2,$L143	move	$4,$2	lw	$2,4($16)	lui	$6,%hi($LC4)	sll	$3,$2,4	addiu	$8,$2,1	addiu	$3,$3,8	slt	$2,$2,16	addiu	$4,$17,16	addiu	$6,$6,%lo($LC4)

⌨️ 快捷键说明

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