Rockbox

This is the bug/patch tracker for Rockbox. Click here for more information.

Quick links: Bugs · Patches · Rockbox frontpage

Tasklist

FS#9178 - lcd_blit_yuv and lcd_write_yuv420_lines2 functions for Cowon D2

Attached to Project: Rockbox
Opened by Thibaut GIRKA (ThibG) - Wednesday, 09 July 2008, 19:24 GMT+2
Last edited by Rob Purchase (shotofadds) - Wednesday, 16 July 2008, 19:40 GMT+2
Task Type Patches
Category LCD
Status Closed
Assigned To No-one
Player Type Another
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Private No

Details

Provide a basic (extremly slow) lcd_write_yuv420_lines for the Cowon D2 and update the lcd_blit_yuv function.
   lcd_blit_yuv.patch (4.6 KiB)
 firmware/target/arm/tcc780x/cowond2/lcd-cowond2.c |   97 +++++++++++++++++++---
 1 file changed, 88 insertions(+), 9 deletions(-)

This task depends upon

Closed by  Rob Purchase (shotofadds)
Wednesday, 16 July 2008, 19:40 GMT+2
Reason for closing:  Accepted
Additional comments about closing:  In r18060.
Comment by Thibaut GIRKA (ThibG) - Wednesday, 09 July 2008, 20:39 GMT+2
Ignore the old patch, this one is much faster.
   lcd_blit_yuv.patch (4.2 KiB)
 firmware/target/arm/tcc780x/cowond2/lcd-cowond2.c |   94 +++++++++++++++++++---
 1 file changed, 85 insertions(+), 9 deletions(-)

Comment by Thibaut GIRKA (ThibG) - Wednesday, 09 July 2008, 22:04 GMT+2
Another patch :)
   lcd_blit_yuv.patch (4.1 KiB)
 firmware/target/arm/tcc780x/cowond2/lcd-cowond2.c |   92 ++++++++++++++++++++--
 1 file changed, 84 insertions(+), 8 deletions(-)

Comment by Michael Sevakis (MikeS) - Wednesday, 09 July 2008, 23:39 GMT+2
Why not modify lcd-as-memframe.S since it's in use for general RGB updates for the D2 anyway? The asm yuv stuff should only need a few instructions changed to allow non-rotated conversion. mpegplayer also needs to be told explicitly that dithering is available for the target.
Comment by Rob Purchase (shotofadds) - Thursday, 10 July 2008, 00:35 GMT+2
Mike, that's the intention. This was accepted as a stop-gap until either I have the time to fix it properly (not a priority) or someone else with the relevant ARM knowledge comes along and does so.
Comment by Thibaut GIRKA (ThibG) - Friday, 11 July 2008, 10:37 GMT+2
Here is a new patch, which make the ASM part draw lines horizontally when LCD_HEIGHT < LCD_WIDTH
   lcd_write_yuv_420_lines.patch (5.2 KiB)
 target/arm/tcc780x/cowond2/lcd-cowond2.c |   85 +------------------------------
 target/arm/lcd-as-memframe.S             |   32 ++++++++++-
 2 files changed, 32 insertions(+), 85 deletions(-)

Comment by Rob Purchase (shotofadds) - Sunday, 13 July 2008, 17:20 GMT+2
The attached patch updates both the standard and dithered versions (lcd_yuv_write_42_lines_odither) to only rotate if LCD_HEIGHT > LCD_WIDTH, and also enables the Dithering option in MpegPlayer for the D2.

I've simplified the previous patch slightly by removing the LCD_WIDTH < 128 stuff (since no targets using this code have a resolution that small) and included a slight optimisation for an extra 1fps.
   yuv-rotate.diff (9.3 KiB)
 firmware/target/arm/lcd-as-memframe.S             |   46 ++++++++++-
 apps/plugins/mpegplayer/mpeg_settings.h           |    2 
 apps/plugin.c                                     |    2 
 apps/plugin.h                                     |    4 -
 firmware/target/arm/tcc780x/cowond2/lcd-cowond2.c |   85 +---------------------
 5 files changed, 47 insertions(+), 92 deletions(-)

Loading...