parse_es.mid

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

MID
438
字号
	.file	1 "parse_es.c"	.section .mdebug.abi32	.previous	.section	.text.read_video_packet,"ax",@progbits	.align	2	.align	5	.globl	read_video_packet	.ent	read_video_packet	.type	read_video_packet, @functionread_video_packet:	.frame	$sp,56,$31		# vars= 8, regs= 6/0, args= 24, gp= 0	.mask	0x801f0000,-4	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-56	sw	$18,40($sp)	sw	$16,32($sp)	sw	$31,52($sp)	sw	$20,48($sp)	sw	$19,44($sp)	sw	$17,36($sp)	lui	$16,%hi(videobuf_len)	lw	$17,%lo(videobuf_len)($16)	li	$8,1048576			# 0x100000	subu	$2,$8,$17	slt	$2,$2,5	beq	$2,$0,$L2	move	$18,$4	move	$4,$0	lw	$31,52($sp)	lw	$20,48($sp)	lw	$19,44($sp)	lw	$18,40($sp)	lw	$17,36($sp)	lw	$16,32($sp)	move	$2,$4	j	$31	addiu	$sp,$sp,56$L2:	lui	$7,%hi(videobuffer)	lw	$2,%lo(videobuffer)($7)	lui	$19,%hi(next_nal)	addu	$2,$2,$17	sb	$0,0($2)	lw	$3,%lo(videobuf_len)($16)	lw	$2,%lo(videobuffer)($7)	move	$20,$19	addu	$2,$2,$3	sb	$0,1($2)	lw	$5,%lo(videobuf_len)($16)	lw	$2,%lo(videobuffer)($7)	li	$3,1	addu	$2,$2,$5	sb	$3,2($2)	lw	$6,%lo(videobuf_len)($16)	lw	$2,%lo(videobuffer)($7)	lw	$5,%lo(next_nal)($19)	addu	$2,$2,$6	sb	$5,3($2)	lw	$3,%lo(videobuf_len)($16)	lw	$5,%lo(videobuffer)($7)	addiu	$3,$3,4	subu	$6,$8,$3	addu	$5,$3,$5	li	$2,256			# 0x100	addiu	$7,$sp,24	sw	$2,16($sp)	jal	demux_pattern_3	sw	$3,%lo(videobuf_len)($16)	lw	$4,%lo(videobuf_len)($16)	lw	$3,24($sp)	addu	$3,$4,$3	beq	$2,$0,$L5	sw	$3,%lo(videobuf_len)($16)	lw	$5,0($18)	lw	$2,4($18)	addiu	$3,$3,-3	slt	$2,$5,$2	beq	$2,$0,$L7	sw	$3,%lo(videobuf_len)($16)	lw	$2,8($18)	addiu	$3,$5,1	addu	$2,$2,$5	lbu	$2,0($2)	sw	$3,0($18)$L9:	bltz	$2,$L5	sw	$2,%lo(next_nal)($20)	lw	$2,%lo(videobuf_len)($16)	li	$3,4			# 0x4	subu	$4,$2,$17	lui	$2,%hi(videobuf_code_len)	sw	$3,%lo(videobuf_code_len)($2)	lw	$31,52($sp)	lw	$20,48($sp)	lw	$19,44($sp)	lw	$18,40($sp)	lw	$17,36($sp)	lw	$16,32($sp)	move	$2,$4	j	$31	addiu	$sp,$sp,56$L7:	jal	ds_fill_buffer	move	$4,$18	bne	$2,$0,$L15	nop	li	$2,-1			# 0xffffffffffffffff	sw	$2,%lo(next_nal)($19)$L5:	lw	$2,%lo(videobuf_len)($16)	li	$3,-1			# 0xffffffffffffffff	subu	$4,$2,$17	lui	$2,%hi(videobuf_code_len)	sw	$0,%lo(videobuf_code_len)($2)	sw	$3,%lo(next_nal)($20)	lw	$31,52($sp)	lw	$20,48($sp)	lw	$19,44($sp)	lw	$18,40($sp)	lw	$17,36($sp)	lw	$16,32($sp)	move	$2,$4	j	$31	addiu	$sp,$sp,56$L15:	lw	$2,0($18)	lw	$3,8($18)	addiu	$4,$2,1	addu	$3,$3,$2	lbu	$2,0($3)	j	$L9	sw	$4,0($18)	.set	macro	.set	reorder	.end	read_video_packet	.section	.rodata.str1.4,"aMS",@progbits,1	.align	2$LC0:	.ascii	"parse_es: could not sync video stream!\012\000"	.section	.text.sync_video_packet,"ax",@progbits	.align	2	.align	5	.globl	sync_video_packet	.ent	sync_video_packet	.type	sync_video_packet, @functionsync_video_packet:	.frame	$sp,48,$31		# vars= 8, regs= 3/0, args= 24, gp= 0	.mask	0x80030000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-48	sw	$17,36($sp)	sw	$16,32($sp)	sw	$31,40($sp)	lui	$17,%hi(videobuf_code_len)	lw	$2,%lo(videobuf_code_len)($17)	beq	$2,$0,$L33	move	$16,$4	lui	$4,%hi(next_nal)$L17:	lw	$2,%lo(next_nal)($4)	lw	$31,40($sp)	ori	$3,$2,0x100	lw	$17,36($sp)	lw	$16,32($sp)	move	$2,$3	j	$31	addiu	$sp,$sp,48$L33:	li	$2,256			# 0x100	move	$5,$0	li	$6,10485760			# 0xa00000	addiu	$7,$sp,24	sw	$2,16($sp)	jal	demux_pattern_3	sw	$0,24($sp)	beq	$2,$0,$L34	lw	$3,24($sp)	lw	$4,0($16)	lw	$2,4($16)	slt	$2,$4,$2	beq	$2,$0,$L23	addiu	$3,$4,1	lw	$2,8($16)	addu	$2,$2,$4	lbu	$2,0($2)	sw	$3,0($16)$L25:	lui	$4,%hi(next_nal)	bltz	$2,$L21	sw	$2,%lo(next_nal)($4)	li	$2,4			# 0x4	j	$L17	sw	$2,%lo(videobuf_code_len)($17)$L34:	li	$2,10485760			# 0xa00000	beq	$3,$2,$L35	lui	$6,%hi($LC0)	lui	$4,%hi(next_nal)$L21:	li	$2,-1			# 0xffffffffffffffff$L36:	sw	$2,%lo(next_nal)($4)	sw	$0,%lo(videobuf_code_len)($17)	move	$3,$0	lw	$31,40($sp)	lw	$17,36($sp)	lw	$16,32($sp)	move	$2,$3	j	$31	addiu	$sp,$sp,48$L23:	jal	ds_fill_buffer	move	$4,$16	beq	$2,$0,$L26	lui	$4,%hi(next_nal)	lw	$2,0($16)	lw	$3,8($16)	addiu	$4,$2,1	addu	$3,$3,$2	lbu	$2,0($3)	j	$L25	sw	$4,0($16)$L26:	li	$2,-1			# 0xffffffffffffffff	j	$L36	sw	$2,%lo(next_nal)($4)$L35:	li	$4,5			# 0x5	addiu	$6,$6,%lo($LC0)	jal	mp_msg	li	$5,1			# 0x1	j	$L21	lui	$4,%hi(next_nal)	.set	macro	.set	reorder	.end	sync_video_packet	.section	.text.deinit_parse_ex,"ax",@progbits	.align	2	.align	5	.globl	deinit_parse_ex	.ent	deinit_parse_ex	.type	deinit_parse_ex, @functiondeinit_parse_ex:	.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	$16,%hi(videobuffer)	lw	$2,%lo(videobuffer)($16)	sw	$31,20($sp)	beq	$2,$0,$L38	move	$4,$2	jal	uc_free	nop$L38:	sw	$0,%lo(videobuffer)($16)	lw	$31,20($sp)	lw	$16,16($sp)	j	$31	addiu	$sp,$sp,24	.set	macro	.set	reorder	.end	deinit_parse_ex	.section	.text.skip_video_packet,"ax",@progbits	.align	2	.align	5	.globl	skip_video_packet	.ent	skip_video_packet	.type	skip_video_packet, @functionskip_video_packet:	.frame	$sp,48,$31		# vars= 8, regs= 3/0, args= 24, gp= 0	.mask	0x80030000,-8	.fmask	0x00000000,0	.set	noreorder	.set	nomacro		addiu	$sp,$sp,-48	sw	$17,36($sp)	li	$2,256			# 0x100	lui	$17,%hi(videobuf_code_len)	move	$5,$0	li	$6,10485760			# 0xa00000	addiu	$7,$sp,24	sw	$16,32($sp)	sw	$31,40($sp)	sw	$2,16($sp)	sw	$0,24($sp)	sw	$0,%lo(videobuf_code_len)($17)	jal	demux_pattern_3	move	$16,$4	bne	$2,$0,$L42	lw	$3,24($sp)	li	$2,10485760			# 0xa00000	beq	$3,$2,$L55	lui	$6,%hi($LC0)	lui	$4,%hi(next_nal)$L44:	li	$2,-1			# 0xffffffffffffffff$L56:	sw	$2,%lo(next_nal)($4)	sw	$0,%lo(videobuf_code_len)($17)	move	$3,$0	lw	$31,40($sp)	lw	$17,36($sp)	lw	$16,32($sp)	move	$2,$3	j	$31	addiu	$sp,$sp,48$L42:	lw	$4,0($16)	lw	$2,4($16)	slt	$2,$4,$2	beq	$2,$0,$L46	addiu	$3,$4,1	lw	$2,8($16)	addu	$2,$2,$4	lbu	$2,0($2)	sw	$3,0($16)$L48:	lui	$4,%hi(next_nal)	bltz	$2,$L44	sw	$2,%lo(next_nal)($4)	ori	$3,$2,0x100	li	$2,4			# 0x4	sw	$2,%lo(videobuf_code_len)($17)	lw	$31,40($sp)	lw	$17,36($sp)	lw	$16,32($sp)	move	$2,$3	j	$31	addiu	$sp,$sp,48$L46:	jal	ds_fill_buffer	move	$4,$16	beq	$2,$0,$L49	lui	$4,%hi(next_nal)	lw	$2,0($16)	lw	$3,8($16)	addiu	$4,$2,1	addu	$3,$3,$2	lbu	$2,0($3)	j	$L48	sw	$4,0($16)$L55:	li	$4,5			# 0x5	addiu	$6,$6,%lo($LC0)	jal	mp_msg	li	$5,1			# 0x1	j	$L44	lui	$4,%hi(next_nal)$L49:	li	$2,-1			# 0xffffffffffffffff	j	$L56	sw	$2,%lo(next_nal)($4)	.set	macro	.set	reorder	.end	skip_video_packet	.globl	videobuffer	.section	.bss	.align	2	.type	videobuffer, @object	.size	videobuffer, 4videobuffer:	.space	4	.globl	videobuf_len	.align	2	.type	videobuf_len, @object	.size	videobuf_len, 4videobuf_len:	.space	4	.globl	next_nal	.data	.align	2	.type	next_nal, @object	.size	next_nal, 4next_nal:	.word	-1	.globl	videobuf_code_len	.section	.bss	.align	2	.type	videobuf_code_len, @object	.size	videobuf_code_len, 4videobuf_code_len:	.space	4	.ident	"GCC: (GNU) 4.1.2"

⌨️ 快捷键说明

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