ad_hwac3.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 1,372 行 · 第 1/2 页
S
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 nomacrolui $2,%hi(mpcodecs_ad_hwac3)j $31addiu $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 nomacroli $2,256 # 0x100sw $2,24($4)li $2,8192 # 0x2000li $5,2 # 0x2li $3,16384 # 0x4000sw $2,48($4)li $2,1 # 0x1sw $3,64($4)sw $5,32($4)j $31sw $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 nomacroj $31nop.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 nomacroaddiu $sp,$sp,-24sw $31,16($sp)lbu $2,0($4)lbu $3,1($4)move $9,$4sll $2,$2,24sll $3,$3,16lbu $4,2($4)lbu $8,3($9)or $2,$2,$3or $2,$2,$8sll $4,$4,8or $4,$4,$2li $2,2147352576 # 0x7ffe0000ori $2,$2,0x8001beq $4,$2,$L25li $3,-1 # 0xffffffffffffffff$L10:lw $31,16($sp)$L29:move $2,$3j $31addiu $sp,$sp,24$L25:lbu $4,4($9)lbu $3,5($9)andi $2,$4,0x1srl $3,$3,2sll $2,$2,6or $2,$2,$3addiu $2,$2,1sw $2,0($6)lbu $3,8($9)lbu $11,5($9)srl $3,$3,2andi $3,$3,0xflbu $10,6($9)lbu $8,7($9)sw $3,0($7)lbu $2,8($9)lbu $3,9($9)andi $2,$2,0x3srl $3,$3,5sll $2,$2,3or $2,$2,$3srl $4,$4,7li $3,1 # 0x1bne $4,$3,$L26sw $2,0($5)lw $3,0($7)li $2,13 # 0xdbne $3,$2,$L27srl $2,$8,4andi $4,$11,0x3sll $3,$10,4or $3,$3,$2sll $4,$4,12or $4,$4,$3addiu $2,$4,-95sltu $2,$2,8097beq $2,$0,$L28addiu $3,$4,1lw $7,0($6)li $2,8 # 0x8beq $7,$2,$L10li $2,16 # 0x10beq $7,$2,$L10li $2,32 # 0x20beq $7,$2,$L10li $2,64 # 0x40beq $7,$2,$L10li $2,128 # 0x80beq $7,$2,$L29lw $31,16($sp)lui $6,%hi($LC3)addiu $6,$6,%lo($LC3)li $4,12 # 0xcjal mp_msgli $5,1 # 0x1j $L10li $3,-1 # 0xffffffffffffffff$L26:lui $6,%hi($LC0)addiu $6,$6,%lo($LC0)li $4,12 # 0xcjal mp_msgli $5,1 # 0x1j $L10li $3,-1 # 0xffffffffffffffff$L27:lui $6,%hi($LC1)addiu $6,$6,%lo($LC1)li $4,12 # 0xcjal mp_msgli $5,1 # 0x1j $L10li $3,-1 # 0xffffffffffffffff$L28:lui $6,%hi($LC2)move $7,$3addiu $6,$6,%lo($LC2)li $4,12 # 0xcjal mp_msgli $5,1 # 0x1j $L10li $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 nomacroaddiu $sp,$sp,-80sw $16,56($sp)lui $2,%hi(DTS_BITRATES)move $16,$4lui $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,$0sw $0,56($16)$L66:slt $2,$4,10beq $2,$0,$L67nop$L32:lw $4,4($16)lw $5,0($4)lw $2,4($4)slt $2,$5,$2bne $2,$0,$L68addiu $3,$5,1jal ds_fill_buffernopbeq $2,$0,$L57li $17,-1 # 0xfffffffffffffffflw $3,4($16)lw $4,0($3)lw $2,8($3)addiu $5,$4,1addu $2,$2,$4lbu $6,0($2)bltz $6,$L57sw $5,0($3)$L71:lw $3,56($16)lw $2,52($16)addiu $4,$3,1addu $2,$2,$3sb $6,0($2)slt $2,$4,10bne $2,$0,$L32sw $4,56($16)$L67:lw $4,52($16)addiu $5,$sp,48addiu $6,$sp,44jal dts_decode_headeraddiu $7,$sp,52bltz $2,$L40move $17,$2lw $3,48($sp)sltu $2,$3,30beq $2,$0,$L42sll $2,$3,2addu $2,$2,$18lw $3,0($2)sw $3,40($sp)$L44:lw $3,52($sp)addiu $2,$3,-1sltu $2,$2,15beq $2,$0,$L45slt $2,$17,10sll $2,$3,2addu $2,$2,$19lw $3,0($2)sw $3,36($sp)$L40:slt $2,$17,10beq $2,$0,$L69nop$L47:lw $4,52($16)addiu $5,$sp,32addiu $6,$sp,36jal a52_syncinfoaddiu $7,$sp,40move $17,$2addiu $2,$2,-7sltu $2,$2,3834bne $2,$0,$L70li $6,9 # 0x9lw $4,52($16)jal memcpyaddiu $5,$4,1lw $4,56($16)addiu $4,$4,-1j $L66sw $4,56($16)$L45:bne $2,$0,$L47sw $0,36($sp)$L69:lui $19,%hi(isdts)lw $2,%lo(isdts)($19)li $18,1 # 0x1beq $2,$18,$L49lw $2,36($sp)lui $6,%hi($LC4)lw $7,40($sp)addiu $6,$6,%lo($LC4)li $4,12 # 0xcli $5,5 # 0x5jal mp_msgsw $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 # 0xcli $5,7 # 0x7sw $3,24($sp)sw $2,28($sp)jal mp_msgsw $17,16($sp)lw $2,40($sp)lw $5,52($16)addiu $4,$2,7slt $3,$2,0movn $2,$4,$3lw $3,36($sp)sra $2,$2,3lw $4,4($16)sw $3,28($16)sw $2,44($16)addiu $5,$5,10jal demux_read_dataaddiu $6,$17,-10lw $3,%lo(isdts)($19)bne $3,$0,$L57sw $17,56($16)lw $4,52($16)addiu $5,$17,-2jal a52_crc16_blockaddiu $4,$4,2beq $2,$0,$L57noplui $6,%hi($LC8)addiu $6,$6,%lo($LC8)li $4,12 # 0xcjal mp_msgli $5,5 # 0x5j $L73move $2,$17$L42:j $L44sw $0,40($sp)$L68:lw $2,8($4)addu $2,$2,$5lbu $6,0($2)bgez $6,$L71sw $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 $31addiu $sp,$sp,80$L70:lui $19,%hi(isdts)lw $2,%lo(isdts)($19)bne $2,$0,$L72lui $2,%hi($LC9)j $L55addiu $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 # 0xcli $5,5 # 0x5jal mp_msgsw $2,16($sp)lui $2,%hi($LC9)addiu $7,$2,%lo($LC9)j $L55sw $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 nomacroaddiu $5,$5,-1addiu $sp,$sp,-24sltu $5,$5,2sw $31,16($sp)li $2,-1 # 0xffffffffffffffffbeq $5,$0,$L77sw $7,36($sp)jal ac3dts_fillbuffnopli $2,1 # 0x1$L77:lw $31,16($sp)j $31addiu $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 nomacroaddiu $sp,$sp,-24sw $16,16($sp)sw $31,20($sp)jal a52_initmove $16,$4lui $6,%hi($LC10)move $4,$16addiu $6,$6,%lo($LC10)beq $2,$0,$L86li $5,1 # 0x1jal ac3dts_fillbuffnoplui $6,%hi($LC11)addiu $6,$6,%lo($LC11)li $3,1 # 0x1li $4,12 # 0xcbltz $2,$L87li $5,1 # 0x1lw $31,20($sp)lw $16,16($sp)move $2,$3j $31addiu $sp,$sp,24$L86:jal mp_msgli $4,12 # 0xcmove $3,$0lw $31,20($sp)lw $16,16($sp)move $2,$3j $31addiu $sp,$sp,24$L87:jal mp_msgnopmove $3,$0lw $31,20($sp)lw $16,16($sp)move $2,$3j $31addiu $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,0addiu $sp,$sp,-56sw $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 nomacroblez $16,$L157move $18,$5.set macro.set reorder$L89:lui $2,%hi(isdts)lw $2,%lo(isdts)($2)li $19,1 # 0x1.set noreorder.set nomacrobeq $2,$19,$L158sw $0,56($17).set macro.set reorder.set noreorder.set nomacrobeq $2,$0,$L159li $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 nomacroj $31addiu $sp,$sp,56.set macro.set reorder$L159:lw $4,52($17)li $3,19999sh $3,2($18)sh $19,4($18)sh $2,0($18)lbu $2,5($4)sll $3,$16,3andi $2,$2,0x7sll $2,$2,8ori $2,$2,0x1sh $3,6($18)sh $2,4($18)addiu $5,$18,8.set noreorder.set nomacrojal swabmove $6,$16.set macro.set reorderandi $3,$16,0x1.set noreorder.set nomacrobne $3,$0,$L160addu $2,$18,$16.set macro.set reorderli $2,6136 # 0x17f8subu $6,$2,$16addu $5,$18,$16
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?