1
0
Fork 0
forked from len0rd/rockbox

Greyscale mpegplayer: * Use uncached greyscale buffers on dual core targets, removing the need for special cache handling. * Make the OSD properly disappear when viewing a widescreen or small video.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16052 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jens Arnold 2008-01-11 00:46:09 +00:00
parent 59f0e7023c
commit 753b65737f
7 changed files with 9 additions and 96 deletions

View file

@ -661,12 +661,7 @@ bool stream_show_vo(bool show)
vis = parser_send_video_msg(VIDEO_DISPLAY_SHOW, show);
#ifndef HAVE_LCD_COLOR
GRAY_VIDEO_INVALIDATE_ICACHE();
GRAY_INVALIDATE_ICACHE();
grey_show(show);
GRAY_FLUSH_ICACHE();
#endif
stream_mgr_unlock();
@ -722,42 +717,11 @@ void stream_gray_show(bool show)
{
stream_mgr_lock();
GRAY_VIDEO_INVALIDATE_ICACHE();
GRAY_INVALIDATE_ICACHE();
grey_show(show);
GRAY_FLUSH_ICACHE();
stream_mgr_unlock();
}
#ifdef GRAY_CACHE_MAINT
void stream_gray_pause(bool pause)
{
static bool gray_paused = false;
if (pause && !gray_paused)
{
if (_grey_info.flags & _GREY_RUNNING)
{
rb->timer_unregister();
#if defined(CPU_PP) && defined(HAVE_ADJUSTABLE_CPU_FREQ)
rb->cpu_boost(false);
#endif
_grey_info.flags &= ~_GREY_RUNNING;
rb->screen_dump_set_hook(NULL);
gray_paused = true;
}
}
else if (!pause && gray_paused)
{
gray_paused = false;
grey_show(true);
}
}
#endif
#endif /* !HAVE_LCD_COLOR */
/* Display a thumbnail at the last seek point */
@ -1013,11 +977,17 @@ int stream_init(void)
#ifndef HAVE_LCD_COLOR
bool success;
long graysize;
void *graymem;
#ifdef PROC_NEEDS_CACHEALIGN
/* This can run on another processor - align data */
memsize = CACHEALIGN_BUFFER(&mem, memsize);
graymem = UNCACHED_ADDR(mem);
#else
graymem = mem;
#endif
success = grey_init(rb, mem, memsize, true, LCD_WIDTH,
success = grey_init(rb, graymem, memsize, true, LCD_WIDTH,
LCD_HEIGHT, &graysize);
/* This can run on another processor - align size */