Commit graph

57 commits

Author SHA1 Message Date
Unknown W. Brackets
af28a3d497 Jpeg: Correct colorspace conversion funcs.
For non-mjpeg, the height and width are halved, and more sampling modes
are supported.  This also checks for invalid pointers and notifies the
debugger.

The exact YCbCr->RGBA conversion is not accurate, but it writes in the
correct places now.  MJpeg is still a bit off.
2022-10-08 12:20:41 -07:00
Unknown W. Brackets
159d4ed4a3 Jpeg: Decode buffers using configured stride.
Previously, it was assumed that the stride was the nearest power of two,
but it's actually the Create width.
2022-10-08 12:20:41 -07:00
Unknown W. Brackets
dc18b6cf80 Jpeg: Improve error handling for YCbCr decode.
This also fixes a crash on invalid output pointer.
2022-10-08 12:20:41 -07:00
Unknown W. Brackets
95d40cc09f Jpeg: Retain previous width/height.
Seems to be reused even after Delete, strangely.
2022-10-08 12:20:41 -07:00
Unknown W. Brackets
bcee6c0310 Jpeg: Improve timing/errors for GetOutputInfo. 2022-10-07 23:22:54 -07:00
Unknown W. Brackets
7f87cd077a Jpeg: Play it safe with load/unload handling. 2022-10-07 00:24:19 -07:00
Unknown W. Brackets
0931b343c2 Jpeg: Validate CreateMJpeg() parameters. 2022-10-07 00:16:30 -07:00
Unknown W. Brackets
62fe178608 Jpeg: Cleanup Init/Finish error checks. 2022-10-06 22:45:18 -07:00
Henrik Rydgård
e6403d7157 Split GetPointer into two versions, to help with const correctness 2022-07-24 13:26:19 +02:00
Unknown W. Brackets
2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
aliaspider
9a3e5879bb Global: Correct many endian types and casts. 2021-02-18 22:25:24 -08:00
Henrik Rydgård
9e41fafd0d Move math and some file and data conversion files out from native to Common.
Buildfixing

Move some file util files

Buildfix

Move KeyMap.cpp/h to Core where they belong better.

libretro buildfix attempt

Move ini_file

