mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 00:22:57 -05:00
1.5 KiB
1.5 KiB
libSceVdecsw technical debt
Unknown function info
- libSceVdecsw (libSceVdecsw) - structure layouts follow shadPS4's
vdecsw.hand were checked against PPSA05684's movie decoder (movie-decoder-vdecsw.cpp), which assertspictureCount == 1at offset 0xb ofOutputInfoand readsInputResultoffset 0x10 as the number of frames an access unit produced. The compute, decoder memory and decode input structures and the first 0x28 bytes of the 0x50-byte decoder config are those of libSceVideodec2, and decoding goes through it. The 0x78-byte AVC picture info is filled with Videodec2's leading fields and the cropping fields only. OUTPUT_PENDING (0x81510115), INPUT_QUEUE_EMPTY (0x81510116) and DECODE_PENDING (0x81510117) follow from the codes each call's assert accepts. At most four decoded pictures are queued and the last one is held untilsceVdecswFinalizeDecodeSequence; the console's queue depth is unknown.sceVdecswSyncDecodeInput/sceVdecswSyncDecodeOutputretry the TrySync variants until they stop returning DECODE_PENDING / OUTPUT_PENDING; they do not sleep beyond a yield, so another thread must drain outputs when the picture queue is full.sceVdecswGetHevcPictureInfostill throws: the 0xb8-byte HEVC picture layout is in shadPS4'svdecsw.h, but this wrapper only keeps AVC picture info from Videodec2
Functional
- sceVdecswGetHevcPictureInfo (libSceVdecsw) - throws until HEVC picture info is filled from the decoder