ao_mpegpes.mid
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· MID 代码 · 共 637 行
MID
637 行
.file 1 "ao_mpegpes.c" .section .mdebug.abi32 .previous .section .text.control,"ax",@progbits .align 2 .align 5 .ent control .type control, @functioncontrol: .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 control .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 .text.reset,"ax",@progbits .align 2 .align 5 .ent reset .type reset, @functionreset: .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 reset .section .text.audio_resume,"ax",@progbits .align 2 .align 5 .ent audio_resume .type audio_resume, @functionaudio_resume: .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 audio_resume .globl __floatsisf .globl __extendsfdf2 .globl __muldf3 .globl __truncdfsf2 .globl __lesf2 .globl __mulsf3 .globl __fixsfsi .section .rodata.cst8,"aM",@progbits,8 .align 3$LC0: .word 2074564648 .word 1055345979 .section .text.get_space,"ax",@progbits .align 2 .align 5 .ent get_space .type get_space, @functionget_space: .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 $17,20($sp) sw $31,24($sp) sw $16,16($sp) lui $2,%hi(vo_mpegpes_fd) lui $3,%hi(ao_data) lw $4,%lo(vo_mpegpes_fd)($2) addiu $17,$3,%lo(ao_data) lui $2,%hi(vo_pts) lw $3,%lo(vo_pts)($2) li $5,32000 # 0x7d00 bltz $4,$L12 lw $2,24($17) jal __floatsisf subu $4,$3,$2 jal __extendsfdf2 move $4,$2 lui $4,%hi($LC0) lw $6,%lo($LC0)($4) lw $7,%lo($LC0+4)($4) move $5,$3 jal __muldf3 move $4,$2 move $5,$3 jal __truncdfsf2 move $4,$2 move $4,$2 move $5,$0 jal __lesf2 move $16,$2 blez $2,$L12 move $5,$0 lui $2,%hi(freq) lw $4,%lo(freq)($2) jal __floatsisf sll $4,$4,2 move $5,$2 jal __mulsf3 move $4,$16 jal __fixsfsi move $4,$2 lw $3,16($17) li $5,32000 # 0x7d00 div $0,$2,$3 teq $3,$0,7 mflo $2 mul $3,$3,$2 slt $2,$3,32001 movn $5,$3,$2$L12: lw $31,24($sp) lw $17,20($sp) lw $16,16($sp) move $2,$5 j $31 addiu $sp,$sp,32 .set macro .set reorder .end get_space .section .text.get_delay,"ax",@progbits .align 2 .align 5 .ent get_delay .type get_delay, @functionget_delay: .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 move $2,$0 .set macro .set reorder .end get_delay .section .text.play,"ax",@progbits .align 2 .align 5 .ent play .type play, @functionplay: .frame $sp,40,$31 # vars= 0, regs= 2/0, args= 32, gp= 0 .mask 0x80010000,-4 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-40 lui $7,%hi(ao_data) sw $16,32($sp) sw $31,36($sp) addiu $6,$7,%lo(ao_data) lw $3,8($6) li $2,192 # 0xc0 move $9,$4 beq $3,$2,$L30 move $16,$5 li $2,256 # 0x100 beq $3,$2,$L31 srl $2,$5,31$L24: addiu $2,$7,%lo(ao_data)$L32: lw $8,24($2) lui $3,%hi(freq_id) sra $2,$8,31 lw $7,%lo(freq_id)($3) sw $2,20($sp) lui $2,%hi(my_ao_write) move $5,$16 addiu $2,$2,%lo(my_ao_write) move $4,$9 li $6,160 # 0xa0 sw $7,24($sp) sw $2,28($sp) jal send_mpeg_lpcm_packet sw $8,16($sp) move $2,$16 lw $31,36($sp) lw $16,32($sp) j $31 addiu $sp,$sp,40$L31: addu $2,$2,$5 sra $6,$2,1 blez $6,$L24 move $5,$0$L27: lhu $2,0($4) addiu $5,$5,1 sll $3,$2,8 srl $2,$2,8 or $2,$2,$3 sh $2,0($4) bne $6,$5,$L27 addiu $4,$4,2 j $L32 addiu $2,$7,%lo(ao_data)$L30: lw $7,24($6) li $3,1 # 0x1 sra $2,$7,31 sw $2,20($sp) lui $2,%hi(my_ao_write) addiu $2,$2,%lo(my_ao_write) li $6,448 # 0x1c0 sw $3,24($sp) sw $2,28($sp) jal send_mpeg_pes_packet sw $7,16($sp) move $2,$16 lw $31,36($sp) lw $16,32($sp) j $31 addiu $sp,$sp,40 .set macro .set reorder .end play .section .text.my_ao_write,"ax",@progbits .align 2 .align 5 .ent my_ao_write .type my_ao_write, @functionmy_ao_write: .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) lui $2,%hi(vo_mpegpes_fd2) sw $31,20($sp) lw $3,%lo(vo_mpegpes_fd2)($2) move $16,$5 move $6,$5 move $2,$0 move $5,$4 bltz $3,$L36 move $4,$3 jal write nop move $2,$16$L36: lw $31,20($sp) lw $16,16($sp) j $31 addiu $sp,$sp,24 .set macro .set reorder .end my_ao_write .section .rodata.str1.4,"aMS",@progbits,1 .align 2$LC1: .ascii "card\000" .align 2$LC2: .ascii "file\000" .align 2$LC3: .ascii "AO_MPEGPES, Unrecognized options\012\000" .align 2$LC4: .ascii "DVB card number must be between 1 and 4\012\000" .align 2$LC5: .ascii "rb\000" .align 2$LC6: .ascii "ao_mpegpes: %s\012\000" .align 2$LC7: .ascii "[AO MPEGPES] %d Hz not supported, try to resample.\012\000" .section .text.init,"ax",@progbits .align 2 .align 5 .ent init .type init, @functioninit: .frame $sp,112,$31 # vars= 72, regs= 5/0, args= 16, gp= 0 .mask 0x800f0000,-8 .fmask 0x00000000,0 .set noreorder .set nomacro addiu $sp,$sp,-112 sw $16,88($sp) addiu $16,$sp,24 sw $19,100($sp) sw $18,96($sp) sw $17,92($sp) move $5,$0 li $17,1 # 0x1 move $18,$4 move $19,$6 move $4,$16 li $6,60 # 0x3c sw $31,104($sp) sw $17,16($sp) jal memset sw $0,20($sp) lui $2,%hi($LC1) lui $3,%hi(ao_subdevice) addiu $2,$2,%lo($LC1) lw $4,%lo(ao_subdevice)($3) sw $2,24($sp) lui $2,%hi($LC2) addiu $3,$sp,16 addiu $2,$2,%lo($LC2) sw $3,32($sp) sw $2,44($sp) li $3,3 # 0x3 addiu $2,$sp,20 move $5,$16 sw $17,28($sp) sw $3,48($sp) jal subopt_parse sw $2,52($sp) bne $2,$0,$L61 lw $2,16($sp) addiu $2,$2,-1 sltu $3,$2,4 beq $3,$0,$L62 lw $4,20($sp) beq $4,$0,$L63 sw $2,16($sp) lui $5,%hi($LC5) jal BUFF_Open addiu $5,$5,%lo($LC5) lui $3,%hi(vo_mpegpes_fd2) bltz $2,$L64 sw $2,%lo(vo_mpegpes_fd2)($3) lui $16,%hi(ao_data)$L69: addiu $4,$16,%lo(ao_data) li $2,2 # 0x2 sw $2,4($4) li $3,2000 # 0x7d0 li $2,192 # 0xc0 beq $19,$2,$L50 sw $3,16($4) li $2,256 # 0x100 beq $19,$2,$L50 li $2,8 # 0x8 beq $19,$2,$L50 nop sw $2,8($4) li $2,44100 # 0xac44 bne $18,$2,$L67 slt $2,$2,$18$L54: li $2,131072 # 0x20000 ori $4,$2,0xb110 li $3,2 # 0x2 lui $2,%hi(freq_id) j $L58 sw $3,%lo(freq_id)($2)$L62: lui $6,%hi($LC4) addiu $6,$6,%lo($LC4) li $4,3 # 0x3 jal mp_msg li $5,1 # 0x1 move $2,$0$L41: lw $31,104($sp) lw $19,100($sp) lw $18,96($sp) lw $17,92($sp) lw $16,88($sp) j $31 addiu $sp,$sp,112$L50: addiu $2,$16,%lo(ao_data) sw $19,8($2) li $2,44100 # 0xac44 beq $18,$2,$L54 slt $2,$2,$18$L67: bne $2,$0,$L57 li $2,48000 # 0xbb80 li $2,32000 # 0x7d00 beq $18,$2,$L66 li $2,65536 # 0x10000 lui $6,%hi($LC7)$L68: move $7,$18 li $4,4 # 0x4 addiu $6,$6,%lo($LC7) jal mp_msg li $5,1 # 0x1 lui $2,%hi(freq_id) li $3,131072 # 0x20000 sw $0,%lo(freq_id)($2) ori $4,$3,0xee00 li $18,48000 # 0xbb80$L58: addiu $2,$16,%lo(ao_data) lui $3,%hi(freq) sw $4,12($2) sw $18,%lo(freq)($3) sw $18,%lo(ao_data)($16) lw $31,104($sp) lw $19,100($sp) lw $18,96($sp) lw $17,92($sp) lw $16,88($sp) li $2,1 # 0x1 j $31 addiu $sp,$sp,112$L61: lui $6,%hi($LC3) addiu $6,$6,%lo($LC3) li $4,3 # 0x3 jal mp_msg li $5,1 # 0x1 lw $31,104($sp) lw $19,100($sp) lw $18,96($sp) lw $17,92($sp) lw $16,88($sp) move $2,$0 j $31 addiu $sp,$sp,112$L57: beq $18,$2,$L55 li $2,65536 # 0x10000 ori $2,$2,0x7700 bne $18,$2,$L68 lui $6,%hi($LC7) li $2,327680 # 0x50000 ori $4,$2,0xdc00 li $3,1 # 0x1 lui $2,%hi(freq_id) j $L58 sw $3,%lo(freq_id)($2)$L63: lui $2,%hi(vo_mpegpes_fd) lw $3,%lo(vo_mpegpes_fd)($2) bgez $3,$L69 lui $16,%hi(ao_data) j $L41 move $2,$0$L55: li $2,131072 # 0x20000 lui $3,%hi(freq_id) ori $4,$2,0xee00 j $L58 sw $0,%lo(freq_id)($3)$L66: ori $4,$2,0xf400 li $3,3 # 0x3 lui $2,%hi(freq_id) j $L58 sw $3,%lo(freq_id)($2)$L64: jal __errno_location nop jal strerror lw $4,0($2) lui $6,%hi($LC6) move $7,$2 addiu $6,$6,%lo($LC6) li $4,3 # 0x3 jal mp_msg li $5,1 # 0x1 j $L41 move $2,$0 .set macro .set reorder .end init .section .text.audio_pause,"ax",@progbits .align 2 .align 5 .ent audio_pause .type audio_pause, @functionaudio_pause: .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 audio_pause .globl vo_mpegpes_fd2 .data .align 2 .type vo_mpegpes_fd2, @object .size vo_mpegpes_fd2, 4vo_mpegpes_fd2: .word -1 .globl audio_out_mpegpes .align 2 .type audio_out_mpegpes, @object .size audio_out_mpegpes, 40audio_out_mpegpes: .word info .word control .word init .word uninit .word reset .word get_space .word play .word get_delay .word audio_pause .word audio_resume .local freq_id .comm freq_id,4,4 .local freq .comm freq,4,4 .section .rodata.str1.4 .align 2$LC8: .ascii "Mpeg-PES audio output\000" .align 2$LC9: .ascii "mpegpes\000" .align 2$LC10: .ascii "A'rpi\000" .subsection -1 .align 2$LC11: .ascii "\000" .data .align 2 .type info, @object .size info, 16info: .word $LC8 .word $LC9 .word $LC10 .word $LC11 .ident "GCC: (GNU) 4.1.2"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?