parse_es.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 438 行
S
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 nomacroaddiu $sp,$sp,-56sw $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 # 0x100000subu $2,$8,$17slt $2,$2,5beq $2,$0,$L2move $18,$4move $4,$0lw $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,$4j $31addiu $sp,$sp,56$L2:lui $7,%hi(videobuffer)lw $2,%lo(videobuffer)($7)lui $19,%hi(next_nal)addu $2,$2,$17sb $0,0($2)lw $3,%lo(videobuf_len)($16)lw $2,%lo(videobuffer)($7)move $20,$19addu $2,$2,$3sb $0,1($2)lw $5,%lo(videobuf_len)($16)lw $2,%lo(videobuffer)($7)li $3,1addu $2,$2,$5sb $3,2($2)lw $6,%lo(videobuf_len)($16)lw $2,%lo(videobuffer)($7)lw $5,%lo(next_nal)($19)addu $2,$2,$6sb $5,3($2)lw $3,%lo(videobuf_len)($16)lw $5,%lo(videobuffer)($7)addiu $3,$3,4subu $6,$8,$3addu $5,$3,$5li $2,256 # 0x100addiu $7,$sp,24sw $2,16($sp)jal demux_pattern_3sw $3,%lo(videobuf_len)($16)lw $4,%lo(videobuf_len)($16)lw $3,24($sp)addu $3,$4,$3beq $2,$0,$L5sw $3,%lo(videobuf_len)($16)lw $5,0($18)lw $2,4($18)addiu $3,$3,-3slt $2,$5,$2beq $2,$0,$L7sw $3,%lo(videobuf_len)($16)lw $2,8($18)addiu $3,$5,1addu $2,$2,$5lbu $2,0($2)sw $3,0($18)$L9:bltz $2,$L5sw $2,%lo(next_nal)($20)lw $2,%lo(videobuf_len)($16)li $3,4 # 0x4subu $4,$2,$17lui $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,$4j $31addiu $sp,$sp,56$L7:jal ds_fill_buffermove $4,$18bne $2,$0,$L15nopli $2,-1 # 0xffffffffffffffffsw $2,%lo(next_nal)($19)$L5:lw $2,%lo(videobuf_len)($16)li $3,-1 # 0xffffffffffffffffsubu $4,$2,$17lui $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,$4j $31addiu $sp,$sp,56$L15:lw $2,0($18)lw $3,8($18)addiu $4,$2,1addu $3,$3,$2lbu $2,0($3)j $L9sw $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 nomacroaddiu $sp,$sp,-48sw $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,$L33move $16,$4lui $4,%hi(next_nal)$L17:lw $2,%lo(next_nal)($4)lw $31,40($sp)ori $3,$2,0x100lw $17,36($sp)lw $16,32($sp)move $2,$3j $31addiu $sp,$sp,48$L33:li $2,256 # 0x100move $5,$0li $6,10485760 # 0xa00000addiu $7,$sp,24sw $2,16($sp)jal demux_pattern_3sw $0,24($sp)beq $2,$0,$L34lw $3,24($sp)lw $4,0($16)lw $2,4($16)slt $2,$4,$2beq $2,$0,$L23addiu $3,$4,1lw $2,8($16)addu $2,$2,$4lbu $2,0($2)sw $3,0($16)$L25:lui $4,%hi(next_nal)bltz $2,$L21sw $2,%lo(next_nal)($4)li $2,4 # 0x4j $L17sw $2,%lo(videobuf_code_len)($17)$L34:li $2,10485760 # 0xa00000beq $3,$2,$L35lui $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,$0lw $31,40($sp)lw $17,36($sp)lw $16,32($sp)move $2,$3j $31addiu $sp,$sp,48$L23:jal ds_fill_buffermove $4,$16beq $2,$0,$L26lui $4,%hi(next_nal)lw $2,0($16)lw $3,8($16)addiu $4,$2,1addu $3,$3,$2lbu $2,0($3)j $L25sw $4,0($16)$L26:li $2,-1 # 0xffffffffffffffffj $L36sw $2,%lo(next_nal)($4)$L35:li $4,5 # 0x5addiu $6,$6,%lo($LC0)jal mp_msgli $5,1 # 0x1j $L21lui $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 nomacroaddiu $sp,$sp,-24sw $16,16($sp)lui $16,%hi(videobuffer)lw $2,%lo(videobuffer)($16)sw $31,20($sp)beq $2,$0,$L38move $4,$2jal uc_freenop$L38:sw $0,%lo(videobuffer)($16)lw $31,20($sp)lw $16,16($sp)j $31addiu $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 nomacroaddiu $sp,$sp,-48sw $17,36($sp)li $2,256 # 0x100lui $17,%hi(videobuf_code_len)move $5,$0li $6,10485760 # 0xa00000addiu $7,$sp,24sw $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_3move $16,$4bne $2,$0,$L42lw $3,24($sp)li $2,10485760 # 0xa00000beq $3,$2,$L55lui $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,$0lw $31,40($sp)lw $17,36($sp)lw $16,32($sp)move $2,$3j $31addiu $sp,$sp,48$L42:lw $4,0($16)lw $2,4($16)slt $2,$4,$2beq $2,$0,$L46addiu $3,$4,1lw $2,8($16)addu $2,$2,$4lbu $2,0($2)sw $3,0($16)$L48:lui $4,%hi(next_nal)bltz $2,$L44sw $2,%lo(next_nal)($4)ori $3,$2,0x100li $2,4 # 0x4sw $2,%lo(videobuf_code_len)($17)lw $31,40($sp)lw $17,36($sp)lw $16,32($sp)move $2,$3j $31addiu $sp,$sp,48$L46:jal ds_fill_buffermove $4,$16beq $2,$0,$L49lui $4,%hi(next_nal)lw $2,0($16)lw $3,8($16)addiu $4,$2,1addu $3,$3,$2lbu $2,0($3)j $L48sw $4,0($16)$L55:li $4,5 # 0x5addiu $6,$6,%lo($LC0)jal mp_msgli $5,1 # 0x1j $L44lui $4,%hi(next_nal)$L49:li $2,-1 # 0xffffffffffffffffj $L56sw $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 + -
显示快捷键?