vo_yuv4mpeg.s
来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· S 代码 · 共 4,032 行 · 第 1/5 页
S
4,032 行
.file 1 "vo_yuv4mpeg.c".section .mdebug.abi32.previous.section .text.check_events,"ax",@progbits.align 2.align 5.ent check_events.type check_events, @functioncheck_events:.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 check_events.section .text.uninit,"ax",@progbits.align 2.align 5.ent uninit.type uninit, @functionuninit:.frame $sp,32,$31 # vars= 0, regs= 3/0, args= 16, gp= 0.mask 0x80030000,-8.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-32sw $16,16($sp)sw $31,24($sp)sw $17,20($sp)lui $16,%hi(image)lw $4,%lo(image)($16)beq $4,$0,$L16lui $17,%hi(yuv_out)jal uc_freenop$L16:lw $4,%lo(yuv_out)($17)beq $4,$0,$L6sw $0,%lo(image)($16)jal FS_FClosenop$L6:lui $16,%hi(rgb_buffer)lw $4,%lo(rgb_buffer)($16)beq $4,$0,$L8sw $0,%lo(yuv_out)($17)jal uc_freenop$L8:lui $17,%hi(rgb_line_buffer)lw $4,%lo(rgb_line_buffer)($17)beq $4,$0,$L10sw $0,%lo(rgb_buffer)($16)jal uc_freenop$L10:lui $16,%hi(yuv_filename)lw $4,%lo(yuv_filename)($16)beq $4,$0,$L12sw $0,%lo(rgb_line_buffer)($17)jal uc_freenop$L12:lui $2,%hi(image_width)lui $3,%hi(image_height)sw $0,%lo(image_width)($2)sw $0,%lo(image_height)($3)lui $2,%hi(image_fps)move $3,$0sw $0,%lo(yuv_filename)($16)sw $3,%lo(image_fps)($2)lw $31,24($sp)lw $17,20($sp)lw $16,16($sp)j $31addiu $sp,$sp,32.set macro.set reorder.end uninit.section .text.draw_osd,"ax",@progbits.align 2.align 5.ent draw_osd.type draw_osd, @functiondraw_osd:.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(image_width)lui $3,%hi(image_height)lui $6,%hi(draw_alpha)lw $4,%lo(image_width)($2)lw $5,%lo(image_height)($3)j vo_draw_textaddiu $6,$6,%lo(draw_alpha).set macro.set reorder.end draw_osd.globl __extendsfdf2.globl __eqsf2.section .rodata.str1.4,"aMS",@progbits,1.align 2$LC0:.ascii "Video formats differ (w:%i=>%i, h:%i=>%i, fps:%f=>%f), r".ascii "estarting output.\012\000".align 2$LC1:.ascii "Interlaced mode requires image height to be divisible by".ascii " 4.\000".align 2$LC2:.ascii "Unable to allocate line buffer for interlaced mode.\000".align 2$LC3:.ascii "Input not RGB, can't separate chrominance by fields!\000".align 2$LC4:.ascii "Image width must be divisible by 2.\000".align 2$LC5:.ascii "Not enough memory to allocate RGB framebuffer.\000".align 2$LC6:.ascii "wb\000".align 2$LC7:.ascii "Can't get memory or file handle to write \"%s\"!\000".section .text.config,"ax",@progbits.align 2.align 5.ent config.type config, @functionconfig:.frame $sp,112,$31 # vars= 32, regs= 8/0, args= 48, gp= 0.mask 0x807f0000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-112move $2,$6move $3,$7move $6,$7sw $19,92($sp)move $7,$4sw $18,88($sp)sw $17,84($sp)move $18,$5move $17,$4move $5,$2addiu $4,$sp,64lui $19,%hi(vo_fps)sw $31,108($sp)sw $20,96($sp)sw $16,80($sp)sw $2,56($sp)sw $3,60($sp)sw $22,104($sp)sw $21,100($sp)sw $17,48($sp)sw $18,52($sp)jal av_div_qsw $18,16($sp)lw $4,%lo(vo_fps)($19)jal __extendsfdf2lui $20,%hi(image_width)move $6,$2li $2,2147418112 # 0x7fff0000ori $2,$2,0xffffaddiu $4,$sp,72move $7,$3jal av_d2qsw $2,16($sp)lw $16,%lo(image_width)($20)beq $17,$16,$L49lui $21,%hi(image_height)lui $22,%hi(image_fps)lui $2,%hi(vo_config_count)$L61:lw $3,%lo(vo_config_count)($2)bne $3,$0,$L59lw $4,%lo(image_fps)($22)$L25:lui $2,%hi(config_interlace)$L57:lw $4,%lo(config_interlace)($2)lw $2,136($sp)lw $3,%lo(vo_fps)($19)lui $16,%hi(using_format)sw $2,%lo(using_format)($16)li $2,112 # 0x70sw $3,%lo(image_fps)($22)sw $18,%lo(image_height)($21)beq $4,$2,$L29sw $17,%lo(image_width)($20)andi $2,$18,0x3bne $2,$0,$L51sll $4,$17,1jal uc_mallocaddu $4,$4,$17lui $3,%hi(rgb_line_buffer)beq $2,$0,$L52sw $2,%lo(rgb_line_buffer)($3)li $2,842072064 # 0x32310000lw $3,%lo(using_format)($16)ori $2,$2,0x5659beq $3,$2,$L53lui $6,%hi($LC3)$L29:andi $2,$17,0x1$L58:bne $2,$0,$L54lw $3,%lo(using_format)($16)li $2,842072064 # 0x32310000ori $2,$2,0x5659beq $3,$2,$L60lw $3,%lo(image_width)($20)jal get_sws_cpuflagsnopjal sws_rgb2rgb_initmove $4,$2lw $2,%lo(image_width)($20)lw $3,%lo(image_height)($21)sll $4,$2,1addu $4,$4,$2jal uc_mallocmul $4,$4,$3lui $3,%hi(rgb_buffer)beq $2,$0,$L55sw $2,%lo(rgb_buffer)($3)lw $3,%lo(image_width)($20)$L60:lw $4,%lo(image_height)($21)sll $2,$3,1addu $2,$2,$3mul $2,$2,$4lui $17,%hi(yuv_filename)srl $3,$2,31addu $3,$3,$2sra $3,$3,1move $4,$3lui $2,%hi(write_bytes)jal uc_mallocsw $3,%lo(write_bytes)($2)lw $4,%lo(yuv_filename)($17)lui $5,%hi($LC6)addiu $5,$5,%lo($LC6)lui $16,%hi(image)jal FS_FOpensw $2,%lo(image)($16)lui $3,%hi(yuv_out)beq $2,$0,$L41sw $2,%lo(yuv_out)($3)lw $6,%lo(image)($16)beq $6,$0,$L41lui $2,%hi(image_width)lui $3,%hi(image_height)lw $4,%lo(image_height)($3)lw $5,%lo(image_width)($2)mul $5,$5,$4addiu $4,$5,3slt $3,$5,0move $2,$5movn $2,$4,$3addu $5,$6,$5sra $2,$2,2addu $2,$5,$2lui $3,%hi(image_v)sw $2,%lo(image_v)($3)lui $4,%hi(image_y)lui $2,%hi(image_u)sw $6,%lo(image_y)($4)sw $5,%lo(image_u)($2)move $2,$0$L27:lw $31,108($sp)$L62:lw $22,104($sp)lw $21,100($sp)lw $20,96($sp)lw $19,92($sp)lw $18,88($sp)lw $17,84($sp)lw $16,80($sp)j $31addiu $sp,$sp,112$L49:lw $2,%lo(image_height)($21)beq $18,$2,$L56lui $2,%hi(vo_config_count)lw $3,%lo(vo_config_count)($2)beq $3,$0,$L25lui $22,%hi(image_fps)lw $4,%lo(image_fps)($22)$L59:lw $2,%lo(image_height)($21)sw $17,16($sp)sw $2,20($sp)jal __extendsfdf2sw $18,24($sp)lw $4,%lo(vo_fps)($19)sw $2,32($sp)jal __extendsfdf2sw $3,36($sp)lui $6,%hi($LC0)addiu $6,$6,%lo($LC0)move $7,$16li $4,3 # 0x3li $5,2 # 0x2sw $2,40($sp)jal mp_msgsw $3,44($sp)jal uninitnopj $L57lui $2,%hi(config_interlace)$L41:lw $7,%lo(yuv_filename)($17)lui $6,%hi($LC7)addiu $6,$6,%lo($LC7)li $4,3 # 0x3jal mp_msgmove $5,$0lw $31,108($sp)lw $22,104($sp)lw $21,100($sp)lw $20,96($sp)lw $19,92($sp)lw $18,88($sp)lw $17,84($sp)lw $16,80($sp)li $2,-1 # 0xffffffffffffffffj $31addiu $sp,$sp,112$L53:addiu $6,$6,%lo($LC3)li $4,3 # 0x3jal mp_msgli $5,2 # 0x2j $L58andi $2,$17,0x1$L56:lui $22,%hi(image_fps)lw $4,%lo(image_fps)($22)jal __eqsf2lw $5,%lo(vo_fps)($19)bne $2,$0,$L61lui $2,%hi(vo_config_count)lw $3,%lo(vo_config_count)($2)beq $3,$0,$L25move $2,$0j $L62lw $31,108($sp)$L51:lui $6,%hi($LC1)addiu $6,$6,%lo($LC1)li $4,3 # 0x3jal mp_msgmove $5,$0j $L27li $2,-1 # 0xffffffffffffffff$L54:lui $6,%hi($LC4)addiu $6,$6,%lo($LC4)li $4,3 # 0x3jal mp_msgmove $5,$0j $L27li $2,-1 # 0xffffffffffffffff$L52:lui $6,%hi($LC2)addiu $6,$6,%lo($LC2)li $4,3 # 0x3jal mp_msgmove $5,$0j $L27li $2,-1 # 0xffffffffffffffff$L55:lui $6,%hi($LC5)addiu $6,$6,%lo($LC5)li $4,3 # 0x3jal mp_msgmove $5,$0j $L27li $2,-1 # 0xffffffffffffffff.set macro.set reorder.end config.section .rodata.str1.4.align 2$LC8:.ascii "interlaced\000".align 2$LC9:.ascii "interlaced_bf\000".align 2$LC10:.ascii "file\000".align 2$LC11:.ascii "stream.yuv\000".align 2$LC12:.ascii "Unknown subdevice: %s\000".align 2$LC13:.ascii "Using interlaced output mode, top-field first.\000".align 2$LC14:.ascii "Using interlaced output mode, bottom-field first.\000".align 2$LC15:.ascii "Using (default) progressive frame mode.\000".section .text.preinit,"ax",@progbits.align 2.align 5.ent preinit.type preinit, @functionpreinit:.frame $sp,120,$31 # vars= 88, regs= 4/0, args= 16, gp= 0.mask 0x80070000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-120sw $17,108($sp)addiu $17,$sp,24sw $18,112($sp)move $5,$0move $18,$4li $6,80 # 0x50move $4,$17sw $31,116($sp)jal memsetsw $16,104($sp)lui $2,%hi($LC8)addiu $2,$2,%lo($LC8)sw $2,24($sp)lui $2,%hi($LC9)addiu $3,$sp,16addiu $2,$2,%lo($LC9)lui $16,%hi(yuv_filename)sw $3,32($sp)sw $2,44($sp)addiu $3,$sp,20lui $4,%hi($LC11)lui $2,%hi($LC10)addiu $5,$16,%lo(yuv_filename)addiu $4,$4,%lo($LC11)sw $3,52($sp)addiu $2,$2,%lo($LC10)li $3,3 # 0x3sw $5,72($sp)sw $2,64($sp)sw $3,68($sp)sw $0,16($sp)jal uc_strdupsw $0,20($sp)move $5,$17move $4,$18jal subopt_parsesw $2,%lo(yuv_filename)($16)bne $2,$0,$L75lw $3,16($sp)lui $4,%hi(config_interlace)li $2,112 # 0x70bne $3,$0,$L76sw $2,%lo(config_interlace)($4)lw $2,20($sp)bne $2,$0,$L77li $2,98 # 0x62lw $3,%lo(config_interlace)($4)$L80:li $2,98 # 0x62beq $3,$2,$L71li $2,116 # 0x74beq $3,$2,$L78lui $6,%hi($LC15)addiu $6,$6,%lo($LC15)li $4,3 # 0x3jal mp_msgli $5,5 # 0x5lw $31,116($sp)lw $18,112($sp)lw $17,108($sp)lw $16,104($sp)move $2,$0j $31addiu $sp,$sp,120$L77:$L79:sw $2,%lo(config_interlace)($4)$L71:lui $6,%hi($LC14)addiu $6,$6,%lo($LC14)li $4,3 # 0x3jal mp_msgli $5,5 # 0x5move $2,$0$L66:lw $31,116($sp)lw $18,112($sp)lw $17,108($sp)lw $16,104($sp)j $31addiu $sp,$sp,120$L76:li $2,116 # 0x74sw $2,%lo(config_interlace)($4)lw $2,20($sp)beq $2,$0,$L80lw $3,%lo(config_interlace)($4)j $L79li $2,98 # 0x62$L78:lui $6,%hi($LC13)addiu $6,$6,%lo($LC13)li $4,3 # 0x3jal mp_msgli $5,5 # 0x5lw $31,116($sp)lw $18,112($sp)lw $17,108($sp)lw $16,104($sp)move $2,$0j $31addiu $sp,$sp,120$L75:lui $6,%hi($LC12)addiu $6,$6,%lo($LC12)move $7,$18li $4,3 # 0x3jal mp_msgmove $5,$0j $L66li $2,-1 # 0xffffffffffffffff.set macro.set reorder.end preinit.section .rodata.str1.4.align 2$LC16:.ascii "Error writing image to output!\000".section .text.control,"ax",@progbits.align 2.align 5.ent control.type control, @functioncontrol:.frame $sp,64,$31 # vars= 8, regs= 10/0, args= 16, gp= 0.mask 0xc0ff0000,-4.fmask 0x00000000,0.set noreorder.set nomacroaddiu $sp,$sp,-64li $2,2 # 0x2sw $31,60($sp)sw $fp,56($sp)sw $23,52($sp)sw $22,48($sp)sw $21,44($sp)sw $20,40($sp)sw $19,36($sp)sw $18,32($sp)sw $17,28($sp)sw $16,24($sp)sw $6,72($sp)beq $4,$2,$L83sw $7,76($sp)li $2,20 # 0x14beq $4,$2,$L84li $2,-3 # 0xfffffffffffffffd$L85:lw $31,60($sp)lw $fp,56($sp)lw $23,52($sp)lw $22,48($sp)lw $21,44($sp)lw $20,40($sp)lw $19,36($sp)lw $18,32($sp)lw $17,28($sp)lw $16,24($sp)j $31addiu $sp,$sp,64$L83:lui $2,%hi(config_interlace)lw $3,%lo(config_interlace)($2)li $2,112 # 0x70beq $3,$2,$L86lw $5,0($5)li $2,1111949312 # 0x42470000ori $2,$2,0x5218beq $5,$2,$L90li $2,1380384768 # 0x52470000ori $2,$2,0x4218beq $5,$2,$L90li $2,842072064 # 0x32310000ori $2,$2,0x5659beq $5,$2,$L85li $2,1029 # 0x405lw $31,60($sp)$L124:lw $fp,56($sp)lw $23,52($sp)lw $22,48($sp)lw $21,44($sp)lw $20,40($sp)lw $19,36($sp)lw $18,32($sp)lw $17,28($sp)lw $16,24($sp)move $2,$0j $31addiu $sp,$sp,64$L84:lui $2,%hi(using_format)li $3,842072064 # 0x32310000lw $4,%lo(using_format)($2)ori $3,$3,0x5659beq $4,$3,$L91lui $2,%hi(config_interlace)lw $3,%lo(config_interlace)($2)lui $fp,%hi(image_width)li $2,112 # 0x70beq $3,$2,$L91lw $6,%lo(image_width)($fp)lui $3,%hi(image_height)lw $4,%lo(image_height)($3)lui $3,%hi(image)srl $2,$4,31addu $2,$2,$4sra $20,$2,1mul $5,$6,$20lw $19,%lo(image)($3)srl $2,$6,31addu $2,$2,$6sra $17,$2,1addu $2,$19,$5sw $2,16($sp)bltz $5,$L122move $4,$5$L94:sll $2,$5,1addu $2,$2,$5srl $3,$2,31addu $3,$3,$2lw $2,16($sp)sra $4,$4,2addu $4,$2,$4sw $4,20($sp)beq $20,$0,$L95sra $22,$3,1lui $23,%hi(yuv_out)move $18,$0lui $21,%hi($LC16)lw $16,%lo(image_width)($fp)$L123:lw $7,%lo(yuv_out)($23)mul $2,$16,$18li $5,1 # 0x1addu $4,$2,$19jal FS_FWritemove $6,$16li $4,3 # 0x3li $5,1 # 0x1beq $16,$2,$L98addiu $6,$21,%lo($LC16)jal mp_msgnop$L98:lui $2,%hi(image_width)lw $16,%lo(image_width)($2)lui $2,%hi(yuv_out)lw $7,%lo(yuv_out)($2)mul $2,$16,$18li $5,1 # 0x1addu $4,$2,$19addu $4,$4,$22jal FS_FWritemove $6,$16addiu $18,$18,1li $4,3 # 0x3li $5,1 # 0x1beq $16,$2,$L100addiu $6,$21,%lo($LC16)jal mp_msgnop$L100:bne $18,$20,$L123lw $16,%lo(image_width)($fp)srl $2,$20,31addu $2,$2,$20sra $20,$2,1beq $20,$0,$L95lw $18,16($sp)move $19,$0addu $16,$18,$22lui $fp,%hi(yuv_out)lui $21,%hi($LC16)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?