unknownbrackets / maxcso

Fast cso compressor
ISC License
390 stars 23 forks source link

[Request] CHD support #53

Closed DarkRB closed 2 years ago

DarkRB commented 2 years ago

CHD seems to offer some advantages compared to cso, and its gaining increasing addeption from emulators (as of 1.7.0 pcsx2 also supports CHD). It would be nice to see support for this format in maxcso. From this quote:

Some of the benefits the CHD support have: .-lossless compression .-15-18% better compression than pbp (this makes a bin cue uncompressed collection almost half its size) .-its a streamable format, it doesnt need to decompress, just play .-its increadibly easy to convert entire folders filled with uncompressed psx games with a batch file .-every disc turns into just one file .-supports redbook audio in flac compression .-its becoming the defacto standard for libretro cores with support in mame, saturn, pcengine/turbografx, segacd/megacd, psx beetle and future support for dreamcast (in a few days)

unknownbrackets commented 2 years ago

Well, this tool is dedicated to CSO, there are other tools for CHD. It seems like maybe there's only just one tool for CHD, but I suppose it's not very mature, after all.

I would think someone else, perhaps you, might just write a "maxchd" if you're so inclined.

Personally, I've found CHD to be dominated by some kind of hype machine - when I first heard about it, someone named all kinds of emulators it was implemented in. I looked at those (to see about implementing in PPSSPP), and it wasn't implemented at all. In fact, there were only requests from the same group of people - some claiming that PPSSPP itself already supported it.

Even later, someone again requested support and named features "PPSSPP would be getting" with CHD support... that it turned out were just future features someone might implement in CHD some day.

I'm not saying it's a terrible format (although it seems like with higher block sizes, it compresses about as well as CSO and just increases latency on read.) But it's almost like someone has tried to systematically make me uninterested in it.

Anyway, some of maxcso's design assumes files will be mode 1 and is more about "crunching" the zlib compression it uses. Doing that for lzma seems like it'd be massively slower, and really seems like a whole separate project.

-[Unknown]