Henrik Rydgård and Claude Opus 5
00770764a7
Run the real mpeg.prx in place of our sceMpeg HLE
...
Add flash0:/kd/mpeg.prx to the sceUtility module swap, hung off av_mpegbase,
so it loads when DisableHLEFlags::sceMpeg is set. Games that ship their own
sceMpeg_library on the disc never get here and just use theirs.
The piece that was missing to make it work: the access unit address mpeg.prx
passes to sceVideocodecDecode is in Media Engine space, which we can't read.
On hardware sceMpegBasePESpacketCopy DMA'd the payload there first. That copy
is ours, so it now gathers the blocks and sceVideocodec decodes from those,
falling back to main memory for any caller that points at it directly. The
gather is keyed by destination, because that call carries the audio payload
too - video to an ME address, audio to main memory - and handing an ATRAC
packet to the H.264 decoder gets you nothing.
With that, video/mpeg/basic gets a 144x80 frame out of real Sony code driving
our sceVideocodec through ffmpeg. The test still fails overall, as it did
before this branch - it is in tests_next.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-12 12:53:13 -06:00
..
2026-09-10 17:03:07 -06:00
2026-09-10 17:03:07 -06:00
2025-07-22 17:48:20 +02:00
2026-09-09 08:53:46 -06:00
2025-07-22 17:48:20 +02:00
2026-08-12 14:06:16 +02:00
2025-07-22 17:48:20 +02:00
2026-01-08 22:02:08 +01:00
2026-09-10 17:03:07 -06:00
2026-09-12 11:11:41 -06:00
2026-09-08 15:32:14 -06:00
2026-08-16 16:59:52 +02:00
2026-08-16 16:59:52 +02:00
2026-09-12 12:53:13 -06:00
2026-08-11 10:28:36 +02:00
2026-09-05 10:09:46 +03:00
2026-09-04 18:10:10 -06:00
2025-03-31 11:17:50 +02:00
2025-07-02 00:02:33 +03:00
2025-07-02 01:30:21 +03:00
2026-08-10 10:04:21 +02:00
2025-08-06 17:44:54 +02:00
2026-05-02 11:07:34 +02:00
2025-06-13 23:29:49 +02:00
2026-09-06 14:11:18 +02:00
2026-09-04 13:10:54 -06:00
2026-01-18 23:40:13 +02:00
2025-03-31 10:24:03 +02:00
2026-08-16 16:59:52 +02:00
2026-02-17 09:40:27 +01:00
2026-09-10 15:52:53 -06:00
2025-07-20 19:30:35 +02:00
2025-03-31 11:17:50 +02:00
2026-09-11 21:09:33 -06:00
2026-08-12 14:06:16 +02:00
2025-06-25 11:34:07 +02:00
2026-09-10 17:03:07 -06:00
2026-09-10 17:03:07 -06:00
2026-09-07 12:20:18 -06:00
2026-09-07 12:20:18 -06:00
2025-03-31 11:17:50 +02:00
2025-03-31 11:17:50 +02:00
2026-08-24 17:37:39 +02:00
2026-08-21 10:56:06 +02:00
2026-08-12 14:06:16 +02:00
2025-06-05 22:46:24 +02:00
2026-08-24 10:58:34 +02:00
2026-08-24 10:58:34 +02:00
2026-08-12 14:06:16 +02:00
2026-09-11 21:09:33 -06:00
2026-08-18 13:42:13 +02:00
2026-08-18 13:42:13 +02:00
2026-08-16 16:59:52 +02:00
2026-09-11 21:09:33 -06:00
2026-09-11 21:09:33 -06:00
2025-03-31 11:17:50 +02:00
2025-04-03 22:39:14 +02:00
2026-08-12 14:06:16 +02:00
2026-02-09 14:35:32 +01:00
2026-08-11 20:12:10 +02:00
2026-09-11 21:09:33 -06:00
2026-09-09 14:43:39 -06:00
2026-08-19 18:38:03 +02:00
2026-09-10 15:52:53 -06:00
2025-08-06 00:16:34 +02:00
2026-09-10 15:25:47 -06:00
2026-08-19 18:38:03 +02:00
2026-09-10 09:52:01 -06:00
2026-04-28 16:27:12 +02:00
2026-08-12 14:06:16 +02:00
2026-09-12 12:53:13 -06:00
2026-08-24 10:58:34 +02:00
2026-09-04 18:10:10 -06:00
2026-09-04 18:10:10 -06:00
2026-08-17 16:01:23 +02:00
2026-09-10 17:02:50 -06:00
2026-09-04 18:10:10 -06:00
2026-09-04 18:10:10 -06:00
2026-09-10 09:52:01 -06:00
2026-07-25 14:53:02 +02:00
2026-09-12 11:11:41 -06:00
2026-09-12 11:11:41 -06:00
2026-09-10 09:52:01 -06:00
2026-08-17 16:01:23 +02:00
2026-09-04 18:10:10 -06:00
2026-08-17 16:01:23 +02:00
2026-09-04 18:10:10 -06:00
2026-09-08 11:15:15 -06:00
2026-09-08 15:18:02 -06:00
2026-09-08 15:18:02 -06:00
2026-08-12 14:06:16 +02:00
2023-12-09 18:08:19 +01:00
2026-08-11 22:27:44 +02:00
2026-09-08 15:18:02 -06:00
2026-09-11 21:09:33 -06:00
2026-09-07 09:18:02 -06:00
2025-07-20 19:32:05 +02:00
2025-03-31 11:17:50 +02:00
2025-02-14 09:50:55 -06:00
2026-09-12 12:53:13 -06:00
2026-09-12 11:52:09 -06:00
2026-09-12 12:53:13 -06:00
2026-09-12 12:53:13 -06:00
2026-08-12 14:06:16 +02:00
2026-09-11 21:09:33 -06:00
2026-08-12 14:06:16 +02:00
2025-02-12 16:49:43 +03:00
2026-09-10 15:52:53 -06:00
2025-08-06 00:16:34 +02:00
2026-08-12 14:06:16 +02:00
2026-04-23 11:12:58 +02:00
2026-08-12 14:06:16 +02:00
2025-07-01 19:56:09 +03:00
2025-01-21 12:22:32 +01:00
2025-01-21 12:22:32 +01:00
2026-09-10 15:52:53 -06:00
2025-01-21 12:22:32 +01:00
2026-08-11 20:14:01 +02:00
2025-04-07 22:16:32 +02:00
2026-08-12 14:06:16 +02:00
2025-01-09 09:06:23 +01:00
2026-08-12 14:06:16 +02:00
2025-01-21 17:41:53 +01:00
2025-03-31 11:17:50 +02:00
2026-08-11 10:28:36 +02:00
2026-08-11 10:28:47 +02:00
2026-09-11 21:09:33 -06:00
2025-08-15 16:35:25 +02:00
2026-09-11 21:09:33 -06:00
2026-08-11 10:28:47 +02:00
2026-08-24 17:37:39 +02:00
2026-08-19 18:38:03 +02:00
2026-08-24 09:30:44 +02:00
2025-04-14 22:38:22 +02:00
2026-09-08 11:15:15 -06:00
2026-09-08 11:15:15 -06:00
2026-09-10 15:30:03 -06:00
2025-04-03 14:13:50 +02:00
2026-08-24 12:15:31 +02:00
2026-08-24 11:12:59 +02:00
2026-09-09 14:43:39 -06:00
2026-08-19 18:38:03 +02:00
2026-09-09 10:48:53 -06:00
2025-04-12 11:35:55 +02:00
2025-03-31 11:17:50 +02:00
2026-09-11 21:09:33 -06:00
2025-03-31 11:17:50 +02:00
2026-09-11 21:09:33 -06:00
2025-03-31 11:17:50 +02:00
2024-01-12 20:29:53 +02:00
2026-08-11 20:14:01 +02:00
2026-09-10 15:52:53 -06:00
2025-02-04 11:53:22 -06:00
2026-09-04 18:10:10 -06:00
2025-03-31 11:17:50 +02:00
2026-08-08 18:18:28 +02:00
2025-03-31 11:17:50 +02:00
2024-01-05 11:22:52 +02:00
2026-08-21 10:32:21 +02:00
2024-10-15 15:30:37 +02:00
2026-09-12 12:53:13 -06:00
2025-11-04 11:48:47 +01:00
2026-09-10 17:03:07 -06:00
2026-09-12 12:53:13 -06:00
2026-09-12 12:53:13 -06:00
2026-08-24 10:58:34 +02:00
2026-08-24 10:58:34 +02:00
2025-01-22 10:12:56 +01:00
2025-01-22 10:12:56 +01:00
2024-09-17 11:34:42 +02:00