ipmovie.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 1,112 行
MID
1,112 行
.file 1 "ipmovie.c" .section .mdebug.abi32 .previous .section .text.ipmovie_read_close,"ax",@progbits .align 2 .align 5 .ent ipmovie_read_close .type ipmovie_read_close, @functionipmovie_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 ipmovie_read_close .rdata .align 2$LC0: .ascii "Interplay MVE File\032\000\000" .section .text.ipmovie_probe,"ax",@progbits .align 2 .align 5 .ent ipmovie_probe .type ipmovie_probe, @functionipmovie_probe: .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) lui $16,%hi($LC0) sw $17,20($sp) sw $31,24($sp) move $17,$4 jal strlen addiu $4,$16,%lo($LC0) move $6,$2 sltu $2,$2,20 beq $2,$0,$L4 sltu $2,$6,4 beq $2,$0,$L6 lbu $3,%lo($LC0)($16) lw $7,4($17) lbu $2,0($7) addiu $5,$16,%lo($LC0) beq $6,$0,$L20 subu $2,$2,$3 bne $2,$0,$L22 sltu $3,$0,$2 lbu $2,1($7) lbu $3,1($5) sltu $4,$6,2 bne $4,$0,$L20 subu $2,$2,$3 bne $2,$0,$L22 sltu $3,$0,$2 lbu $2,2($7) lbu $3,2($5) li $4,2 # 0x2 beq $6,$4,$L20 subu $2,$2,$3 bne $2,$0,$L22 sltu $3,$0,$2 lbu $3,3($7) lbu $2,3($5) j $L20 subu $2,$3,$2$L6: lw $4,4($17) jal strcmp addiu $5,$16,%lo($LC0)$L20: sltu $3,$0,$2$L22: lw $31,24($sp) li $2,100 # 0x64 lw $17,20($sp) lw $16,16($sp) movn $2,$0,$3 j $31 addiu $sp,$sp,32$L4: lw $4,4($17) addiu $5,$16,%lo($LC0) jal strncmp li $6,20 # 0x14 sltu $3,$0,$2 lw $31,24($sp) li $2,100 # 0x64 lw $17,20($sp) lw $16,16($sp) movn $2,$0,$3 j $31 addiu $sp,$sp,32 .set macro .set reorder .end ipmovie_probe .globl __divdi3 .section .text.load_ipmovie_packet,"ax",@progbits .align 2 .align 5 .ent load_ipmovie_packet .type load_ipmovie_packet, @functionload_ipmovie_packet: .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 $20,40($sp) sw $18,32($sp) sw $17,28($sp) sw $31,52($sp) sw $22,48($sp) sw $21,44($sp) sw $19,36($sp) sw $16,24($sp) lw $8,64($4) lw $9,68($4) move $17,$4 or $2,$8,$9 move $18,$5 beq $2,$0,$L24 move $20,$6 li $21,65536 # 0x10000 lw $2,44($4) ori $22,$21,0x4001 beq $2,$22,$L26 addiu $2,$8,6 lw $4,72($4) sltu $5,$2,$8 addu $3,$5,$9 addiu $4,$4,-6 move $8,$2 move $9,$3 sw $4,72($17) sw $2,64($17) sw $3,68($17)$L26: move $4,$18 move $6,$8 move $7,$9 jal url_fseek sw $0,16($sp) lw $16,72($17) move $2,$0 move $3,$0 move $4,$18 sw $2,64($17) sw $3,68($17) move $5,$20 move $6,$16 lw $18,48($17) jal av_get_packet lw $19,40($17) beq $16,$2,$L46 ori $4,$21,0x5f90$L28: li $5,65534 # 0xfffe$L32: 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,$5 j $31 addiu $sp,$sp,56$L24: lw $2,96($4) lw $3,100($4) or $2,$2,$3 bne $2,$0,$L47 nop lw $6,112($4) lw $7,116($4) move $4,$5 jal url_fseek sw $0,16($sp) li $5,65532 # 0xfffc 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,$5 j $31 addiu $sp,$sp,56$L47: lw $2,104($4) lw $5,88($4) move $4,$6 jal av_new_packet addu $5,$2,$5 beq $2,$0,$L35 li $5,65533 # 0xfffd 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,$5 j $31 addiu $sp,$sp,56$L46: multu $18,$4 lw $2,56($17) mflo $4 mfhi $5 move $6,$19 move $7,$0 jal __divdi3 sw $2,24($20) lw $4,44($17) sw $2,0($20) beq $4,$22,$L30 sw $3,4($20) lw $2,72($17) lw $4,36($17) lw $3,32($17) divu $0,$2,$4 teq $4,$0,7 srl $3,$3,3 lw $4,48($17) li $5,3 # 0x3 mflo $2 divu $0,$2,$3 teq $3,$0,7 mflo $2 addu $4,$4,$2 sw $4,48($17) 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,$5 j $31 addiu $sp,$sp,56$L35: lw $2,96($17) lw $3,100($17) move $4,$18 move $6,$2 move $7,$3 sw $2,48($20) sw $3,52($20) jal url_fseek sw $0,16($sp) move $3,$0 move $2,$0 lw $5,16($20) lw $6,104($17) sw $3,100($17) sw $2,96($17) jal get_buffer move $4,$18 lw $3,104($17) beq $2,$3,$L48 nop$L45: lw $2,36($20) beq $2,$0,$L28 nop jal $2 move $4,$20 j $L32 li $5,65534 # 0xfffe$L30: lw $3,72($17) lw $4,36($17) addiu $3,$3,-6 divu $0,$3,$4 teq $4,$0,7 lw $2,48($17) li $5,3 # 0x3 mflo $3 addu $2,$2,$3 j $L32 sw $2,48($17)$L48: lw $6,80($17) lw $7,84($17) move $4,$18 jal url_fseek sw $0,16($sp) lw $4,16($20) lw $5,104($17) move $3,$0 move $2,$0 lw $6,88($17) addu $5,$4,$5 sw $3,84($17) sw $2,80($17) jal get_buffer move $4,$18 lw $3,88($17) bne $2,$3,$L45 nop lw $2,52($17) lw $6,24($17) sw $2,24($20) lw $3,12($17) lw $7,28($17) addu $2,$6,$3 sra $5,$3,31 addu $3,$7,$5 sltu $8,$2,$6 addu $3,$8,$3 li $5,3 # 0x3 sw $6,0($20) sw $7,4($20) sw $2,24($17) j $L32 sw $3,28($17) .set macro .set reorder .end load_ipmovie_packet .globl __floatsidf .globl __divdf3 .globl __truncdfsf2 .globl __divsf3 .globl __fixsfsi .section .rodata.cst8,"aM",@progbits,8 .align 3$LC1: .word 0 .word 1093567616 .section .rodata.cst4,"aM",@progbits,4 .align 2$LC2: .word 1202702336 .section .text.process_ipmovie_chunk,"ax",@progbits .align 2 .align 5 .ent process_ipmovie_chunk .type process_ipmovie_chunk, @functionprocess_ipmovie_chunk: .frame $sp,1088,$31 # vars= 1032, regs= 8/0, args= 24, gp= 0 .mask 0x807f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-1088 sw $22,1080($sp) sw $21,1076($sp) sw $20,1072($sp) sw $18,1064($sp) sw $31,1084($sp) sw $19,1068($sp) sw $17,1060($sp) sw $16,1056($sp) move $21,$4 move $20,$5 jal load_ipmovie_packet move $22,$6 move $18,$2 li $2,65532 # 0xfffc bne $18,$2,$L120 move $2,$18 jal url_feof move $4,$20 bne $2,$0,$L115 move $4,$20 addiu $5,$sp,24 jal get_buffer li $6,4 # 0x4 li $3,4 # 0x4 beq $2,$3,$L54 lbu $2,27($sp) li $18,65535 # 0xffff$L50: move $2,$18$L120: lw $31,1084($sp) lw $22,1080($sp) lw $21,1076($sp) lw $20,1072($sp) lw $19,1068($sp) lw $18,1064($sp) lw $17,1060($sp) lw $16,1056($sp) j $31 addiu $sp,$sp,1088$L54: lbu $3,25($sp) lbu $4,26($sp) sll $2,$2,8 lbu $5,24($sp) or $18,$2,$4 sll $3,$3,8 or $19,$3,$5 sltu $2,$18,6 li $3,65535 # 0xffff blez $19,$L58 movz $18,$3,$2 beq $18,$3,$L60 nop$L112: jal url_feof move $4,$20 bne $2,$0,$L111 move $4,$20 addiu $5,$sp,28 jal get_buffer li $6,4 # 0x4 li $3,4 # 0x4 bne $2,$3,$L64 lbu $2,29($sp) lbu $4,28($sp) sll $2,$2,8 addiu $3,$19,-4 or $16,$2,$4 subu $19,$3,$16 lbu $17,31($sp) bltz $19,$L64 lbu $3,30($sp) sltu $2,$3,22 beq $2,$0,$L67 sll $2,$3,2 lui $3,%hi($L84) addiu $3,$3,%lo($L84) addu $2,$2,$3 lw $4,0($2) j $4 nop .rdata .align 2 .align 2$L84: .word $L81 .word $L81 .word $L70 .word $L71 .word $L81 .word $L73 .word $L81 .word $L81 .word $L76 .word $L81 .word $L81 .word $L81 .word $L80 .word $L81 .word $L81 .word $L82 .word $L81 .word $L83 .word $L81 .word $L81 .word $L81 .word $L81 .section .text.process_ipmovie_chunk$L81: li $2,1 # 0x1 move $6,$16 move $7,$0 move $4,$20 jal url_fseek sw $2,16($sp)$L85: beq $19,$0,$L58 li $2,65535 # 0xffff bne $18,$2,$L112 nop$L60: jal url_ftell move $4,$20 sw $2,112($21) sw $3,116($21)$L109: li $2,1 # 0x1 bne $18,$2,$L120 move $2,$18 move $4,$21$L119: move $5,$20 jal load_ipmovie_packet move $6,$22 move $18,$2 move $2,$18 lw $31,1084($sp) lw $22,1080($sp) lw $21,1076($sp) lw $20,1072($sp) lw $19,1068($sp) lw $18,1064($sp) lw $17,1060($sp) lw $16,1056($sp) j $31 addiu $sp,$sp,1088$L71: sltu $2,$17,2 bne $2,$0,$L116 slt $2,$16,11$L67: j $L85 li $18,65535 # 0xffff$L76: jal url_ftell move $4,$20 sw $2,64($21) sw $3,68($21) sw $16,72($21) move $6,$16 move $7,$0 move $4,$20 li $2,1 # 0x1 jal url_fseek sw $2,16($sp) j $L85 nop$L73: sltu $2,$17,3 beq $2,$0,$L67 slt $2,$16,9 beq $2,$0,$L67 move $4,$20 addiu $5,$sp,32 jal get_buffer move $6,$16 bne $16,$2,$L67 lbu $2,33($sp) lbu $3,35($sp) lbu $4,32($sp) lbu $5,34($sp) sll $2,$2,8 sll $3,$3,8 or $2,$2,$4 or $3,$3,$5 sll $2,$2,3 sll $3,$3,3 sw $2,16($21) j $L85 sw $3,20($21)$L80: slt $2,$16,773 beq $2,$0,$L67 move $4,$20 addiu $5,$sp,32 jal get_buffer move $6,$16 bne $16,$2,$L67 lbu $2,33($sp) lbu $3,32($sp) sll $2,$2,8 or $5,$2,$3 slt $4,$5,256 lbu $2,35($sp) beq $4,$0,$L67 lbu $3,34($sp) sll $2,$2,8 or $2,$2,$3 addu $2,$5,$2 addiu $8,$2,-1 slt $3,$8,256 beq $3,$0,$L67 slt $2,$8,$5 bne $2,$0,$L104 sll $2,$5,2 addu $2,$2,$21 addiu $6,$2,124 addiu $7,$sp,36$L106: lbu $2,0($7) lbu $3,1($7) lbu $4,2($7) sll $2,$2,2 andi $2,$2,0x00ff sll $3,$3,10 andi $3,$3,0xfc00 sll $2,$2,16 sll $4,$4,2 or $2,$2,$3 andi $4,$4,0x00ff addiu $5,$5,1 or $2,$2,$4 slt $3,$8,$5 sw $2,0($6) addiu $7,$7,3 beq $3,$0,$L106 addiu $6,$6,4$L104: li $2,1 # 0x1 j $L85 sw $2,120($21)$L82: jal url_ftell move $4,$20 sw $2,96($21) sw $3,100($21) sw $16,104($21) move $6,$16 move $7,$0 move $4,$20 li $2,1 # 0x1 jal url_fseek sw $2,16($sp) j $L85 nop$L83: jal url_ftell move $4,$20 sw $2,80($21) sw $3,84($21) sw $16,88($21) move $6,$16 move $7,$0 move $4,$20 li $2,1 # 0x1 jal url_fseek sw $2,16($sp) j $L85 nop$L70: bne $17,$0,$L67 slt $2,$16,7 beq $2,$0,$L67 move $4,$20 addiu $5,$sp,32 jal get_buffer move $6,$16 bne $16,$2,$L67 lbu $2,35($sp) lbu $3,34($sp) lbu $6,32($sp) lbu $5,33($sp) lbu $4,37($sp) sll $3,$3,16 sll $2,$2,24 lbu $7,36($sp) or $2,$2,$3 or $2,$2,$6 sll $5,$5,8 sll $4,$4,8 or $5,$5,$2 or $4,$4,$7 jal __floatsidf mul $4,$5,$4 lui $6,%hi($LC1) lw $4,%lo($LC1)($6) lw $5,%lo($LC1+4)($6) move $7,$3 jal __divdf3 move $6,$2 move $5,$3 jal __truncdfsf2 move $4,$2 lui $3,%hi($LC2) lw $4,%lo($LC2)($3) move $5,$2 jal __divsf3 sw $2,8($21) jal __fixsfsi move $4,$2 j $L85 sw $2,12($21)$L64: j $L60 li $18,65535 # 0xffff$L115: j $L50 li $18,65534 # 0xfffe$L58: jal url_ftell move $4,$20 sw $2,112($21) li $2,3 # 0x3 bne $18,$2,$L109 sw $3,116($21) j $L119 move $4,$21$L111: j $L60 li $18,65534 # 0xfffe$L116: beq $2,$0,$L67 move $4,$20 addiu $5,$sp,32 jal get_buffer move $6,$16 bne $16,$2,$L67 lbu $2,35($sp) lbu $4,34($sp) sll $2,$2,8 lbu $3,37($sp) or $6,$2,$4 lbu $5,36($sp) sll $4,$6,2 andi $2,$6,0x1 addiu $2,$2,1 sll $3,$3,8 andi $4,$4,0x8 or $3,$3,$5 addiu $4,$4,8 sw $2,36($21) li $2,1 # 0x1 sw $3,40($21) beq $17,$2,$L117 sw $4,32($21) li $2,16 # 0x10$L121: beq $4,$2,$L118 li $2,65536 # 0x10000 ori $2,$2,0x5 j $L85 sw $2,44($21)$L117: andi $2,$6,0x4 beq $2,$0,$L121 li $2,16 # 0x10 li $2,65536 # 0x10000 ori $2,$2,0x4001 j $L85 sw $2,44($21)$L118: j $L85 sw $2,44($21) .set macro .set reorder .end process_ipmovie_chunk .section .text.ipmovie_read_packet,"ax",@progbits .align 2 .align 5 .ent ipmovie_read_packet .type ipmovie_read_packet, @functionipmovie_read_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) move $2,$4 lw $4,12($4) move $6,$5 jal process_ipmovie_chunk addiu $5,$2,16 move $3,$2 li $2,65535 # 0xffff bne $3,$2,$L133 li $4,-22 # 0xffffffffffffffea$L125: lw $31,16($sp) move $2,$4 j $31 addiu $sp,$sp,24$L133: li $2,65534 # 0xfffe beq $3,$2,$L125 li $4,-5 # 0xfffffffffffffffb li $2,65533 # 0xfffd xori $5,$3,0x3 beq $3,$2,$L125 li $4,-12 # 0xfffffffffffffff4 li $2,-1 # 0xffffffffffffffff move $4,$0 j $L125 movn $4,$2,$5 .set macro .set reorder .end ipmovie_read_packet .section .text.ipmovie_read_header,"ax",@progbits .align 2 .align 5 .ent ipmovie_read_header .type ipmovie_read_header, @functionipmovie_read_header: .frame $sp,112,$31 # vars= 64, regs= 6/0, args= 24, gp= 0 .mask 0x801f0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-112 sw $20,104($sp) sw $19,100($sp) sw $18,96($sp) sw $31,108($sp) sw $17,92($sp) sw $16,88($sp) lw $17,12($4) li $2,26 # 0x1a move $3,$0 addiu $18,$4,16 sw $2,112($17) sw $3,116($17) move $2,$0 move $3,$0 addiu $20,$sp,32 sw $3,28($17) sw $3,100($17) sw $3,84($17) sw $3,68($17) move $19,$4 sw $0,48($17) sw $2,24($17) sw $2,96($17) sw $2,80($17) sw $2,64($17) move $4,$17 move $5,$18 jal process_ipmovie_chunk move $6,$20 li $3,2 # 0x2 beq $2,$3,$L151 li $4,-22 # 0xffffffffffffffea$L139: lw $31,108($sp)$L152: lw $20,104($sp) lw $19,100($sp) lw $18,96($sp) lw $17,92($sp) lw $16,88($sp) move $2,$4 j $31 addiu $sp,$sp,112$L151: move $4,$18 addiu $5,$sp,24 jal get_buffer li $6,4 # 0x4 li $3,4 # 0x4 bne $2,$3,$L139 li $4,-5 # 0xfffffffffffffffb lbu $16,27($sp) lbu $3,26($sp) move $4,$18 li $2,1 # 0x1 sll $16,$16,8 li $6,-4 # 0xfffffffffffffffc li $7,-1 # 0xffffffffffffffff or $16,$16,$3 jal url_fseek sw $2,16($sp) li $4,3 # 0x3 bne $16,$4,$L140 move $5,$18 sw $0,44($17)$L142: move $4,$19 jal av_new_stream move $5,$0 beq $2,$0,$L143 move $16,$2 li $18,65536 # 0x10000 move $4,$2 li $5,33 # 0x21 li $6,1 # 0x1 jal av_set_pts_info ori $7,$18,0x5f90 lw $3,8($16) lw $2,0($16) addiu $5,$17,120 sw $2,52($17) sw $0,232($3) lw $2,16($17) sw $5,584($3) sw $2,40($3) lw $4,20($17) li $2,40 # 0x28 sw $4,44($3) lw $5,44($17) sw $2,228($3) bne $5,$0,$L145 sw $0,224($3) j $L139 move $4,$0$L140: move $6,$20 jal process_ipmovie_chunk move $4,$17 beq $2,$0,$L142 li $4,-22 # 0xffffffffffffffea j $L152 lw $31,108($sp)$L143: j $L139 li $4,-12 # 0xfffffffffffffff4$L145: move $4,$19 jal av_new_stream move $5,$0 beq $2,$0,$L143 move $16,$2 move $4,$2 li $5,33 # 0x21 li $6,1 # 0x1 jal av_set_pts_info ori $7,$18,0x5f90 lw $8,8($16) lw $2,0($16) lw $5,44($17) sw $2,56($17) sw $0,232($8) lw $3,36($17) ori $6,$18,0x4001 sw $3,68($8) lw $2,40($17) sw $5,228($8) mul $3,$3,$2 sw $2,64($8) lw $4,32($17) li $2,1 # 0x1 mul $3,$3,$4 sw $2,224($8) sw $4,392($8) bne $5,$6,$L148 sw $3,4($8) srl $2,$3,31 addu $2,$2,$3 sra $2,$2,1 sw $2,4($8)$L148: lw $2,68($8) lw $3,392($8) move $4,$0 mul $2,$2,$3 j $L139 sw $2,272($8) .set macro .set reorder .end ipmovie_read_header .globl ipmovie_demuxer .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC3: .ascii "ipmovie\000" .align 2$LC4: .ascii "Interplay MVE format\000" .data .align 2 .type ipmovie_demuxer, @object .size ipmovie_demuxer, 64ipmovie_demuxer: .word $LC3 .word $LC4 .word 1152 .word ipmovie_probe .word ipmovie_read_header .word ipmovie_read_packet .word ipmovie_read_close .space 36 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?