mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 08:33:12 -05:00
2.5 KiB
2.5 KiB
libSceJpegDec technical debt
Unknown function info
- sceJpegDecDecodeWithInputControl (libSceJpegDec) - its name and NID are in the PS5 3.20 export inventory, but no credible prototype was found. It is declared without parameters solely to resolve known imports; this is not an ABI claim
- libSceJpegDec (libSceJpegDec) - structure layouts follow OpenOrbis
jpeg.hand SharpProsperoJpegDec.cs; attributes 1 and 2 are the values SharpProspero'sJpegImage.cspasses. Error codes, creation validation, 32-byte handle alignment and the attribute/width-dependent work-memory size are confirmed by the native exports. Image info always reports color space 3, suitable CSC attribute 1 and zero component ids and sampling factors; the console's values, including which images it reports attribute 2 for, are unknown. The coefficient memory size is 0 because the host decoder needs no coefficient buffer; the size the console reports for progressive images is unknown. the output-width limit, aligned output address, pitch, alpha and option validation are confirmed by native checks, and the packedwidth << 16 | heightdecode result is confirmed by the native export
Functional
- libSceJpegDec (libSceJpegDec) - decode mode 1 and pixel formats 9, 10 and 11 throw; invalid modes and down scales return the native invalid-parameter error, as does a down scale of 2, 4 or 8 on a CMYK or YCCK image, which libjpeg-turbo cannot decode to RGB. The down scale factors are the ones SharpProspero
JpegDec.csdocuments; the output size is the source size divided by the factor and rounded up, and the pixels come from libjpeg-turbo's scaled inverse DCT. The native ceiling division and packed scaled output dimensions are confirmed; exact decoded pixel values remain unverified