rockbox/apps/plugins
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
..
beatbox [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
bitmaps [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
chessbox [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
clock
doom plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
fft plugins: Fix the builds for targets lacking HAVE_BACKLIGHT 2020-07-24 18:17:19 -04:00
fractals [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
frotz keyboard add ability to specify temporary custom layouts 2020-07-22 06:48:28 -04:00
goban [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
imageviewer plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
lib plugins: Fix the builds for targets lacking HAVE_BACKLIGHT 2020-07-24 18:17:19 -04:00
lua plugins: Fix the builds for targets lacking HAVE_BACKLIGHT 2020-07-24 18:17:19 -04:00
lua_scripts Lua add metadata and settings reading helper module 2019-09-07 03:10:59 +02:00
midi xDuoo X3II and X20 port 2020-04-06 18:15:41 +02:00
mikmod mikmod: Use -Wno-stringop-truncation with GCC >=8 2020-05-18 01:15:42 +02:00
mpegplayer mpegplayer: Fix aliasing rules violation on multi-core targets 2020-07-25 02:57:35 +00:00
pacbox plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
pdbox pdbox/doom: Use -Wno-stringop-truncation with GCC >=8 2020-05-18 00:47:04 +02:00
pictureflow plugins: Fix the builds for targets lacking HAVE_BACKLIGHT 2020-07-24 18:17:19 -04:00
puzzles keyboard add ability to specify temporary custom layouts 2020-07-22 06:48:28 -04:00
reversi [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
rockboy plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
sdl plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
searchengine [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
shortcuts [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
sudoku [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
text_viewer [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
xworld plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
zxbox [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
2048.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
alarmclock.c
battery_bench.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
bench_mem_jpeg.c plugins: use lcd_putsf/lcd_putsxyf 2010-08-28 21:46:45 +00:00
bench_scaler.c
blackjack.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
boomshine.lua lua boomshine update to use rockevents library 2020-06-25 13:50:57 +00:00
bounce.c Replace SAMSUNG_YH920_PAD with YH92X 2016-01-25 09:23:09 +01:00
brickmania.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
bubbles.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
BUILD_OVERLAY Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). 2010-06-21 16:53:00 +00:00
calculator.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
calendar.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
CATEGORIES lua add demo scripts, atexit handler, gui_scrollbar_draw 2019-07-29 02:51:29 -05:00
chessbox.c
chessclock.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
chip8.c [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
chopper.c plugins: Fix the builds for targets lacking HAVE_BACKLIGHT 2020-07-24 18:17:19 -04:00
clix.c do_menu pass internal synclist reference to callback 2020-07-19 22:10:26 +00:00
codebuster.c do_menu pass internal synclist reference to callback 2020-07-19 22:10:26 +00:00
credits.c plugins: Fix the builds for targets lacking HAVE_BACKLIGHT 2020-07-24 18:17:19 -04:00
credits.pl
crypt_firmware.c
cube.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
demystify.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
dice.c FS#7704 - Talk support for plugins 2019-07-20 08:48:35 +02:00
dict.c keyboard add ability to specify temporary custom layouts 2020-07-22 06:48:28 -04:00
disktidy.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
disktidy.config
duke3d.c
elfdep.pl
fire.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
fireworks.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
flipit.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
goban.c Fix yellows/reds. Red where caused by preprocessor condition mismatch. 2010-08-24 15:01:33 +00:00
greyscale.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
helloworld.c Update comments in the helloword plugin. 2010-08-30 20:58:38 +00:00
helloworld.lua
invadrox.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
iriver_flash.c Fix warning about using static vars in non static inline functions with gcc 4.5. 2010-12-27 10:46:29 +00:00
iriverify.c
jackpot.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
jewels.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
keybox.c keyboard add ability to specify temporary custom layouts 2020-07-22 06:48:28 -04:00
lamp.c Lamp plugin: Allow toggling the button light using "select". 2015-02-22 12:22:40 +01:00
logo.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
lrcplayer.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
lua_scripts.lua lua add demo scripts, atexit handler, gui_scrollbar_draw 2019-07-29 02:51:29 -05:00
main_menu_config.c Speech enabled main menu config plugin 2019-08-05 02:33:37 +02:00
matrix.c matrix plugin: Fix out-of-bounds array access. Unify for-loop style. 2012-06-03 23:37:33 +02:00
maze.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
mazezam.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
md5sum.c
metronome.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
minesweeper.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
mosaique.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
mp3_encoder.c xDuoo X3II and X20 port 2020-04-06 18:15:41 +02:00
oscilloscope.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
otp.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
pegbox.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
periodic_table.c
pictureflow.c
pitch_detector.c Revise the PCM callback system after adding multichannel audio. 2012-03-03 07:23:38 +01:00
pixel-painter.lua
plasma.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
plugin.lds [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
plugin_crt0.c
plugins.make Use full_path_subst on more places, to avoid replacing the wrong occurrences in 2019-07-28 21:00:57 +02:00
pong.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
properties.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
quake.c sdl: Fix path substitution in log messages, fix game names in comments 2019-08-22 22:00:43 +03:00
random_folder_advance_config.c plugins: Fix the builds for targets lacking HAVE_BACKLIGHT 2020-07-24 18:17:19 -04:00
remote_control.c Second try: Introduce plugin_crt0.c that every plugin links. 2010-08-24 14:30:46 +00:00
resistor.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
robotfindskitten.c robotfindskitten: clear message line before cinema scene 2019-07-28 01:30:29 +02:00
rockblox.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
rockblox1d.c
rockbox-fonts.config
rockboy.c
rocklife.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
rockpaint.c keyboard add ability to specify temporary custom layouts 2020-07-22 06:48:28 -04:00
search.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
settings_dumper.c
shopper.c
sliding_puzzle.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
snake.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
snake2.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
snake2.levels
snow.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
sokoban.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
sokoban.levels
solitaire.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
sort.c
SOURCES [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
SOURCES.app_build [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
spacerocks.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
speedread.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
star.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
starfield.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
stats.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
stopwatch.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
stopwatch.lua
SUBDIRS [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
SUBDIRS.app_build [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
superdom.c keyboard add ability to specify temporary custom layouts 2020-07-22 06:48:28 -04:00
test_boost.c fix plugin test_boost not properly unboosting 2020-05-24 13:43:30 +02:00
test_codec.c plugins: HAVE_BACKLIGHT in the test plugins 2020-07-24 19:42:32 -04:00
test_core_jpeg.c
test_disk.c plugins: HAVE_BACKLIGHT in the test plugins 2020-07-24 19:42:32 -04:00
test_fps.c plugins: HAVE_BACKLIGHT in the test plugins 2020-07-24 19:42:32 -04:00
test_gfx.c plugins: HAVE_BACKLIGHT in the test plugins 2020-07-24 19:42:32 -04:00
test_grey.c plugins: HAVE_BACKLIGHT in the test plugins 2020-07-24 19:42:32 -04:00
test_greylib_bitmap_scale.c
test_mem.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
test_mem_jpeg.c
test_resize.c
test_sampr.c
test_scanrate.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
test_touchscreen.c
test_viewports.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
test_viewports.lua Fix some typos 2009-05-25 14:56:59 +00:00
text_editor.c keyboard add ability to specify temporary custom layouts 2020-07-22 06:48:28 -04:00
theme_remove.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
vbrfix.c Improvements for vbrfix plugin: 2019-08-13 17:07:07 +02:00
viewers.config Add support for Windows shortcuts (*.lnk files) 2019-08-11 22:26:49 +02:00
vu_meter.c [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
wav2wv.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
wavview.c
windows_lnk.c plugin windows_lnk: fix missing return-on-error 2020-07-07 02:36:33 +00:00
wolf3d.c sdl: Fix path substitution in log messages, fix game names in comments 2019-08-22 22:00:43 +03:00
wormlet.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
xobox.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
zxbox.c