More buildfixes
2020-10-04 09:12:46 +02:00
Unknown W. Brackets
b8342fb8ec SaveState: Rename ChunkFile files to Serialize.
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets
4b4e3432cd SaveState: Split Do() into a separate header. 2020-08-10 08:03:41 +00:00
Henrik Rydgård
a17fe334a1 MJPEG in sceJpeg: Notify the framebuffer manager that there's been a picture written to memory. Fixes part of #8521 2019-08-26 18:26:52 +02:00
Henrik Rydgård
402b6b2457 Improve some logging (%08x for addresses) 2019-08-26 18:26:52 +02:00
LunaMoo
f10c9dfd8c Initialize pspWidth and increase the max size. 2017-06-01 16:52:36 +02:00
LunaMoo
7cee37c4e8 Needs to be square! O.o 2017-06-01 13:46:33 +02:00
LunaMoo
17d8eb19c5 Fix jpeg's with width not matching psp buffer size. 2017-06-01 13:31:25 +02:00
LunaMoo
0cdd55f450 Implement sceJpegDecodeMJpeg & sceJpegDecodeMJpegSuccessively 2017-05-31 18:46:19 +02:00
Unknown W. Brackets
e0f85a9c6b Native merge part 1: skip native/ in includes. 2015-09-06 12:19:33 -07:00
Unknown W. Brackets
fcf0518223 Update all the HLE tables with arg and ret info. 2015-03-22 20:51:55 -07:00
Henrik Rydgard
240ebcb085 Fix memory leaks in sceJpeg 2014-12-31 15:34:50 +01:00
Lioncash
4ccb838306 Core: Mark some module functions as static 2014-12-08 04:40:08 -05:00
Unknown W. Brackets
05ab192c9c Reduce includes in Core/HLE/.
Especially templates.
2014-03-15 11:22:19 -07:00
Henrik Rydgard
006d28161d Restore some log levels of actually unimpl functions 2014-02-10 09:55:18 +01:00
raven02
64e36bbf10 Change log level to DEBUG_LOG 2014-02-10 11:29:43 +08:00
raven02
5557571c86 sceJpeg(): code cleanup and some additions 2014-02-09 00:09:25 +08:00
sum2012
a2521ad01f Fix MHP3 Chinese version crash in scempeg and scejpeg 2014-02-04 08:00:29 +08:00
Henrik Rydgård
79ff2f0ba8 Start untangling our include mess a little. 2013-12-29 23:34:45 +01:00
Unknown W. Brackets
21c617a7be Correct some syscall names. 2013-12-02 23:40:16 -08:00
Henrik Rydgård
ba0b9707ad Merge pull request #4218 from shenweip/Log
Change some log level.
2013-11-01 10:56:55 -07:00
Sacha
ecfe43c149 CityHash is not used anymore, so we won't compile it. 2013-10-28 03:26:00 +10:00
shenweip
e7601b4399 Change some log level. 2013-10-17 11:57:55 +08:00
shenweip
4ac4ea38dd Rename __JpegDecodeMJpegYCbCr to __JpegConvertRGBToYCbCr. 2013-10-05 08:40:55 +08:00
shenweip
54492732b5 Rename u24 to u24_be. 2013-10-05 02:52:33 +08:00
shenweip
d8f1ddd6fa Implemented sceJpegMJpegCsc. 2013-10-05 01:18:13 +08:00
shenweip
a7f7d64f31 More work in sceJpegDecodeMJpegYCbCr. 2013-10-05 01:04:41 +08:00
shenweip
b1f81999fa Fix someting wrong. 2013-10-05 00:04:51 +08:00
The Dax
1788a56964 Fix Visual Studio 2013 build. 2013-09-18 12:02:49 -04:00
shenweip
6bcf1705ec Typo 2013-09-18 18:19:08 +08:00
shenweip
440b6197d7 Change DEBUG_LOG_REPORT to DEBUG_LOG and change internal funcs name as @unknownbrackets 's advice 2013-09-18 16:19:05 +08:00
shenweip
a794f1536e Add a DEBUG_LOG_REPORT in sceJpegCsc 2013-09-18 14:07:58 +08:00
shenweip
1badbe502c Implemented sceJpegCsc,finally Monster Hunter 3rd'video works. 2013-09-18 14:07:21 +08:00
Unknown W. Brackets
50e9e45d65 Check version in each DoState() func.
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Henrik Rydgard
8c88dff5a4 More log categories, use them (and existing ones). Improve log config. 2013-09-07 22:02:55 +02:00
CPkmn
1cf0b62e70 Try fixing sceJpegGetOutputInfo again
I guess the colour info address isn't supposed to be updated if the jpeg errors out, or I think so based on reports from the God Eater Burst thread in the forums. This shouldn't affect working jpegs since the address is still being updated before returning, just not if it errors out. If this doesn't work for the save from the forums, it would have never worked in PPSSPP builds up to today (it basically makes the function _only_ return null without updating the colour address, making it the equivalent of the only implementation other than mine, which was a stub, if it errors out). The previous commit I made worked in the Japanese version, but still bounced back in the US version (wtf?).
2013-08-07 16:39:42 -07:00
CPkmn
76dbd9c22b Fix sceJpegGetOutputInfo
Return better responses for errors (should allow weird God Eater Burst saves from real PSPs to not bounce back to the titlescreen). Not sure why some God Eater Burst saves would send bad jpeg data. The data sent through sceJpeg is supposed to be a normal jpeg (ie it should be perfectly viewable in photoshop or whatever image viewer/editor). The reason it doesn't send a good, decodable jpeg should still be researched but in the meantime let's not push users getting that error back to the titlescreen. Returning getYCbCrBufferSize(0, 0) on error seems like it would be more correct as well (or, at least God Eater Burst recognises that as an error unlike 0xC000...I didn't think that error code was right but no saves gave me bad jpeg data before).
2013-08-07 08:08:12 -07:00
Henrik Rydgard
1bf4239e97 State save support for sceJpeg. 2013-07-05 10:56:55 +02:00
Henrik Rydgard
d2b874436d Merge branch 'jpeg' of https://github.com/CPkmn/ppsspp into CPkmn-jpeg 2013-07-05 00:09:29 +02:00