Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Zstandard support for zip archives and CHDs #1613

Open
crashGG opened this issue Dec 11, 2023 · 6 comments
Open

[Feature Request] Zstandard support for zip archives and CHDs #1613

crashGG opened this issue Dec 11, 2023 · 6 comments

Comments

@crashGG
Copy link
Contributor

crashGG commented Dec 11, 2023

In a recent update, mame added zstd encoding/decoding support for zip and chd.
mamedev/mame@05e69b4

The compression rate of zstd is between deflate/zlib and lzma,but decompression speed is faster ,somtimes even than direct copying
https://mcmilk.de/projects/7-Zip-zstd/dl/compr-v120.png
https://mcmilk.de/projects/7-Zip-zstd/dl/decomp-v120.png

Fast decompression means efficiency and low CPU overhead. This benefits all players and low-end devices.

@finalburnneo finalburnneo deleted a comment Dec 11, 2023
@litaniast
Copy link

fbneo doesn't support chd at all.

@barbudreadmon
Copy link
Collaborator

@crashGG Sorry for the late answer, it seems i totally overlooked this issue.
Tbh, i want to say no here, mostly due to compiler backward compatibility concerns.

@crashGG
Copy link
Contributor Author

crashGG commented Mar 1, 2024

In addition to mame, many emulators have recently added zstd decoding support. This seems to be a trend.
PCSX2:
PCSX2/pcsx2#10826
duckstation
stenzek/duckstation@0e6a9f6
flycast:
flyinghead/flycast#1402
PPSSPP:
hrydgard/ppsspp#18824
melonDS:
melonDS-emu/melonDS#1667

@barbudreadmon
Copy link
Collaborator

A few weeks ago, i've seen the maintainer of the mame libretro core complaining about that stuff, he couldn't build it with the standard libretro buildbot because it was apparently too outdated.

Is any of those emulators you are talking about available on winxp, 3ds, psvita, wiiu, ps3, ... ?
Also, while it does make some sense to worry about this for emulators that read discs at runtime, or load extremely big archives at launch, FBNeo doesn't really do any of that.
I don't really see the point of dropping support for multiple platforms, only to shorten already fairly short loading time.

@crashGG
Copy link
Contributor Author

crashGG commented Mar 26, 2024

Maybe could consider trying to add for libretro port, which runs more on modern computer and operating systems

@Aerocatia
Copy link

Igor Pavlov has written his own zstandard decoder for 7-zip for the reason of supporting old compilers (7-zip itself is compiled with VS2005)
The code is not out yet as he does not post code for 7-zip betas, but when it does release it might be worth looking at using that.
License might end up being PD or LGPL, depends on what he uses. His LZMA code is PD.
zstandard-zip is a decent enough format.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants