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
alloc.c
audio_thread.c
disk_buf.c
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
mpeg_settings.c [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
mpeg_settings.h
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
parser.h
pcm_output.c Speech feedback in mpegplayer menus 2019-08-04 22:47:00 +02:00
pcm_output.h
SOURCES
stream_mgr.c
stream_mgr.h
stream_thread.h
video_out.h
video_out_rockbox.c mpegplayer: Fix aliasing rules violation on multi-core targets 2020-07-25 02:57:35 +00:00
video_thread.c