parse_mp4.mid

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

MID
3,108
字号
	.file	1 "parse_mp4.c"	.section .mdebug.abi32	.previous	.section	.text.mp4_free_esds,"ax",@progbits	.align	2	.align	5	.globl	mp4_free_esds	.ent	mp4_free_esds	.type	mp4_free_esds, @functionmp4_free_esds:	.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)	sw	$31,20($sp)	lhu	$2,28($4)	bne	$2,$0,$L8	move	$16,$4	lbu	$2,36($16)$L10:	bne	$2,$0,$L9	lw	$31,20($sp)	lw	$16,16($sp)	j	$31	addiu	$sp,$sp,24$L9:	lw	$4,40($16)	lw	$16,16($sp)	j	uc_free	addiu	$sp,$sp,24$L8:	jal	uc_free	lw	$4,32($4)	j	$L10	lbu	$2,36($16)	.set	macro	.set	reorder	.end	mp4_free_esds	.section	.text.mp4_read_descr_len,"ax",@progbits	.align	2	.align	5	.globl	mp4_read_descr_len	.ent	mp4_read_descr_len	.type	mp4_read_descr_len, @functionmp4_read_descr_len:	.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	$16,16($sp)	sw	$31,24($sp)	sw	$17,20($sp)	lw	$5,36($4)	lw	$2,40($4)	sltu	$2,$5,$2	beq	$2,$0,$L35	move	$16,$4	lw	$6,80($4)	addiu	$3,$5,1	addu	$2,$5,$6	lbu	$2,0($2)	sw	$3,36($4)$L16:	andi	$2,$2,0x00ff	sll	$3,$2,24	sra	$3,$3,24	bgez	$3,$L17	andi	$17,$2,0x7f	lw	$4,36($16)	lw	$2,40($16)	sltu	$2,$4,$2	beq	$2,$0,$L36	addiu	$3,$4,1	addu	$2,$4,$6	lbu	$2,0($2)	sw	$3,36($16)$L23:	andi	$2,$2,0x00ff	sll	$4,$2,24	sll	$3,$17,7	andi	$2,$2,0x7f	sra	$4,$4,24	bgez	$4,$L17	or	$17,$3,$2	lw	$4,36($16)	lw	$2,40($16)	sltu	$2,$4,$2	beq	$2,$0,$L37	addiu	$3,$4,1	addu	$2,$4,$6	lbu	$2,0($2)	sw	$3,36($16)$L28:	andi	$2,$2,0x00ff	sll	$4,$2,24	sll	$3,$17,7	andi	$2,$2,0x7f	sra	$4,$4,24	bgez	$4,$L17	or	$17,$3,$2	lw	$3,36($16)	lw	$2,40($16)	sltu	$2,$3,$2	beq	$2,$0,$L30	addu	$2,$3,$6	addiu	$3,$3,1	lbu	$2,0($2)	sw	$3,36($16)$L32:	sll	$3,$17,7	andi	$2,$2,0x7f	or	$17,$3,$2$L17:	move	$2,$17	lw	$31,24($sp)	lw	$17,20($sp)	lw	$16,16($sp)	j	$31	addiu	$sp,$sp,32$L35:	jal	stream_fill_buffer	nop	beq	$2,$0,$L14	move	$17,$0	lw	$2,36($16)	lw	$6,80($16)	addiu	$3,$2,1	addu	$2,$6,$2	lbu	$2,0($2)	j	$L16	sw	$3,36($16)$L36:	jal	stream_fill_buffer	move	$4,$16	beq	$2,$0,$L21	nop	lw	$2,36($16)	lw	$6,80($16)	addiu	$3,$2,1	addu	$2,$6,$2	lbu	$2,0($2)	j	$L23	sw	$3,36($16)$L37:	jal	stream_fill_buffer	move	$4,$16	beq	$2,$0,$L21	nop	lw	$2,36($16)	lw	$6,80($16)	addiu	$3,$2,1	addu	$2,$6,$2	lbu	$2,0($2)	j	$L28	sw	$3,36($16)$L30:	jal	stream_fill_buffer	move	$4,$16	beq	$2,$0,$L21	nop	lw	$2,36($16)	lw	$3,80($16)	addiu	$4,$2,1	addu	$3,$3,$2	lbu	$2,0($3)	j	$L32	sw	$4,36($16)$L14:$L21:	j	$L17	sll	$17,$17,7	.set	macro	.set	reorder	.end	mp4_read_descr_len	.section	.rodata.str1.4,"aMS",@progbits,1	.align	2$LC0:	.ascii	"ESDS MPEG4 version: %d  flags: 0x%06X\012\000"	.align	2$LC1:	.ascii	"ESDS MPEG4 ES Descriptor (%dBytes):\012 -> ESId: %d\012 "	.ascii	"-> streamPriority: %d\012\000"	.align	2$LC2:	.ascii	"ESDS MPEG4 ES Descriptor (%dBytes):\012 -> ESId: %d\012\000"	.align	2$LC3:	.ascii	"ESDS MPEG4 Decoder Config Descriptor (%dBytes):\012 -> o"	.ascii	"bjectTypeId: %d\012 -> streamType: 0x%02X\012 -> bufferS"	.ascii	"izeDB: 0x%06X\012 -> maxBitrate: %.3fkbit/s\012 -> avgBi"	.ascii	"trate: %.3fkbit/s\012\000"	.globl	__floatsidf	.globl	__adddf3	.globl	__muldf3	.align	2$LC6:	.ascii	"stream_read: WARNING! s->buf_pos>s->buf_len\012\000"	.align	2$LC7:	.ascii	"ESDS MPEG4 Decoder Specific Descriptor (%dBytes)\012\000"	.align	2$LC8:	.ascii	"ESDS MPEG4 Sync Layer Config Descriptor (%dBytes)\012 ->"	.ascii	" predefined: %d\012\000"	.section	.rodata.cst8,"aM",@progbits,8	.align	3$LC4:	.word	0	.word	1106247680	.align	3$LC5:	.word	-755914244	.word	1062232653	.section	.text.mp4_parse_esds,"ax",@progbits	.align	2	.align	5	.globl	mp4_parse_esds	.ent	mp4_parse_esds	.type	mp4_parse_esds, @functionmp4_parse_esds:	.frame	$sp,80,$31		# vars= 0, regs= 7/0, args= 48, gp= 0	.mask	0x803f0000,-8	.fmask	0x00000000,0	addiu	$sp,$sp,-80	sw	$20,64($sp)	sw	$16,48($sp)	move	$20,$6	sw	$31,72($sp)	sw	$21,68($sp)	sw	$19,60($sp)	sw	$18,56($sp)	.set	noreorder	.set	nomacro	jal	new_memory_stream	sw	$17,52($sp)	.set	macro	.set	reorder	move	$16,$2	li	$3,4			# 0x4	andi	$2,$20,0x3	subu	$3,$3,$2	li	$2,2			# 0x2	addiu	$6,$20,44	.set	noreorder	.set	nomacro	beq	$3,$2,$L41	move	$4,$20	.set	macro	.set	reorder	li	$2,3			# 0x3	.set	noreorder	.set	nomacro	beq	$3,$2,$L42	li	$2,1			# 0x1	.set	macro	.set	reorder	beq	$3,$2,$L348$L39:	addiu	$5,$4,-4	move	$2,$0#APP	S32I2M xr1,$2#NO_APP	andi	$3,$4,0x1f	.set	noreorder	.set	nomacro	beq	$3,$0,$L385	addiu	$2,$6,-31	.set	macro	.set	reorder	li	$2,-32			# 0xffffffffffffffe0	and	$2,$5,$2	addiu	$4,$2,32	sltu	$3,$5,$4	.set	noreorder	.set	nomacro	beq	$3,$0,$L385	addiu	$2,$6,-31	.set	macro	.set	reorder$L333:#APP	S32SDI xr1,$5,4#NO_APP	sltu	$2,$5,$4	.set	noreorder	.set	nomacro	bne	$2,$0,$L333	addiu	$2,$6,-31	.set	macro	.set	reorder$L385:	li	$3,-32			# 0xffffffffffffffe0	and	$3,$2,$3	sltu	$4,$5,$3	.set	noreorder	.set	nomacro	beq	$4,$0,$L386	addiu	$2,$6,-4	.set	macro	.set	reorder	addiu	$2,$5,4$L387:#APP	pref 30,0($2)	S32SDI xr1,$5,4	S32SDI xr1,$5,4	S32SDI xr1,$5,4	S32SDI xr1,$5,4	S32SDI xr1,$5,4	S32SDI xr1,$5,4	S32SDI xr1,$5,4	S32SDI xr1,$5,4#NO_APP	sltu	$2,$5,$3	.set	noreorder	.set	nomacro	bne	$2,$0,$L387	addiu	$2,$5,4	.set	macro	.set	reorder	addiu	$2,$6,-4$L386:	li	$3,-4			# 0xfffffffffffffffc	and	$3,$2,$3	sltu	$4,$5,$3	beq	$4,$0,$L48$L335:#APP	S32SDI xr1,$5,4#NO_APP	sltu	$2,$5,$3	bne	$2,$0,$L335$L48:	andi	$3,$6,0x3	li	$2,2			# 0x2	.set	noreorder	.set	nomacro	beq	$3,$2,$L52	addiu	$4,$5,4	.set	macro	.set	reorder	li	$2,3			# 0x3	.set	noreorder	.set	nomacro	beq	$3,$2,$L53	li	$2,1			# 0x1	.set	macro	.set	reorder	beq	$3,$2,$L349$L50:	lw	$3,36($16)	lw	$2,40($16)	sltu	$2,$3,$2	.set	noreorder	.set	nomacro	beq	$2,$0,$L54	addiu	$5,$3,1	.set	macro	.set	reorder	lw	$2,80($16)	addu	$2,$3,$2	lbu	$3,0($2)	sw	$5,36($16)	andi	$2,$3,0x00ff$L56:	sb	$2,0($20)	lw	$3,36($16)	lw	$6,40($16)	sltu	$2,$3,$6	.set	noreorder	.set	nomacro	beq	$2,$0,$L59	addiu	$5,$3,1	.set	macro	.set	reorder	lw	$2,80($16)	addu	$2,$3,$2	lbu	$3,0($2)	sw	$5,36($16)	sll	$18,$3,8$L61:	sltu	$2,$5,$6	beq	$2,$0,$L64	lw	$2,80($16)	addu	$2,$5,$2	lbu	$3,0($2)	addiu	$5,$5,1	move	$17,$3	sw	$5,36($16)$L66:	sltu	$2,$5,$6	beq	$2,$0,$L69	lw	$2,80($16)	addu	$2,$5,$2	addiu	$5,$5,1	lbu	$3,0($2)	sw	$5,36($16)$L71:	or	$2,$18,$17	sll	$2,$2,8	or	$2,$3,$2	lbu	$7,0($20)	lui	$6,%hi($LC0)	sw	$2,4($20)	addiu	$6,$6,%lo($LC0)	li	$4,7			# 0x7	li	$5,6			# 0x6	.set	noreorder	.set	nomacro	jal	mp_msg	sw	$2,16($sp)	.set	macro	.set	reorder	lw	$3,36($16)	lw	$6,40($16)	sltu	$2,$3,$6	.set	noreorder	.set	nomacro	beq	$2,$0,$L74	addiu	$5,$3,1	.set	macro	.set	reorder	lw	$7,80($16)	addu	$2,$3,$7	lbu	$3,0($2)	sw	$5,36($16)$L76:	li	$2,3			# 0x3	.set	noreorder	.set	nomacro	beq	$3,$2,$L350	sltu	$2,$5,$6	.set	macro	.set	reorder	beq	$2,$0,$L120$L352:	lw	$2,80($16)	addu	$2,$5,$2	lbu	$3,0($2)	addiu	$5,$5,1	sll	$17,$3,8	sw	$5,36($16)$L122:	sltu	$2,$5,$6	beq	$2,$0,$L125$L354:	lw	$2,80($16)	addu	$2,$5,$2	addiu	$5,$5,1	lbu	$2,0($2)	sw	$5,36($16)$L127:	or	$2,$2,$17	andi	$2,$2,0xffff	lui	$6,%hi($LC2)	sh	$2,8($20)	addiu	$6,$6,%lo($LC2)	li	$4,7			# 0x7	li	$5,6			# 0x6	li	$7,2			# 0x2	.set	noreorder	.set	nomacro	jal	mp_msg	sw	$2,16($sp)	.set	macro	.set	reorder$L117:	lw	$3,36($16)	lw	$2,40($16)	sltu	$2,$3,$2	.set	noreorder	.set	nomacro	beq	$2,$0,$L130	addiu	$5,$3,1	.set	macro	.set	reorder	lw	$7,80($16)	addu	$2,$3,$7	lbu	$3,0($2)	li	$2,4			# 0x4	.set	noreorder	.set	nomacro	beq	$3,$2,$L135	sw	$5,36($16)	.set	macro	.set	reorder$L133:	.set	noreorder	.set	nomacro	jal	uc_free	move	$4,$16	.set	macro	.set	reorder	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)	li	$2,1			# 0x1	.set	noreorder	.set	nomacro	j	$31	addiu	$sp,$sp,80	.set	macro	.set	reorder$L74:	.set	noreorder	.set	nomacro	jal	stream_fill_buffer	move	$4,$16	.set	macro	.set	reorder	bne	$2,$0,$L351	lw	$5,36($16)	lw	$6,40($16)	sltu	$2,$5,$6	bne	$2,$0,$L352$L120:	.set	noreorder	.set	nomacro	jal	stream_fill_buffer	move	$4,$16	.set	macro	.set	reorder	beq	$2,$0,$L353	lw	$5,36($16)	lw	$2,80($16)	lw	$6,40($16)	addu	$2,$2,$5	lbu	$3,0($2)	addiu	$5,$5,1	sltu	$2,$5,$6	sw	$5,36($16)	.set	noreorder	.set	nomacro	bne	$2,$0,$L354	sll	$17,$3,8	.set	macro	.set	reorder$L125:	.set	noreorder	.set	nomacro	jal	stream_fill_buffer	move	$4,$16	.set	macro	.set	reorder	beq	$2,$0,$L355	lw	$3,36($16)	lw	$2,80($16)	addiu	$5,$3,1	addu	$2,$2,$3	lbu	$2,0($2)	.set	noreorder	.set	nomacro	j	$L127	sw	$5,36($16)	.set	macro	.set	reorder$L69:	.set	noreorder	.set	nomacro	jal	stream_fill_buffer	move	$4,$16	.set	macro	.set	reorder	beq	$2,$0,$L356	lw	$2,36($16)	lw	$3,80($16)	addiu	$5,$2,1	addu	$3,$3,$2	lbu	$4,0($3)	sw	$5,36($16)	.set	noreorder	.set	nomacro	j	$L71	move	$3,$4	.set	macro	.set	reorder$L64:	.set	noreorder	.set	nomacro	jal	stream_fill_buffer	move	$4,$16	.set	macro	.set	reorder	beq	$2,$0,$L357	lw	$5,36($16)	lw	$2,80($16)	lw	$6,40($16)	addu	$2,$2,$5	lbu	$3,0($2)	addiu	$5,$5,1	move	$17,$3	.set	noreorder	.set	nomacro	j	$L66	sw	$5,36($16)	.set	macro	.set	reorder$L59:	.set	noreorder	.set	nomacro	jal	stream_fill_buffer	move	$4,$16	.set	macro	.set	reorder	beq	$2,$0,$L358	lw	$5,36($16)	lw	$2,80($16)	lw	$6,40($16)	addu	$2,$2,$5	lbu	$3,0($2)	addiu	$5,$5,1	sll	$18,$3,8	.set	noreorder	.set	nomacro	j	$L61	sw	$5,36($16)	.set	macro	.set	reorder$L54:	.set	noreorder	.set	nomacro	jal	stream_fill_buffer	move	$4,$16	.set	macro	.set	reorder	beq	$2,$0,$L56	lw	$2,36($16)	lw	$3,80($16)	addiu	$5,$2,1	addu	$3,$3,$2	lbu	$4,0($3)	sw	$5,36($16)	.set	noreorder	.set	nomacro	j	$L56	andi	$2,$4,0x00ff	.set	macro	.set	reorder$L41:	addiu	$4,$20,2	sb	$0,0($20)	.set	noreorder	.set	nomacro	j	$L39	sb	$0,1($20)	.set	macro	.set	reorder$L52:	sb	$0,4($5)	.set	noreorder	.set	nomacro	j	$L50	sb	$0,1($4)	.set	macro	.set	reorder$L130:	.set	noreorder	.set	nomacro	jal	stream_fill_buffer	move	$4,$16	.set	macro	.set	reorder	beq	$2,$0,$L133	lw	$2,36($16)	lw	$7,80($16)	addiu	$5,$2,1	addu	$2,$7,$2	lbu	$3,0($2)	li	$2,4			# 0x4	.set	noreorder	.set	nomacro	bne	$3,$2,$L133	sw	$5,36($16)	.set	macro	.set	reorder$L135:	lw	$3,36($16)	lw	$6,40($16)	sltu	$2,$3,$6	.set	noreorder	.set	nomacro	beq	$2,$0,$L136	addu	$2,$3,$7	.set	macro	.set	reorder	addiu	$5,$3,1	lbu	$2,0($2)	sw	$5,36($16)$L138:	andi	$2,$2,0x00ff	sll	$3,$2,24	sra	$3,$3,24	.set	noreorder	.set	nomacro	bgez	$3,$L141	andi	$17,$2,0x7f	.set	macro	.set	reorder	sltu	$2,$5,$6	.set	noreorder	.set	nomacro	beq	$2,$0,$L143	addu	$2,$5,$7	.set	macro	.set	reorder	addiu	$5,$5,1	lbu	$2,0($2)	sw	$5,36($16)$L145:	andi	$2,$2,0x00ff	sll	$4,$2,24	sll	$3,$17,7	andi	$2,$2,0x7f	sra	$4,$4,24	.set	noreorder	.set	nomacro	bgez	$4,$L141	or	$17,$3,$2	.set	macro	.set	reorder	sltu	$2,$5,$6	.set	noreorder	.set	nomacro	beq	$2,$0,$L149	addu	$2,$5,$7	.set	macro	.set	reorder	addiu	$5,$5,1	lbu	$2,0($2)	sw	$5,36($16)$L151:	andi	$2,$2,0x00ff	sll	$4,$2,24	sll	$3,$17,7	andi	$2,$2,0x7f	sra	$4,$4,24	.set	noreorder	.set	nomacro	bgez	$4,$L141	or	$17,$3,$2	.set	macro	.set	reorder	sltu	$2,$5,$6	.set	noreorder	.set	nomacro	beq	$2,$0,$L154	addu	$2,$5,$7	.set	macro	.set	reorder	addiu	$5,$5,1	lbu	$2,0($2)	sw	$5,36($16)$L156:	sll	$3,$17,7	andi	$2,$2,0x7f	or	$17,$3,$2$L141:	sltu	$2,$5,$6	.set	noreorder	.set	nomacro	beq	$2,$0,$L158	andi	$21,$17,0xffff	.set	macro	.set	reorder	lw	$2,80($16)	addu	$2,$5,$2	lbu	$3,0($2)	addiu	$5,$5,1	andi	$3,$3,0x00ff	sw	$5,36($16)$L160:	sb	$3,11($20)	lw	$3,36($16)	lw	$2,40($16)	sltu	$2,$3,$2	.set	noreorder	.set	nomacro	beq	$2,$0,$L163	addiu	$5,$3,1	.set	macro	.set	reorder	lw	$2,80($16)	addu	$2,$3,$2	lbu	$3,0($2)	sw	$5,36($16)	andi	$2,$3,0x00ff$L165:	sb	$2,12($20)	lw	$3,36($16)	lw	$6,40($16)	sltu	$2,$3,$6	.set	noreorder	.set	nomacro	beq	$2,$0,$L168	addiu	$5,$3,1	.set	macro	.set	reorder	lw	$2,80($16)	addu	$2,$3,$2	lbu	$3,0($2)	sw	$5,36($16)	sll	$18,$3,8$L170:	sltu	$2,$5,$6	beq	$2,$0,$L173	lw	$2,80($16)	addu	$2,$5,$2	lbu	$3,0($2)	addiu	$5,$5,1	move	$17,$3	sw	$5,36($16)$L175:	sltu	$2,$5,$6	beq	$2,$0,$L178	lw	$2,80($16)	addu	$2,$5,$2	addiu	$5,$5,1	lbu	$3,0($2)	sw	$5,36($16)$L180:	or	$2,$18,$17	sll	$2,$2,8	or	$2,$3,$2	sw	$2,16($20)	lw	$3,36($16)	lw	$6,40($16)	sltu	$2,$3,$6	.set	noreorder	.set	nomacro	beq	$2,$0,$L183	addiu	$5,$3,1	.set	macro	.set	reorder	lw	$2,80($16)	addu	$2,$3,$2	lbu	$3,0($2)	sw	$5,36($16)	sll	$19,$3,8$L185:	sltu	$2,$5,$6	beq	$2,$0,$L188	lw	$2,80($16)	addu	$2,$5,$2	lbu	$3,0($2)	addiu	$5,$5,1	move	$18,$3	sw	$5,36($16)$L190:	sltu	$2,$5,$6	beq	$2,$0,$L193	lw	$2,80($16)	addu	$2,$5,$2	lbu	$3,0($2)	addiu	$5,$5,1	move	$17,$3	sw	$5,36($16)$L195:	sltu	$2,$5,$6	beq	$2,$0,$L198	lw	$2,80($16)	addu	$2,$5,$2	addiu	$5,$5,1	lbu	$3,0($2)	sw	$5,36($16)$L200:	or	$2,$19,$18	sll	$2,$2,8	or	$2,$2,$17	sll	$2,$2,8	or	$2,$2,$3	sw	$2,20($20)	lw	$3,36($16)	lw	$6,40($16)	sltu	$2,$3,$6	.set	noreorder	.set	nomacro	beq	$2,$0,$L203	addiu	$5,$3,1	.set	macro	.set	reorder	lw	$2,80($16)	addu	$2,$3,$2	lbu	$3,0($2)	sw	$5,36($16)	sll	$19,$3,8$L205:	sltu	$2,$5,$6	beq	$2,$0,$L208	lw	$2,80($16)	addu	$2,$5,$2	lbu	$3,0($2)	addiu	$5,$5,1	move	$18,$3	sw	$5,36($16)$L210:	sltu	$2,$5,$6	beq	$2,$0,$L213	lw	$2,80($16)	addu	$2,$5,$2	lbu	$3,0($2)	addiu	$5,$5,1	move	$17,$3	sw	$5,36($16)$L215:	sltu	$2,$5,$6	beq	$2,$0,$L218	lw	$2,80($16)	addu	$2,$5,$2	addiu	$5,$5,1	lbu	$3,0($2)	sw	$5,36($16)$L220:	or	$2,$18,$19	sll	$2,$2,8	or	$2,$17,$2	sll	$2,$2,8	lw	$5,16($20)	lw	$4,20($20)	or	$17,$3,$2	lbu	$3,11($20)	lbu	$2,12($20)	sw	$17,24($20)	sw	$5,24($sp)	sw	$3,16($sp)	.set	noreorder	.set	nomacro	jal	__floatsidf	sw	$2,20($sp)	.set	macro	.set	reorder	move	$4,$2	lw	$2,20($20)	.set	noreorder	.set	nomacro	bltz	$2,$L359	move	$5,$3	.set	macro	.set	reorder$L223:	lui	$2,%hi($LC5)	lw	$18,%lo($LC5)($2)	lw	$19,%lo($LC5+4)($2)	move	$6,$18	.set	noreorder	.set	nomacro	jal	__muldf3

⌨️ 快捷键说明

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