-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Tools: Port refraction's bulk compression script to Python #11574
base: master
Are you sure you want to change the base?
Conversation
5d7df91
to
a93a105
Compare
a93a105
to
1fbae58
Compare
cd96ba3
to
77843da
Compare
acc04c0
to
1251bfc
Compare
1251bfc
to
8264626
Compare
case _: | ||
print("You definitely should not be here right now.") | ||
sys.exit(1) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’ve been using createdvd
with my games. Just wondering why createraw
is used here - is there a benefit, or much of a muchness?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I made the script before createdvd was an option, but also I find createraw tends to give slightly better compression, from my own tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also they share similar options, createraw has more versatility in the way it has more options like createdvd doesn't have No --unitsize Option:'
Both have the same compression types (default is lzma,zlib,huff,flac).
But with createdvd you can easier give the correct hunksize. Createraw will default to correct one but you can change to whatever for more or less compression.
Generally looking at the options they do have the same compression powers just differently handled with the code logic.
Is there any way to modify the compression judgment condition of chdman? According to my observation, when chdman currently selects multiple compression algorithms for mixed compression, the final compression algorithm is only roughly judged based on the final block size.This will give the smallest final chd size, but it's not smart enough. |
Description of Changes
Converts refraction's bulk compression script which was presented as a Windows-only batch file into a cross-platform Python script.
Rationale behind Changes
Makes the tool cross-platform, putting Windows, Linux, and macOS users (freeBSD?) on a more equal footing and allowing us to ship the tool with PCSX2 instead of tucked away in Red's PCloud.
Suggested Testing Steps
Try all 9 options and try them with and without deleting source items as well as different block sizes if compressing. Presently needs tested on all three major OSes, and it may work in freeBSD, but there's no guarantee at all for that. Until it has been properly tested by multiple people, USE THIS IN A CONTROLLED TESTING ENVIRONMENT WITH JUST A FEW FILES WHICH YOU HAVE BACKED UP ELSEWHERE.