📄 ac3dec.s
字号:
addiu $8,$8,%lo(rematrix_band_tab)addiu $22,$5,1addu $2,$22,$8addu $3,$5,$8lbu $4,0($2)lbu $19,0($3)lw $3,2688($sp)slt $2,$4,$3move $fp,$3movn $fp,$4,$2slt $3,$19,$fpbeq $3,$0,$L285sll $2,$19,2lw $4,2808($sp)addiu $2,$2,10816addu $18,$4,$2move $21,$0$L287:lw $16,0($18)lw $17,1024($18)move $4,$16jal __addsf3move $5,$17sw $2,0($18)move $4,$16move $5,$17jal __subsf3addiu $21,$21,1addu $3,$19,$21slt $3,$3,$fpsw $2,1024($18)bne $3,$0,$L287addiu $18,$18,4$L285:j $L284move $5,$22$L447:li $4,3 # 0x3li $3,2 # 0x2movn $3,$4,$2j $L140sw $3,180($5)$L359:lw $5,2808($sp)j $L204lw $3,68($5)$L323:move $20,$0move $21,$20move $19,$0sw $20,2680($sp)move $22,$20move $fp,$0sw $0,2716($sp)$L436:lw $5,2676($sp)sll $2,$19,10lw $7,2716($sp)addu $2,$2,$5sll $3,$19,3lw $6,2808($sp)lw $8,2676($sp)addiu $3,$3,544addu $16,$7,$2slt $2,$19,$23addu $17,$6,$3lw $4,2680($sp)move $5,$22addu $18,$7,$8bne $2,$0,$L330addiu $19,$19,1jal __divsf3addiu $fp,$fp,1move $4,$20move $5,$21jal __divsf3move $16,$2move $5,$2jal __addsf3move $4,$16jal __extendsfdf2move $4,$2move $4,$2lui $2,%hi($LC37)lw $6,%lo($LC37)($2)lw $7,%lo($LC37+4)($2)jal __muldf3move $5,$3move $20,$0move $5,$3move $4,$2sll $3,$fp,2sw $3,2716($sp)jal __truncdfsf2sw $20,2680($sp)slt $3,$fp,256move $21,$20move $19,$0move $22,$20bne $3,$0,$L436sw $2,0($18)j $L465lw $4,2728($sp)$L453:move $20,$0move $21,$20move $19,$0move $fp,$20move $22,$20sw $0,2668($sp)sw $0,2712($sp)$L434:lw $4,2676($sp)sll $2,$19,10lw $6,2712($sp)addu $2,$2,$4sll $3,$19,3lw $5,2808($sp)lw $7,2676($sp)addiu $3,$3,544addu $16,$6,$2slt $2,$19,$23addu $17,$5,$3move $4,$fpmove $5,$22addu $18,$6,$7bne $2,$0,$L320addiu $19,$19,1jal __divsf3move $19,$0lw $8,2668($sp)move $4,$20addiu $8,$8,1sw $2,0($18)move $5,$21sll $2,$8,2sw $8,2668($sp)jal __divsf3sw $2,2712($sp)lw $4,2668($sp)move $20,$0slt $3,$4,256move $21,$20move $fp,$20move $22,$20bne $3,$0,$L434sw $2,1024($18)j $L465lw $4,2728($sp)$L330:lw $18,0($17)lw $16,0($16)move $5,$18jal __mulsf3move $4,$16lw $4,2680($sp)jal __addsf3move $5,$2lw $17,4($17)move $4,$16move $5,$17jal __mulsf3sw $2,2680($sp)move $5,$2jal __addsf3move $4,$20move $4,$22move $5,$18jal __addsf3move $20,$2move $4,$21move $5,$17jal __addsf3move $22,$2j $L436move $21,$2$L320:lw $18,0($17)lw $16,0($16)move $5,$18jal __mulsf3move $4,$16move $5,$2jal __addsf3move $4,$fplw $17,4($17)move $4,$16move $5,$17jal __mulsf3move $fp,$2move $5,$2jal __addsf3move $4,$20move $4,$22move $5,$18jal __addsf3move $20,$2move $4,$21move $5,$17jal __addsf3move $22,$2j $L434move $21,$2$L459:lw $3,2808($sp)li $2,65536 # 0x10000addu $2,$3,$2lw $4,-23388($2)lui $6,%hi($LC28)addiu $6,$6,%lo($LC28)move $5,$0jal av_logsw $8,16($sp)j $L109li $2,-1 # 0xffffffffffffffff$L458:lw $5,8($18)sra $2,$5,3addu $2,$21,$2lbu $3,0($2)andi $4,$5,0x7sll $3,$3,$4andi $3,$3,0x00fflw $2,2808($sp)addiu $16,$5,1srl $3,$3,7sw $16,8($18)j $L105sw $3,100($2)$L438:j $L119move $5,$0$L350:j $L167lw $16,8($18)$L474:j $L204lw $20,520($8)$L343:lw $3,2808($sp)sll $2,$6,2addu $2,$2,$3lui $3,%hi($LC27)lw $11,%lo($LC27)($3)lw $16,8($18)lui $3,%hi(dynrng_tab)addiu $10,$3,%lo(dynrng_tab)addiu $7,$2,608li $12,-1 # 0xffffffffffffffff$L89:sra $2,$16,3addu $2,$21,$2lbu $3,0($2)andi $4,$16,0x7sll $3,$3,$4andi $3,$3,0x00ffmove $9,$16addiu $16,$16,1sra $2,$16,3srl $3,$3,7addu $2,$2,$21andi $8,$16,0x7beq $3,$0,$L94sw $16,8($18)lbu $3,0($2)lbu $4,1($2)lbu $5,3($2)sll $3,$3,24lbu $2,2($2)sll $4,$4,16or $3,$3,$4or $3,$3,$5sll $2,$2,8or $2,$2,$3sll $2,$2,$8srl $2,$2,24sll $2,$2,2addu $2,$2,$10lw $3,0($2)addiu $16,$9,9sw $3,0($7)sw $16,8($18)$L96:addiu $6,$6,-1bne $6,$12,$L89addiu $7,$7,-4j $L466sra $2,$16,3$L356:lw $2,2808($sp)j $L204lw $20,520($2)$L94:j $L96sw $11,0($7).set macro.set reorder.end ac3_parse_audio_block.section .rodata.str1.4.align 2$LC39:.ascii "frame sync error\012\000".align 2$LC40:.ascii "invalid bitstream id\012\000".align 2$LC41:.ascii "invalid sample rate\012\000".align 2$LC42:.ascii "invalid frame size\012\000".align 2$LC43:.ascii "invalid header\012\000".align 2$LC44:.ascii "incomplete frame\012\000".align 2$LC45:.ascii "Cannot upmix AC3 from %d to %d channels.\012\000".align 2$LC46:.ascii "Cannot downmix AC3 from %d to %d channels.\012\000".align 2$LC47:.ascii "error parsing the audio block\012\000".section .rodata.cst8.align 3$LC38:.word 1719614413.word 1072079006.section .text.ac3_decode_frame,"ax",@progbits.align 2.align 5.ent ac3_decode_frame.type ac3_decode_frame, @functionac3_decode_frame:.frame $sp,88,$31 # vars= 24, regs= 10/0, args= 24, gp= 0.mask 0xc0ff0000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-88sw $fp,80($sp)lw $fp,104($sp)sw $23,76($sp)sw $22,72($sp)sw $20,64($sp)sw $16,48($sp)sw $31,84($sp)sw $21,68($sp)sw $19,60($sp)sw $18,56($sp)sw $17,52($sp)lw $17,136($4)sll $3,$fp,3move $20,$4li $2,39632 # 0x9ad0sra $4,$3,3move $22,$5move $23,$6bltz $4,$L476addu $16,$17,$2bltz $3,$L476nopaddu $2,$7,$4$L479:sw $3,12($16)sw $7,0($16)move $4,$7sw $2,4($16)sw $0,8($16)jal ff_ac3_parse_headeraddiu $5,$sp,24bne $2,$0,$L480move $3,$2lbu $2,28($sp)lhu $4,38($sp)sw $2,1184($17)lbu $18,32($sp)sw $18,0($17)lbu $2,35($sp)lbu $6,33($sp)lbu $7,34($sp)sw $2,4($17)lbu $8,36($sp)lui $2,%hi(clevs)sw $8,528($17)lbu $3,37($sp)addiu $2,$2,%lo(clevs)sw $4,508($17)sw $3,1188($17)addu $6,$6,$2lui $3,%hi(slevs)lw $2,40($sp)addiu $3,$3,%lo(slevs)addu $7,$7,$3sw $2,512($17)lbu $4,0($6)lbu $5,0($7)lbu $6,44($sp)lui $3,%hi(gain_levels)addiu $3,$3,%lo(gain_levels)subu $9,$6,$8sll $4,$4,2sll $5,$5,2lhu $7,46($sp)addu $5,$5,$3addu $4,$4,$3addiu $2,$9,1sw $2,532($17)sw $7,516($17)sw $6,540($17)lw $12,0($4)lw $21,0($5)sw $6,520($17)sw $9,524($17)bne $8,$0,$L558sw $18,536($17)lw $7,8($16)li $2,2 # 0x2move $3,$7addiu $7,$7,51sw $7,8($16)lw $18,0($17)beq $18,$2,$L559andi $2,$18,0x1$L572:beq $2,$0,$L568andi $2,$18,0x4li $2,1 # 0x1beq $18,$2,$L569addiu $7,$7,1addiu $7,$3,53sw $7,8($16)lw $18,0($17)andi $2,$18,0x4$L568:bne $2,$0,$L560nop$L486:addiu $7,$7,1$L569:sw $7,8($16)lw $3,0($17)lw $8,0($16)sltu $10,$3,1sll $2,$10,2addu $2,$2,$17addiu $9,$2,600lui $11,%hi(dialnorm_tab)sra $4,$7,3$L570:addu $4,$4,$8lbu $3,0($4)lbu $5,1($4)lbu $6,3($4)lbu $2,2($4)sll $5,$5,16sll $3,$3,24or $3,$3,$5or $3,$3,$6sll $2,$2,8andi $4,$7,0x7or $2,$2,$3sll $2,$2,$4srl $2,$2,27addiu $3,$11,%lo(dialnorm_tab)sll $2,$2,2addu $2,$2,$3lw $4,0($2)move $5,$7addiu $7,$7,5sra $3,$7,3sw $4,0($9)sw $7,8($16)addu $3,$8,$3lbu $2,0($3)andi $4,$7,0x7sll $2,$2,$4andi $2,$2,0x00ffaddiu $7,$5,6srl $2,$2,7addiu $10,$10,-1addiu $9,$9,-4beq $2,$0,$L492sw $7,8($16)addiu $7,$5,14sw $7,8($16)$L492:sra $2,$7,3addu $2,$8,$2lbu $3,0($2)andi $4,$7,0x7sll $3,$3,$4andi $3,$3,0x00ffmove $2,$7srl $3,$3,7addiu $7,$7,1beq $3,$0,$L494sw $7,8($16)addiu $7,$2,9sw $7,8($16)$L494:sra $2,$7,3addu $2,$8,$2lbu $3,0($2)andi $4,$7,0x7sll $3,$3,$4andi $3,$3,0x00ffmove $2,$7srl $3,$3,7addiu $7,$7,1beq $3,$0,$L496sw $7,8($16)addiu $7,$2,8sw $7,8($16)$L496:li $2,-1 # 0xffffffffffffffffbne $10,$2,$L570sra $4,$7,3move $5,$7addiu $7,$7,2sra $2,$7,3sw $7,8($16)addu $2,$8,$2lbu $3,0($2)andi $4,$7,0x7sll $3,$3,$4andi $3,$3,0x00ffaddiu $7,$5,3srl $3,$3,7beq $3,$0,$L499sw $7,8($16)addiu $7,$5,17sw $7,8($16)$L499:sra $2,$7,3addu $2,$8,$2lbu $3,0($2)andi $4,$7,0x7sll $3,$3,$4andi $3,$3,0x00ffmove $2,$7srl $3,$3,7addiu $7,$7,1beq $3,$0,$L501sw $7,8($16)addiu $7,$2,15sw $7,8($16)$L501:sra $2,$7,3addu $2,$8,$2lbu $3,0($2)andi $4,$7,0x7sll $3,$3,$4andi $3,$3,0x00ffmove $9,$7srl $3,$3,7addiu $7,$7,1beq $3,$0,$L503sw $7,8($16)sra $4,$7,3addu $4,$4,$8lbu $3,0($4)lbu $5,1($4)lbu $6,3($4)lbu $2,2($4)sll $3,$3,24sll $5,$5,16or $3,$3,$5or $3,$3,$6sll $2,$2,8or $2,$2,$3andi $4,$7,0x7sll $2,$2,$4srl $2,$2,26sll $2,$2,3addu $2,$9,$2addiu $2,$2,15sw $2,8($16)$L503:lw $9,524($17)blez $9,$L545lui $2,%hi(ac3_default_coeffs)lw $18,0($17)sll $3,$18,3sll $4,$18,1addu $4,$4,$3addiu $2,$2,%lo(ac3_default_coeffs)lui $3,%hi(gain_levels)addu $7,$4,$2addiu $10,$3,%lo(gain_levels)move $6,$17move $8,$0$L507:lbu $2,0($7)lbu $3,1($7)sll $2,$2,2sll $3,$3,2addu $2,$2,$10addu $3,$3,$10lw $4,0($2)lw $5,0($3)addiu $8,$8,1slt $2,$8,$9sw $4,544($6)sw $5,548($6)addiu $7,$7,2bne $2,$0,$L507addiu $6,$6,8$L505:slt $2,$18,2bne $2,$0,$L508andi $2,$18,0x1beq $2,$0,$L571addiu $19,$18,-4sw $12,552($17)sw $12,556($17)$L508:addiu $19,$18,-4$L571:sltu $2,$19,2bne $2,$0,$L561nop$L511:addiu $2,$18,-6sltu $2,$2,2bne $2,$0,$L562sll $2,$19,3$L513:lw $2,508($17)sw $2,64($20)lw $3,512($17)sw $3,4($20)lw $2,516($17)slt $2,$fp,$2bne $2,$0,$L563move $4,$20lw $7,520($17)sw $7,540($17)lw $3,68($20)bne $3,$0,$L524slt $2,$7,$3move $3,$7sw $7,68($20)$L526:li $2,2 # 0x2beq $3,$2,$L556li $2,1 # 0x1beq $3,$2,$L556noplw $7,540($17)bne $3,$7,$L564lui $6,%hi($LC46)$L530:sw $3,540($17)move $16,$22move $18,$0$L534:move $4,$17jal ac3_parse_audio_blockmove $5,$18bne $2,$0,$L535move $4,$0lw $7,540($17)move $5,$0$L557:sll $2,$4,8addu $2,$2,$5sll $2,$2,1slt $3,$4,$7addu $2,$2,$17bne $3,$0,$L538addiu $4,$4,1addiu $5,$5,1slt $2,$5,256bne $2,$0,$L557move $4,$0addiu $18,$18,1li $2,6 # 0x6bne $18,$2,$L534noplw $2,68($20)sll $3,$2,12sll $2,$2,10subu $3,$3,$2sw $3,0($23)lw $2,516($17)$L521:lw $31,84($sp)lw $fp,80($sp)lw $23,76($sp)lw $22,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)j $31addiu $sp,$sp,88$L480:li $2,-3 # 0xfffffffffffffffdbeq $3,$2,$L517slt $2,$3,-2bne $2,$0,$L565li $2,-4 # 0xfffffffffffffffcli $2,-2 # 0xfffffffffffffffebeq $3,$2,$L518lui $6,%hi($LC40)li $2,-1 # 0xffffffffffffffffbne $3,$2,$L515lui $6,%hi($LC39)move $4,$20addiu $6,$6,%lo($LC39)jal av_logmove $5,$0j $L521li $2,-1 # 0xffffffffffffffff$L558:ori $2,$18,0x8sw $2,536($17)lw $7,8($16)li $2,2 # 0x2move $3,$7addiu $7,$7,51sw $7,8($16)lw $18,0($17)bne $18,$2,$L572andi $2,$18,0x1j $L567addiu $7,$3,53$L538:lhu $2,26320($2)sh $2,0($16)j $L557addiu $16,$16,2$L476:move $7,$0move $3,$0j $L479move $2,$0$L524:beq $2,$0,$L526move $4,$20lui $6,%hi($LC45)addiu $6,$6,%lo($LC45)move $5,$0jal av_logsw $3,16($sp)j $L521li $2,-1 # 0xffffffffffffffff$L556:sw $3,536($17)j $L530lw $3,68($20)$L565:beq $3,$2,$L566lui $6,%hi($LC42)$L515:lui $6,%hi($LC43)move $4,$20addiu $6,$6,%lo($LC43)jal av_logmove $5,$0lw $31,84($sp)lw $fp,80($sp)lw $23,76($sp)lw $22,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 # 0xffffffffffffffffj $31addiu $sp,$sp,88$L560:addiu $7,$7,2j $L486sw $7,8($16)$L559:addiu $7,$3,53$L567:j $L486sw $7,8($16)$L517:lui $6,%hi($LC41)move $4,$20addiu $6,$6,%lo($LC41)jal av_logmove $5,$0lw $31,84($sp)lw $fp,80($sp)lw $23,76($sp)lw $22,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 # 0xffffffffffffffffj $31addiu $sp,$sp,88$L535:lui $6,%hi($LC47)move $4,$20addiu $6,$6,%lo($LC47)jal av_logmove $5,$0sw $0,0($23)lw $2,516($17)lw $31,84($sp)lw $fp,80($sp)lw $23,76($sp)lw $22,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)j $31addiu $sp,$sp,88$L562:addu $2,$2,$17sw $21,544($2)j $L513sw $21,556($2)$L561:jal __extendsfdf2move $4,$21lui $4,%hi($LC38)lw $6,%lo($LC38)($4)lw $7,%lo($LC38+4)($4)move $5,$3jal __muldf3move $4,$2addiu $16,$18,-2move $4,$2move $5,$3jal __truncdfsf2sll $16,$16,3addu $16,$16,$17sw $2,544($16)j $L511sw $2,548($16)$L566:move $4,$20addiu $6,$6,%lo($LC42)jal av_logmove $5,$0j $L521li $2,-1 # 0xffffffffffffffff$L545:j $L505lw $18,0($17)$L518:move $4,$20addiu $6,$6,%lo($LC40)jal av_logmove $5,$0j $L521li $2,-1 # 0xffffffffffffffff$L563:lui $6,%hi($LC44)addiu $6,$6,%lo($LC44)jal av_logmove $5,$0j $L521li $2,-1 # 0xffffffffffffffff$L564:move $4,$20addiu $6,$6,%lo($LC46)move $5,$0jal av_logsw $3,16($sp)j $L521li $2,-1 # 0xffffffffffffffff.set macro.set reorder.end ac3_decode_frame.globl ac3_decoder.section .rodata.str1.4.align 2$LC48:.ascii "ac3\000".data.align 2.type ac3_decoder, @object.size ac3_decoder, 52ac3_decoder:.word $LC48.word 1.word 86020.word 42160.word ac3_decode_init.space 4.word ac3_decode_end.word ac3_decode_frame.space 20.rdata.align 2.type clevs, @object.size clevs, 4clevs:.byte 2.byte 3.byte 4.byte 3.align 2.type gain_levels, @object.size gain_levels, 24gain_levels:.word 0.word 1065353216.word 1060439283.word 1058551792.word 1056964608.word 1052050675.align 2.type slevs, @object.size slevs, 4slevs:.byte 2.byte 4.byte 0.byte 4.align 2.type ac3_default_coeffs, @object.size ac3_default_coeffs, 80ac3_default_coeffs:.byte 1.byte 0.byte 0.byte 1.space 6.byte 2.byte 2.space 8.byte 1.byte 0.byte 0.byte 1.space 6.byte 1.byte 0.byte 3.byte 3.byte 0.byte 1.space 4.byte 1.byte 0.byte 0.byte 1.byte 4.byte 4.space 4.byte 1.byte 0.byte 3.byte 3.byte 0.byte 1.byte 5.byte 5.space 2.byte 1.byte 0.byte 0.byte 1.byte 4.byte 0.byte 0.byte 4.space 2.byte 1.byte 0.byte 3.byte 3.byte 0.byte 1.byte 4.byte 0.byte 0.byte 4.align 2.type qntztab, @object.size qntztab, 16qntztab:.byte 0.byte 3.byte 5.byte 7.byte 11.byte 15.byte 5.byte 6.byte 7.byte 8.byte 9.byte 10.byte 11.byte 12.byte 14.byte 16.align 2.type rematrix_band_tab, @object.size rematrix_band_tab, 5rematrix_band_tab:.byte 13.byte 25.byte 37.byte 61.byte -3.local scale_factors.comm scale_factors,100,4.local exp_ungroup_tab.comm exp_ungroup_tab,384,4.local b1_mantissas.comm b1_mantissas,384,4.local b2_mantissas.comm b2_mantissas,1536,4.local b3_mantissas.comm b3_mantissas,32,4.local b4_mantissas.comm b4_mantissas,1024,4.local b5_mantissas.comm b5_mantissas,64,4.local dynrng_tab.comm dynrng_tab,1024,4.local dialnorm_tab.comm dialnorm_tab,128,4.ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -