mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-22 10:49:05 +02:00
As the firmware's DMACplus driver programs it (lowio.prx 6.61, sceDmacplus_driver_d126494b for AVC and 9c492b9b for VME, the same in 1.50's dmacplus.prx): eight source buffers at 0x120-0x13C (two half height sets), size in macroblocks and the mode at 0x140, two destinations at 0x144/0x148, stride and output format (0 8888, 1 565, 2 5551, 3 4444) at 0x14C, a Q3.7 matrix at 0x150-0x158 and the luma offset at 0x15C, whose default (0x110, 16) is the firmware's. Writing 0x160 runs it, and it finishes at once, with 0x04 bit 1 set. AVC sources are in the decoder's tiled layout (UntileYCbCr): interleaved into one destination they're the frame's even and odd rows, and going to two, each set is a picture of its own with its own chroma, as mcidclan's me-avc-csc-hd lays out its data. VME sources are planar. Not checked on hardware: 0x140 bits 1 and 2 (taken as chroma line replication and leaving out the second set, from mcidclan's samples) and 0x15C bit 8 (taken as offsetting chroma by 128). mcidclan's vme-hardware-csc, avc-csc-hd and vme-csc-hd-992x992 show their pictures. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>