nsvdec.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 1,772 行 · 第 1/2 页
MID
1,772 行
.file 1 "nsvdec.c" .section .mdebug.abi32 .previous .section .text.nsv_read_seek,"ax",@progbits .align 2 .align 5 .ent nsv_read_seek .type nsv_read_seek, @functionnsv_read_seek: .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 li $2,-1 # 0xffffffffffffffff .set macro .set reorder .end nsv_read_seek .section .text.nsv_read_close,"ax",@progbits .align 2 .align 5 .ent nsv_read_close .type nsv_read_close, @functionnsv_read_close: .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) lw $3,12($4) lw $2,12($3) beq $2,$0,$L8 lw $31,16($sp) jal av_free lw $4,8($3) lw $31,16($sp)$L8: move $2,$0 j $31 addiu $sp,$sp,24 .set macro .set reorder .end nsv_read_close .section .text.nsv_parse_NSVs_header,"ax",@progbits .align 2 .align 5 .ent nsv_parse_NSVs_header .type nsv_parse_NSVs_header, @functionnsv_parse_NSVs_header: .frame $sp,72,$31 # vars= 8, regs= 10/0, args= 24, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-72 sw $16,32($sp) addiu $16,$4,16 sw $31,68($sp) sw $fp,64($sp) sw $23,60($sp) sw $20,48($sp) sw $17,36($sp) sw $22,56($sp) sw $21,52($sp) sw $19,44($sp) sw $18,40($sp) move $23,$4 move $4,$16 jal get_le32 lw $18,12($23) move $4,$16 jal get_le32 move $20,$2 move $4,$16 jal get_le16 move $fp,$2 move $4,$16 jal get_le16 move $17,$2 move $4,$16 jal get_byte sw $2,24($sp) move $6,$2 andi $2,$2,0x80 bne $2,$0,$L10 andi $2,$6,0x7f move $21,$6 li $22,1 # 0x1$L12: jal get_le16 move $4,$16 lw $3,96($23) bne $3,$0,$L22 sh $2,156($18) li $2,1162739712 # 0x454e0000 andi $17,$17,0xffff ori $2,$2,0x4f4e sw $20,144($18) sw $fp,148($18) sh $17,152($18) beq $20,$2,$L24 sh $17,154($18) move $4,$23 jal av_new_stream move $5,$0 beq $2,$0,$L26 move $19,$2 jal av_mallocz li $4,28 # 0x1c beq $2,$0,$L26 lui $4,%hi(nsv_codec_video_tags) lw $16,8($19) addiu $4,$4,%lo(nsv_codec_video_tags) move $5,$20 sw $2,20($19) sw $0,224($16) jal codec_get_id sw $20,232($16) lw $5,24($sp) lw $3,8($19) andi $4,$5,0xffff sw $2,228($16) li $2,24 # 0x18 sw $2,392($3) sw $4,44($3) sw $17,40($3) move $4,$19 li $5,64 # 0x40 move $6,$22 jal av_set_pts_info move $7,$21 sll $3,$22,2 sll $2,$22,7 subu $2,$2,$3 move $4,$0 move $5,$0 sw $4,88($19) sw $5,92($19) addu $2,$2,$22 lw $4,136($18) lw $5,140($18) sll $2,$2,3 sra $3,$2,31 move $6,$21 sra $7,$21,31 sw $3,20($sp) jal av_rescale sw $2,16($sp) sw $2,96($19) sw $3,100($19)$L24: li $5,1162739712 # 0x454e0000 ori $5,$5,0x4f4e beq $fp,$5,$L22 move $4,$23 jal av_new_stream li $5,1 # 0x1 beq $2,$0,$L26 move $19,$2 jal av_mallocz li $4,28 # 0x1c beq $2,$0,$L26 li $17,1 # 0x1 lw $16,8($19) lui $4,%hi(nsv_codec_audio_tags) addiu $4,$4,%lo(nsv_codec_audio_tags) move $5,$fp sw $2,20($19) sw $17,224($16) jal codec_get_id sw $fp,232($16) sll $3,$21,2 sll $7,$21,7 subu $7,$7,$3 addu $7,$7,$21 sw $2,228($16) sll $7,$7,3 move $4,$19 li $5,64 # 0x40 li $6,1 # 0x1 jal av_set_pts_info sw $17,108($19) move $3,$0 move $2,$0 sw $3,92($19) sw $2,88($19) lw $4,136($18) sra $3,$21,31 lw $6,140($18) mul $8,$4,$3 multu $4,$21 mflo $4 mfhi $5 mul $7,$6,$21 sw $4,96($19) addu $6,$7,$8 addu $5,$6,$5 sw $5,100($19)$L22: li $2,4 # 0x4 sw $2,16($18) move $3,$0 lw $31,68($sp) lw $fp,64($sp) lw $23,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) move $2,$3 j $31 addiu $sp,$sp,72$L10: sra $2,$2,2 slt $3,$2,16 beq $3,$0,$L13 addiu $7,$2,-15 addiu $22,$2,1 li $7,1 # 0x1$L15: andi $2,$6,0x1 beq $2,$0,$L36 andi $3,$6,0x3 sll $2,$22,7 sll $4,$22,4 sll $3,$7,2 addu $4,$4,$2 sll $2,$7,7 subu $4,$4,$22 subu $2,$2,$3 addu $2,$2,$7 sll $3,$4,3 subu $22,$3,$4 sll $7,$2,3 andi $3,$6,0x3$L36: li $2,3 # 0x3 beq $3,$2,$L34 li $2,2 # 0x2 beq $3,$2,$L35 sll $3,$7,5 sll $2,$7,1 j $L12 subu $21,$3,$2$L13: j $L15 li $22,1 # 0x1$L26: sw $0,16($18) li $3,-1 # 0xffffffffffffffff lw $31,68($sp) lw $fp,64($sp) lw $23,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) move $2,$3 j $31 addiu $sp,$sp,72$L34: sll $3,$7,5 sll $2,$7,3 j $L12 subu $21,$3,$2$L35: sll $3,$7,3 sll $2,$7,5 subu $2,$2,$3 j $L12 addu $21,$2,$7 .set macro .set reorder .end nsv_parse_NSVs_header .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "nsv\000" .section .text.nsv_probe,"ax",@progbits .align 2 .align 5 .ent nsv_probe .type nsv_probe, @functionnsv_probe: .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) lw $5,4($4) li $2,78 # 0x4e lbu $3,0($5) beq $3,$2,$L58 li $2,83 # 0x53$L38: lw $2,8($4) addiu $6,$2,-3 slt $3,$6,2 bne $3,$0,$L43 move $3,$5 li $7,78 # 0x4e li $5,1 # 0x1 li $8,83 # 0x53 li $10,86 # 0x56 j $L46 li $9,115 # 0x73$L47: beq $5,$6,$L43 addiu $3,$3,1$L46: lbu $2,1($3) bne $2,$7,$L47 addiu $5,$5,1 lbu $2,2($3) bne $2,$8,$L47 nop lbu $2,3($3) bne $2,$10,$L47 nop lbu $2,4($3) bne $2,$9,$L47 li $2,80 # 0x50 j $L59 lw $31,16($sp)$L43: lw $4,0($4) lui $5,%hi($LC0) jal match_ext addiu $5,$5,%lo($LC0) li $3,50 # 0x32 movz $3,$0,$2 move $2,$3$L52: lw $31,16($sp)$L59: j $31 addiu $sp,$sp,24$L58: lbu $3,1($5) bne $3,$2,$L38 li $2,86 # 0x56 lbu $3,2($5) bne $3,$2,$L38 li $2,102 # 0x66 lbu $3,3($5) beq $3,$2,$L52 li $2,100 # 0x64 li $2,115 # 0x73 bne $3,$2,$L38 li $2,100 # 0x64 j $L59 lw $31,16($sp) .set macro .set reorder .end nsv_probe .section .rodata.cst4,"aM",@progbits,4 .align 2$LC1: .word 1314084454 .align 2$LC2: .word 1314084467 .align 2$LC3: .word 512000 .section .text.nsv_read_chunk,"ax",@progbits .align 2 .align 5 .ent nsv_read_chunk .type nsv_read_chunk, @functionnsv_read_chunk: .frame $sp,72,$31 # vars= 16, regs= 10/0, args= 16, gp= 0 .mask 0xc0ff0000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-72 sw $4,72($sp) lw $2,72($sp) sw $18,40($sp) sw $31,68($sp) sw $fp,64($sp) sw $23,60($sp) sw $22,56($sp) sw $21,52($sp) sw $20,48($sp) sw $19,44($sp) sw $17,36($sp) sw $16,32($sp) lw $2,12($2) lui $4,%hi(C.56.6239) sw $2,28($sp) lw $3,%lo(C.56.6239)($4) addiu $2,$4,%lo(C.56.6239) lw $4,28($sp) lw $6,4($2) lw $8,72($sp) lw $2,40($4) sw $3,16($sp) sw $6,20($sp) sw $5,76($sp) beq $2,$0,$L121 addiu $18,$8,16 move $fp,$0$L82: move $2,$fp lw $31,68($sp) lw $fp,64($sp) lw $23,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,72$L121: lw $2,96($4) bne $2,$0,$L82 move $fp,$0$L64: jal url_feof move $4,$18 bne $2,$0,$L65 nop sw $0,24($sp)$L67: lw $3,28($sp) lw $2,16($3) sltu $2,$2,3 beq $2,$0,$L80 nop bne $fp,$0,$L80 lw $16,72($sp) lui $2,%hi($LC1) lui $4,%hi($LC2) lui $8,%hi($LC3) addiu $2,$2,%lo($LC1) addiu $4,$4,%lo($LC2) addiu $8,$8,%lo($LC3) lw $23,12($16) lw $21,0($2) lw $20,0($4) lw $19,0($8) move $3,$0 move $17,$0 j $L69 li $22,61374 # 0xefbe$L123: jal get_byte nop or $3,$16,$2 andi $2,$3,0xffff beq $2,$22,$L115 nop beq $3,$21,$L116 nop beq $3,$20,$L117 li $2,3 # 0x3 beq $17,$19,$L122 nop$L69: move $4,$18 jal url_feof sll $16,$3,8 addiu $17,$17,1 beq $2,$0,$L123 move $4,$18 li $fp,-1 # 0xffffffffffffffff sw $0,16($23)$L72: lw $16,24($sp) li $2,300 # 0x12c addiu $16,$16,1 bne $16,$2,$L67 sw $16,24($sp)$L80: bltz $fp,$L82 li $2,3 # 0x3 lw $4,28($sp) lw $3,16($4) bne $3,$2,$L84 lw $4,72($sp) jal nsv_parse_NSVs_header move $5,$0 bltz $2,$L82 move $fp,$2 lw $8,28($sp) lw $3,16($8)$L84: addiu $2,$3,-4 sltu $2,$2,2 beq $2,$0,$L65 nop jal get_byte move $4,$18 move $4,$18 jal get_le16 andi $17,$2,0x00ff move $16,$2 jal get_le16 move $4,$18 sll $16,$16,4 andi $20,$17,0xf srl $17,$17,4 move $21,$2 blez $20,$L87 or $19,$16,$17 move $17,$0$L89: jal get_le16 move $4,$18 andi $16,$2,0xffff jal get_le32 move $4,$18 addiu $17,$17,1 move $6,$16 move $7,$0 move $4,$18 jal url_fskip subu $16,$19,$16 bne $17,$20,$L89 addiu $19,$16,-6$L87: jal url_feof move $4,$18 bne $2,$0,$L65 nop bne $19,$0,$L91 andi $20,$21,0xffff bne $20,$0,$L91 lw $16,28($sp) j $L64 sw $0,16($16)$L115: li $2,5 # 0x5 j $L72 sw $2,16($23)$L116: li $2,1 # 0x1 j $L72 sw $2,16($23)$L117: j $L72 sw $2,16($23)$L122: j $L72 li $fp,-1 # 0xffffffffffffffff$L65: j $L82 li $fp,-1 # 0xffffffffffffffff$L91: lw $2,72($sp) lw $4,100($2) beq $4,$0,$L128 lw $3,72($sp) lw $2,4($4) sll $2,$2,2 addu $3,$sp,$2 sw $4,16($3) lw $3,72($sp)$L128: lw $4,104($3) beq $4,$0,$L96 nop lw $2,4($4) sll $2,$2,2 addu $3,$sp,$2 sw $4,16($3)$L96: bne $19,$0,$L124 lw $4,28($sp) lw $21,16($sp) beq $21,$0,$L101 nop$L100: lw $3,20($21) lw $2,0($3) addiu $2,$2,1 sw $2,0($3)$L101: beq $20,$0,$L129 lw $16,28($sp) lw $16,20($sp) lw $2,8($16) lw $3,232($2) lw $2,28($sp) addiu $19,$2,80 li $2,541917184 # 0x204d0000 ori $2,$2,0x4350 beq $3,$2,$L125 lw $23,20($16)$L104: move $4,$18 move $5,$19 jal av_get_packet move $6,$20 lw $2,28($sp) lw $3,28($19) lw $5,16($2) lw $4,0($16) xori $2,$5,0x4 sltu $2,$2,1 or $3,$3,$2 li $2,4 # 0x4 sw $4,24($19) beq $5,$2,$L126 sw $3,28($19)$L109: lw $2,0($23) addiu $2,$2,1 sw $2,0($23) lw $16,28($sp)$L129: move $fp,$0 j $L82 sw $0,16($16)$L124: lw $21,16($sp) addiu $16,$4,24 move $5,$16 move $4,$18 move $6,$19 jal av_get_packet lw $17,20($21) lw $8,28($sp) lw $3,0($21) lw $2,16($8) sw $3,24($16) lw $5,0($17) lw $3,28($16) xori $2,$2,0x4 sltu $2,$2,1 or $3,$3,$2 sra $4,$5,31 sw $3,28($16) sw $4,12($16) j $L100 sw $5,8($16)$L126: beq $21,$0,$L109 li $2,1000 # 0x3e8 lw $3,20($21) lw $14,64($21) mult $14,$2 lw $8,0($3) lw $3,28($sp) lw $2,68($21) mflo $14 lh $4,156($3) mfhi $15 addiu $8,$8,-1 sra $7,$2,31 mul $18,$15,$8 mul $17,$7,$4 multu $8,$14 move $6,$2 mflo $10 mfhi $11 multu $4,$6 sra $9,$8,31 sra $3,$4,31 mflo $12 mfhi $13 mul $16,$9,$14 mul $8,$3,$6 addu $14,$16,$18 addu $6,$8,$17 addu $4,$10,$12 addu $11,$14,$11 addu $13,$6,$13 sltu $2,$4,$10 addu $5,$11,$13 addu $5,$2,$5 sw $4,8($19) j $L109 sw $5,12($19)$L125: jal get_byte move $4,$18 move $4,$18 jal get_byte move $22,$2 move $4,$18 jal get_le16 move $17,$2 lw $3,76($sp) move $5,$2 addiu $2,$20,-4 beq $3,$0,$L104 andi $20,$2,0xffff andi $3,$22,0x00ff andi $2,$17,0x00ff divu $0,$3,$2 teq $2,$0,7 li $2,8 # 0x8 mflo $3 beq $3,$2,$L127 sw $0,108($16) lw $4,8($16)$L107: andi $2,$5,0xffff srl $2,$2,2 li $3,1 # 0x1 sw $2,64($4) j $L104 sw $3,68($4)$L127: lw $4,8($16) li $2,65536 # 0x10000 ori $2,$2,0x5 j $L107 sw $2,228($4) .set macro .set reorder .end nsv_read_chunk .section .text.nsv_read_packet,"ax",@progbits .align 2 .align 5 .ent nsv_read_packet .type nsv_read_packet, @functionnsv_read_packet: .frame $sp,32,$31 # vars= 0, regs= 4/0, args= 16, gp= 0 .mask 0x80070000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-32 sw $17,20($sp) sw $31,28($sp) sw $18,24($sp) sw $16,16($sp) lw $16,12($4) lw $2,40($16) .set noreorder .set nomacro bne $2,$0,$L131 move $17,$5 .set macro .set reorder lw $2,96($16) beq $2,$0,$L155$L137: li $18,1 # 0x1 li $3,1 # 0x1$L139: sll $2,$3,6 sll $3,$3,3 subu $2,$2,$3 addiu $2,$2,24 andi $3,$17,0x3 .set noreorder .set nomacro bne $3,$0,$L140 addu $5,$16,$2 .set macro .set reorder
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?