AnyPS5/core/libs/prx/libSceAvPlayer
Angel b6f42c75d8 fix(avplayer): read the PS5 SceAvPlayerInitDataEx layout
PS5 titles pass a 0x230-byte SceAvPlayerInitDataEx: auto start is the
byte after debug_level at 0x74, nine 0x30-byte thread parameter blocks
fill 0x78-0x228 and the output video frame buffer count is at 0x228.
sceAvPlayerInitEx read both fields at their PS4 offsets: auto start at
0xa8 is the video decoder thread priority and the buffer count at 0xa4
lies in the audio decoder block. PPSA25063 (Poppy Playtime: Chapter 4)
sets every thread priority to 700, so its intro video started on its
own and stopped at once; it writes auto start 0 and starts playback
itself.

With this_size 0x230 or more both fields are read at the PS5 offsets;
smaller structures are read as before. The layout follows KytyPS5,
prosper, SharpProspero and sharpemu and is recorded in TechnicalDebt.

guest_avplayer builds a 0x230-byte structure with auto start 0 and
nonzero thread parameters, then with auto start 1, and checks when
playback starts and how many video buffers are allocated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 12:14:01 +02:00
..
include feat(avplayer): decode H.264 and AAC with FFmpeg 2026-10-03 08:10:55 +13:00
src fix(avplayer): deliver the frame at a jump while paused 2026-10-06 15:20:51 +02:00
AvPlayerLibrary.cmake refactor(libSceAvPlayer): build libSceAvPlayer.native from the shared Export.cpp 2026-10-07 06:19:46 +00:00
CMakeLists.txt build(libs): strip the MinGW static runtime flags once for all libraries 2026-10-07 10:10:38 +00:00
Export.cpp fix(avplayer): read the PS5 SceAvPlayerInitDataEx layout 2026-10-09 12:14:01 +02:00