rockbox/manual/plugins
David Cormier e0136bc7f4 ipod6g: add hardware H.264 video playback
Add S5L8702 VPU-B initialization, reset, bitstream input, frame output,
and cache maintenance to the iPod 6G target. Advertise it with
HAVE_HW_H264 and append a capability-gated decoder interface to the
plugin API.

Keep MP4 parsing, AAC decode and mixer output, A/V synchronization,
playback controls, resume state, and presentation in the multi-file
h264_player plugin. The target layer exposes decoder operations only.

Accept non-fragmented MP4/M4V containing Constrained Baseline H.264
through level 3.0, up to 640x480 at 30 fps, with optional AAC-LC audio.
Validate codec configuration and all sample-table relationships before
activating the hardware.

Read MP4 tables in bulk, boost the CPU while preparing them, and report
staged loading progress so long movies do not appear to hang during
startup.

Register the viewer and document its format limits and controls. The
libm4a compatibility fixes needed by video-first containers remain in
the preceding standalone change.

Tested on an iPod Classic 6G through an isolated Rolo nightly runtime:
H.264/AAC playback and M4V startup succeeded. Normal and
isolated-runtime iPod 6G builds also complete, and git diff --check is
clean.

Change-Id: I1e96c65c7d0b4231a94f602f8052f1b26d6e4a80
2026-09-13 08:07:59 -04:00
..
images manual: Remove executable bit off of files that shouldn't have it 2026-09-07 09:00:07 -04:00
2048.tex plugins: Improve usability of iPod keymaps 2022-12-29 04:39:22 +01:00
alarmclock.tex plugins: Improve usability of iPod keymaps 2022-12-29 04:39:22 +01:00
amaze.tex FS#8647: Amaze - 3D maze game plugin 2024-04-24 17:37:58 -04:00
announce_status.tex manual nitpicking: use dash (instead of hyphen) for range of numbers 2025-11-14 17:33:04 +01:00
batterybenchmark.tex FS#13538 export and import battery level tables 2025-03-06 11:54:21 -05:00
blackjack.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
boomshine.tex Manual: Add missing plugins 2016-04-15 01:15:30 +02:00
bounce.tex plugins: Improve usability of iPod keymaps 2022-12-29 04:39:22 +01:00
brickmania.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
bubbles.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
calculator.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
calendar.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
chess_clock.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
chessbox.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
chip8emulator.tex [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
chopper.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
clix.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
clock.tex plugins: clock: adjust defaults, don't restore color 2025-06-08 11:31:14 -04:00
codebuster.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
countdown_timer.tex manual: Correct a minor error in the countdown timer documentation 2026-05-03 08:08:43 -04:00
credits.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
cube.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
dart_scorer.tex Implement dart scorer plugin application. 2024-01-23 22:32:22 -05:00
demystify.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
dice.tex plugins: Improve usability of iPod keymaps 2022-12-29 04:39:22 +01:00
dict.tex Manual: Add missing plugins 2016-04-15 01:15:30 +02:00
disktidy.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
doom.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
duke3d.tex duke3d: improve manual 2019-06-16 14:26:13 -04:00
euro_converter.tex
fft.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
fire.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
firmware_flash.tex
flipit.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
fractals.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
frotz.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
goban.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
h264_player.tex ipod6g: add hardware H.264 video playback 2026-09-13 08:07:59 -04:00
imageviewer.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
invadrox.tex Add 240x240 support to various plugins and rgnano manual updates 2025-08-20 20:50:42 -04:00
jackpot.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
jewels.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
keybox.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
lamp.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
lastfm_scrobbler.tex lastfm_scrobbler fix formatting, progress messages, export mode 2025-03-01 19:16:46 -05:00
logo.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
lrcplayer.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
lua.tex Also update the manual 2009-06-28 14:58:07 +00:00
main.tex ipod6g: add hardware H.264 video playback 2026-09-13 08:07:59 -04:00
main_menu_config.tex Settings menu: add main menu customization 2025-05-23 14:28:29 -04:00
matrix.tex Manual: Add missing plugins 2016-04-15 01:15:30 +02:00
maze.tex plugins: Improve usability of iPod keymaps 2022-12-29 04:39:22 +01:00
mazezam.tex plugins: Improve usability of iPod keymaps 2022-12-29 04:39:22 +01:00
md5sum.tex
metronome.tex plugins: Improve usability of iPod keymaps 2022-12-29 04:39:22 +01:00
midiplay.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
mikmod.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
minesweeper.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
mosaic.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
movieplayer.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
mp3_encoder.tex Remove superfluous executable bits on a bunch of files. 2011-06-08 14:22:03 +00:00
mpegplayer.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
multiboot_select.tex Manuals for Multiboot_Select, Open_plugins, Announce_Status 2025-03-29 02:37:12 -04:00
nim.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
open_plugins.tex Manuals for Multiboot_Select, Open_plugins, Announce_Status 2025-03-29 02:37:12 -04:00
oscilloscope.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
otp.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
pacbox.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
pdbox.tex manual: Replace all rockbox.org urls with https. 2020-12-12 23:17:04 -05:00
pegbox.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
periodic_table.tex plugins: Improve usability of iPod keymaps 2022-12-29 04:39:22 +01:00
pictureflow.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
pitch_detector.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
pixelpainter.tex FS#11922: Lua game - Pixel Painter 2017-08-23 00:25:11 +02:00
plasma.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
pong.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
quake.tex Quake! 2019-07-19 22:37:40 -04:00
random_folder_advance_config.tex plugins: random folder advance: misc improvements 2026-01-16 16:49:38 +01:00
resistor.tex Manual: A few more spelling corrections. 2011-08-09 14:39:32 +00:00
reversi.tex A few more spelling corrections. 2009-11-22 11:36:07 +00:00
robotfindskitten.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
rockblox.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
rockblox1d.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
rockbox_flash.tex
rockboy.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
rocklife.tex plugins: Improve usability of iPod keymaps 2022-12-29 04:39:22 +01:00
rockpaint.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
search.tex
sgt-puzzles.tex manual: Replace all rockbox.org urls with https. 2020-12-12 23:17:04 -05:00
shopper.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
shortcuts.tex Add support for Windows shortcuts (*.lnk files) 2019-08-11 22:26:49 +02:00
sliding.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
snake.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
snake2.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
snow.tex plugins: Improve usability of iPod keymaps 2022-12-29 04:39:22 +01:00
sokoban.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
solitaire.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
sort.tex
spacerocks.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
speedread.tex Speed-reading plugin 2017-03-15 15:02:53 -04:00
star.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
starfield.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
stats.tex plugins: extract redundant functionality from stats/properties 2024-07-28 20:18:41 +02:00
stopwatch.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
sudoku.tex Add 240x240 support to various plugins and rgnano manual updates 2025-08-20 20:50:42 -04:00
superdom.tex manual: nitpicking on '-' character and other minor details 2018-08-05 12:57:05 +02:00
text_editor.tex Samsung YH820/92x keymap bugfixes 2015-12-27 18:14:41 +01:00
text_viewer.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
theme_remove.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
vbrfix.tex Improvements to the viewers section of the manual (FS#10531 by David Kaufmann) 2009-09-21 10:43:22 +00:00
vumeter.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
wavplay.tex Manual: A few more spelling corrections. 2011-08-09 14:39:32 +00:00
winshortcuts.tex Add support for Windows shortcuts (*.lnk files) 2019-08-11 22:26:49 +02:00
wolf3d.tex Wolfenstein 3-D! 2019-07-09 11:20:55 -04:00
wormlet.tex plugins: Improve usability of iPod keymaps 2022-12-29 04:39:22 +01:00
xobox.tex chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
xrick.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00
xworld.tex Remove Creative Zen Vision and Vision:M ports 2026-02-06 07:31:54 -05:00
zxbox.tex rgnano: Add manual code and missing AB reset mappings 2025-08-01 22:32:19 -04:00