rockbox/apps/plugins/mpegplayer
Solomon Peachy 469866b6c9 mpegplayer: Fix aliasing rules violation on multi-core targets
As the PP series has no sense of cache coherency between its multiple
cores, we need to ensure the vo_data structure does not share cachelines
with anything else.

This was previously done by defining a uint8_t array and trying to
access it via typecasting hell, triggering a large pile of aliasing
violation warnings on newer toolchains and/or higher optimization
levels.

Instead of violating the C spec in an undefined-behaviour-sort-of-way,
create a union of the right size and alignment, and make one of its members
the structure we care about.  Voila, everyone is happy.

Change-Id: Iad78f8132225437cd4aa10e6e5f6ae58ba996c19
2020-07-25 02:57:35 +00: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
mpeg_alloc.h
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 [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00: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
mpegplayer.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -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