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 + -
显示快捷键?