mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 08:33:12 -05:00
2.4 KiB
2.4 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. The error codes are libScePngDec's: no reference lists the JpegDec ones, and SharpProspero raises 0x80650020 on its JpegDec path where it raises libScePngDec's 0x80690020 on its PngDec path. 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.max_image_widthis not checked, and the packedwidth << 16 | heightdecode result is libScePngDec's
Functional
- libSceJpegDec (libSceJpegDec) - decode modes other than 0 and down scales other than 1, 2, 4 and 8 throw, 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 console's rounding, pixel values and the packed decode result for a down-scaled image (the output size here) are unverified