ad_hwac3.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 1,372 行 · 第 1/2 页
MID
1,372 行
.file 1 "ad_hwac3.c" .section .mdebug.abi32 .previous .section .text.func_table,"ax",@progbits .align 2 .align 5 .globl func_table .ent func_table .type func_table, @functionfunc_table: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro lui $2,%hi(mpcodecs_ad_hwac3) j $31 addiu $2,$2,%lo(mpcodecs_ad_hwac3) .set macro .set reorder .end func_table .section .text.preinit,"ax",@progbits .align 2 .align 5 .ent preinit .type preinit, @functionpreinit: .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, gp= 0 .mask 0x00000000,0 .fmask 0x00000000,0 .set noreorder .set nomacro li $2,256 # 0x100 sw $2,24($4) li $2,8192 # 0x2000 li $5,2 # 0x2 li $3,16384 # 0x4000 sw $2,48($4) li $2,1 # 0x1 sw $3,64($4) sw $5,32($4) j $31 sw $5,36($4) .set macro .set reorder .end preinit .section .text.uninit,"ax",@progbits .align 2 .align 5 .ent uninit .type uninit, @functionuninit: .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 nop .set macro .set reorder .end uninit .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC0: .ascii "DTS: Termination frames not handled, REPORT BUG\012\000" .align 2$LC1: .ascii "DTS: Only 48kHz supported, REPORT BUG\012\000" .align 2$LC2: .ascii "DTS: fsize: %d invalid, REPORT BUG\012\000" .align 2$LC3: .ascii "DTS: nblks %d not valid for normal frame, REPORT BUG\012" .ascii "\000" .section .text.dts_decode_header,"ax",@progbits .align 2 .align 5 .ent dts_decode_header .type dts_decode_header, @functiondts_decode_header: .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) lbu $2,0($4) lbu $3,1($4) move $9,$4 sll $2,$2,24 sll $3,$3,16 lbu $4,2($4) lbu $8,3($9) or $2,$2,$3 or $2,$2,$8 sll $4,$4,8 or $4,$4,$2 li $2,2147352576 # 0x7ffe0000 ori $2,$2,0x8001 beq $4,$2,$L25 li $3,-1 # 0xffffffffffffffff$L10: lw $31,16($sp)$L29: move $2,$3 j $31 addiu $sp,$sp,24$L25: lbu $4,4($9) lbu $3,5($9) andi $2,$4,0x1 srl $3,$3,2 sll $2,$2,6 or $2,$2,$3 addiu $2,$2,1 sw $2,0($6) lbu $3,8($9) lbu $11,5($9) srl $3,$3,2 andi $3,$3,0xf lbu $10,6($9) lbu $8,7($9) sw $3,0($7) lbu $2,8($9) lbu $3,9($9) andi $2,$2,0x3 srl $3,$3,5 sll $2,$2,3 or $2,$2,$3 srl $4,$4,7 li $3,1 # 0x1 bne $4,$3,$L26 sw $2,0($5) lw $3,0($7) li $2,13 # 0xd bne $3,$2,$L27 srl $2,$8,4 andi $4,$11,0x3 sll $3,$10,4 or $3,$3,$2 sll $4,$4,12 or $4,$4,$3 addiu $2,$4,-95 sltu $2,$2,8097 beq $2,$0,$L28 addiu $3,$4,1 lw $7,0($6) li $2,8 # 0x8 beq $7,$2,$L10 li $2,16 # 0x10 beq $7,$2,$L10 li $2,32 # 0x20 beq $7,$2,$L10 li $2,64 # 0x40 beq $7,$2,$L10 li $2,128 # 0x80 beq $7,$2,$L29 lw $31,16($sp) lui $6,%hi($LC3) addiu $6,$6,%lo($LC3) li $4,12 # 0xc jal mp_msg li $5,1 # 0x1 j $L10 li $3,-1 # 0xffffffffffffffff$L26: lui $6,%hi($LC0) addiu $6,$6,%lo($LC0) li $4,12 # 0xc jal mp_msg li $5,1 # 0x1 j $L10 li $3,-1 # 0xffffffffffffffff$L27: lui $6,%hi($LC1) addiu $6,$6,%lo($LC1) li $4,12 # 0xc jal mp_msg li $5,1 # 0x1 j $L10 li $3,-1 # 0xffffffffffffffff$L28: lui $6,%hi($LC2) move $7,$3 addiu $6,$6,%lo($LC2) li $4,12 # 0xc jal mp_msg li $5,1 # 0x1 j $L10 li $3,-1 # 0xffffffffffffffff .set macro .set reorder .end dts_decode_header .section .rodata.str1.4 .align 2$LC4: .ascii "hwac3: switched to DTS, %d bps, %d Hz\012\000" .align 2$LC5: .ascii "hwac3: switched to AC3, %d bps, %d Hz\012\000" .align 2$LC6: .ascii "DTS\000" .align 2$LC7: .ascii "ac3dts: %s len=%d flags=0x%X %d Hz %d bit/s\012\000" .align 2$LC8: .ascii "a52: CRC check failed! \012\000" .align 2$LC9: .ascii "AC3\000" .section .text.ac3dts_fillbuff,"ax",@progbits .align 2 .align 5 .ent ac3dts_fillbuff .type ac3dts_fillbuff, @functionac3dts_fillbuff: .frame $sp,80,$31 # vars= 24, regs= 5/0, args= 32, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-80 sw $16,56($sp) lui $2,%hi(DTS_BITRATES) move $16,$4 lui $3,%hi(DTS_SAMPLEFREQS) sw $19,68($sp) sw $18,64($sp) sw $31,72($sp) sw $17,60($sp) sw $0,32($sp) sw $0,36($sp) sw $0,40($sp) addiu $18,$2,%lo(DTS_BITRATES) addiu $19,$3,%lo(DTS_SAMPLEFREQS) move $4,$0 sw $0,56($16)$L66: slt $2,$4,10 beq $2,$0,$L67 nop$L32: lw $4,4($16) lw $5,0($4) lw $2,4($4) slt $2,$5,$2 bne $2,$0,$L68 addiu $3,$5,1 jal ds_fill_buffer nop beq $2,$0,$L57 li $17,-1 # 0xffffffffffffffff lw $3,4($16) lw $4,0($3) lw $2,8($3) addiu $5,$4,1 addu $2,$2,$4 lbu $6,0($2) bltz $6,$L57 sw $5,0($3)$L71: lw $3,56($16) lw $2,52($16) addiu $4,$3,1 addu $2,$2,$3 sb $6,0($2) slt $2,$4,10 bne $2,$0,$L32 sw $4,56($16)$L67: lw $4,52($16) addiu $5,$sp,48 addiu $6,$sp,44 jal dts_decode_header addiu $7,$sp,52 bltz $2,$L40 move $17,$2 lw $3,48($sp) sltu $2,$3,30 beq $2,$0,$L42 sll $2,$3,2 addu $2,$2,$18 lw $3,0($2) sw $3,40($sp)$L44: lw $3,52($sp) addiu $2,$3,-1 sltu $2,$2,15 beq $2,$0,$L45 slt $2,$17,10 sll $2,$3,2 addu $2,$2,$19 lw $3,0($2) sw $3,36($sp)$L40: slt $2,$17,10 beq $2,$0,$L69 nop$L47: lw $4,52($16) addiu $5,$sp,32 addiu $6,$sp,36 jal a52_syncinfo addiu $7,$sp,40 move $17,$2 addiu $2,$2,-7 sltu $2,$2,3834 bne $2,$0,$L70 li $6,9 # 0x9 lw $4,52($16) jal memcpy addiu $5,$4,1 lw $4,56($16) addiu $4,$4,-1 j $L66 sw $4,56($16)$L45: bne $2,$0,$L47 sw $0,36($sp)$L69: lui $19,%hi(isdts) lw $2,%lo(isdts)($19) li $18,1 # 0x1 beq $2,$18,$L49 lw $2,36($sp) lui $6,%hi($LC4) lw $7,40($sp) addiu $6,$6,%lo($LC4) li $4,12 # 0xc li $5,5 # 0x5 jal mp_msg sw $2,16($sp) sw $18,%lo(isdts)($19)$L49: lui $2,%hi($LC6) addiu $7,$2,%lo($LC6)$L55: lw $2,32($sp) lw $3,36($sp) sw $2,20($sp) lui $6,%hi($LC7) lw $2,40($sp) addiu $6,$6,%lo($LC7) li $4,12 # 0xc li $5,7 # 0x7 sw $3,24($sp) sw $2,28($sp) jal mp_msg sw $17,16($sp) lw $2,40($sp) lw $5,52($16) addiu $4,$2,7 slt $3,$2,0 movn $2,$4,$3 lw $3,36($sp) sra $2,$2,3 lw $4,4($16) sw $3,28($16) sw $2,44($16) addiu $5,$5,10 jal demux_read_data addiu $6,$17,-10 lw $3,%lo(isdts)($19) bne $3,$0,$L57 sw $17,56($16) lw $4,52($16) addiu $5,$17,-2 jal a52_crc16_block addiu $4,$4,2 beq $2,$0,$L57 nop lui $6,%hi($LC8) addiu $6,$6,%lo($LC8) li $4,12 # 0xc jal mp_msg li $5,5 # 0x5 j $L73 move $2,$17$L42: j $L44 sw $0,40($sp)$L68: lw $2,8($4) addu $2,$2,$5 lbu $6,0($2) bgez $6,$L71 sw $3,0($4) li $17,-1 # 0xffffffffffffffff$L57: move $2,$17$L73: lw $31,72($sp) lw $19,68($sp) lw $18,64($sp) lw $17,60($sp) lw $16,56($sp) j $31 addiu $sp,$sp,80$L70: lui $19,%hi(isdts) lw $2,%lo(isdts)($19) bne $2,$0,$L72 lui $2,%hi($LC9) j $L55 addiu $7,$2,%lo($LC9)$L72: lw $2,36($sp) lw $7,40($sp) lui $6,%hi($LC5) addiu $6,$6,%lo($LC5) li $4,12 # 0xc li $5,5 # 0x5 jal mp_msg sw $2,16($sp) lui $2,%hi($LC9) addiu $7,$2,%lo($LC9) j $L55 sw $0,%lo(isdts)($19) .set macro .set reorder .end ac3dts_fillbuff .section .text.control,"ax",@progbits .align 2 .align 5 .ent control .type control, @functioncontrol: .frame $sp,24,$31 # vars= 0, regs= 1/0, args= 16, gp= 0 .mask 0x80000000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $5,$5,-1 addiu $sp,$sp,-24 sltu $5,$5,2 sw $31,16($sp) li $2,-1 # 0xffffffffffffffff beq $5,$0,$L77 sw $7,36($sp) jal ac3dts_fillbuff nop li $2,1 # 0x1$L77: lw $31,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end control .section .rodata.str1.4 .align 2$LC10: .ascii "A52 init failed\012\000" .align 2$LC11: .ascii "AC3/DTS sync failed\012\000" .section .text.init,"ax",@progbits .align 2 .align 5 .ent init .type init, @functioninit: .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) jal a52_init move $16,$4 lui $6,%hi($LC10) move $4,$16 addiu $6,$6,%lo($LC10) beq $2,$0,$L86 li $5,1 # 0x1 jal ac3dts_fillbuff nop lui $6,%hi($LC11) addiu $6,$6,%lo($LC11) li $3,1 # 0x1 li $4,12 # 0xc bltz $2,$L87 li $5,1 # 0x1 lw $31,20($sp) lw $16,16($sp) move $2,$3 j $31 addiu $sp,$sp,24$L86: jal mp_msg li $4,12 # 0xc move $3,$0 lw $31,20($sp) lw $16,16($sp) move $2,$3 j $31 addiu $sp,$sp,24$L87: jal mp_msg nop move $3,$0 lw $31,20($sp) lw $16,16($sp) move $2,$3 j $31 addiu $sp,$sp,24 .set macro .set reorder .end init .section .rodata.str1.4 .align 2$LC12: .ascii "DTS: %d-sample bursts not supported\012\000" .align 2$LC13: .ascii "DTS: more data than fits\012\000" .section .text.decode_audio,"ax",@progbits .align 2 .align 5 .ent decode_audio .type decode_audio, @functiondecode_audio: .frame $sp,56,$31 # vars= 16, regs= 5/0, args= 16, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 addiu $sp,$sp,-56 sw $18,40($sp) sw $17,36($sp) sw $31,48($sp) sw $19,44($sp) sw $16,32($sp) lw $16,56($4) move $17,$4 .set noreorder .set nomacro blez $16,$L157 move $18,$5 .set macro .set reorder$L89: lui $2,%hi(isdts) lw $2,%lo(isdts)($2) li $19,1 # 0x1 .set noreorder .set nomacro beq $2,$19,$L158 sw $0,56($17) .set macro .set reorder .set noreorder .set nomacro beq $2,$0,$L159 li $2,-1934 .set macro .set reorder$L94: li $16,-1 # 0xffffffffffffffff$L91: move $2,$16$L167: lw $31,48($sp) lw $19,44($sp) lw $18,40($sp) lw $17,36($sp) lw $16,32($sp) .set noreorder .set nomacro j $31 addiu $sp,$sp,56 .set macro .set reorder$L159: lw $4,52($17) li $3,19999 sh $3,2($18) sh $19,4($18) sh $2,0($18) lbu $2,5($4) sll $3,$16,3 andi $2,$2,0x7 sll $2,$2,8 ori $2,$2,0x1 sh $3,6($18) sh $2,4($18) addiu $5,$18,8 .set noreorder .set nomacro jal swab move $6,$16 .set macro .set reorder andi $3,$16,0x1 .set noreorder .set nomacro bne $3,$0,$L160 addu $2,$18,$16 .set macro .set reorder li $2,6136 # 0x17f8 subu $6,$2,$16 addu $5,$18,$16
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?