rockbox/apps/plugins/mpegplayer
William Wilgus 3237ae4a4f LCD core move buf ptr and address look up function viewport struct
I'm currently running up against the limitations of the lcd_draw functions
I want these functions to be able to be used on any size buffer not
just buffers with a stride matching the underlying device

[DONE] allow the framebuffer to be decoupled from the device framebuffer
[DONE need examples] allow for some simple blit like transformations
[DONE] remove the device framebuffer from the plugin api
[DONE}ditto remote framebuffer
[DONE] remove _viewport_get_framebuffer you can call struct *vp = lcd_set_viewport(NULL) and vp->buffer->fb_ptr

while remote lcds may compile (and work in the sim) its not been tested on targets

[FIXED] backdrops need work to be screen agnostic

[FIXED] screen statusbar is not being combined into the main viewport correctly yet

[FIXED] screen elements are displayed incorrectly  after switch to void*

[FIXED] core didn't restore proper viewport on splash etc.

[NEEDS TESTING] remote lcd garbled data

[FIXED] osd lib garbled screen on bmp_part

[FIXED] grey_set_vp needs to return old viewport like lcd_set_viewport

[FIXED] Viewport update now handles viewports with differing buffers/strides by copying to the main buffer

[FIXED] splash on top of WPS leaves old framebuffer data (doesn't redraw)
[UPDATE] refined this a bit more to have clear_viewport set the clean bit and have skin_render do its own screen clear
scrolling viewports no longer trigger wps refresh
also fixed a bug where guisyncyesno was displaying and then disappearing

[ADDED!] New LCD macros that allow you to create properly size frame buffers in you desired size without wasting bytes
(LCD_ and LCD_REMOTE_)
LCD_STRIDE(w, h) same as STRIDE_MAIN
LCD_FBSTRIDE(w, h) returns target specific stride for a buffer W x H
LCD_NBELEMS(w, h) returns the number of fb_data sized elemenst needed for a buffer W x H
LCD_NATIVE_STRIDE(s) conversion between rockbox native vertical and lcd native stride (2bitH)
test_viewports.c has an example of usage

[FIXED!!] 2bit targets don't respect non-native strides
[FIXED] Few define snags

Change-Id: I0d04c3834e464eca84a5a715743a297a0cefd0af
2020-10-26 12:28:48 -04:00
..
libmpeg2 mpegplayer: Move libmpeg2 files into their own subdirectory so things are less cluttered. 2011-02-22 21:44:15 +00:00
alloc.c lcd-24bit: Introduce a 24-bit mid-level LCD driver 2014-06-21 00:15:53 +02:00
audio_thread.c Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
disk_buf.c mpegplayer fix warnings 2018-11-26 01:51:09 -05:00
disk_buf.h mpegplayer: use OFF_T_MIN/MAX instead of LONG_MIN/MAX in one spot. Define OFF_T_MIN as well if not already defined. 2010-05-21 14:01:22 +00:00
mpeg_alloc.h Bring libmpeg2 portions that we use up to date with the latest libmpeg2 CVS. Fix up some file headers and add a revision history to the libmpeg2 files detailing to which CVS file revisions things were synced. This makes it easier to start in the right place by hand in the future. Hopefully no mistakes and everything works. :-) 2008-07-01 10:27:48 +00:00
mpeg_misc.c do_menu pass internal synclist reference to callback 2020-07-19 22:10:26 +00:00
mpeg_misc.h do_menu pass internal synclist reference to callback 2020-07-19 22:10:26 +00:00
mpeg_parser.c Fix another comment typo 2011-01-04 21:28:20 +00:00
mpeg_settings.c New port: AIGO EROS Q / EROS K 2020-10-11 16:37:17 -04:00
mpeg_settings.h SA9200: Add YUV blitting, do full-screen updates more efficiently and properly clip partial updates. Plugin struct becomes incompatible for this target but leave version alone since it's still dev-only. 2011-01-11 01:21:31 +00:00
mpeg_stream.h Updated our source code header to explicitly mention that we are GPL v2 or 2008-06-28 18:10:04 +00:00
mpegplayer.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
mpegplayer.h Speech feedback in mpegplayer menus 2019-08-04 22:47:00 +02:00
mpegplayer.make MIPS uses GCC 4.1.2 which was wrongly detected as supporting '-fgnu89-inline'. Now only set this parameter if GCCNUM > 401. 2011-09-08 06:23:33 +00:00
parser.h MPEGPlayer: Move some code that's probably better situated in the stream manager rather than the parser. Fix visibility checking in video out. Extra message sending for new stream isn't needed; just do full decoder sequence reset when requesting dimensions. 2010-12-19 08:28:03 +00:00
pcm_output.c Speech feedback in mpegplayer menus 2019-08-04 22:47:00 +02:00
pcm_output.h MPEGPlayer: Fixup typecasting for PCM buffer a bit. 2012-04-26 16:04:42 -04:00
SOURCES mpegplayer: Move libmpeg2 files into their own subdirectory so things are less cluttered. 2011-02-22 21:44:15 +00:00
stream_mgr.c mpegplayer fix warnings 2018-11-26 01:51:09 -05:00
stream_mgr.h MPEGPlayer graphics mutation: Implement a more visible FPS display and remove the debugging info from it. Tweak thumbnailing and printing of unavailable frames. 2011-01-03 16:41:19 +00:00
stream_thread.h MPEGPlyaer: A bit of audio mutation. Remove a useless thread state. Take some control over the buffer away from the audio thread itself. Some atomicity corrections. 2011-01-07 05:17:28 +00:00
video_out.h MPEGPlayer graphics mutation: Implement a more visible FPS display and remove the debugging info from it. Tweak thumbnailing and printing of unavailable frames. 2011-01-03 16:41:19 +00:00
video_out_rockbox.c mpegplayer: Fix aliasing rules violation on multi-core targets 2020-07-25 02:57:35 +00:00
video_thread.c Commit to certain names for cache coherency APIs and discard the aliases. 2011-12-17 07:27:24 +00:00