-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
This should be a part of the public API.
int convertEncodeFlagStringToValue(string s)
{
if (s in allEncodeFlags)
return allEncodeFlags[s];
else
throw new Exception("Unknown encode flag: " ~ s);
}
// Note: keep in sync with types.d
enum allEncodeFlags = buildEncodeFlags();
int[string] buildEncodeFlags()
{
int[string] flags =
[
"ENCODE_NORMAL": 0,
"ENCODE_PNG_COMPRESSION_DEFAULT": 0,
"ENCODE_PNG_COMPRESSION_FAST": 2,
"ENCODE_PNG_COMPRESSION_SMALL": 10,
"ENCODE_PNG_COMPRESSION_0": 1,
"ENCODE_PNG_COMPRESSION_1": 2,
"ENCODE_PNG_COMPRESSION_2": 3,
"ENCODE_PNG_COMPRESSION_3": 4,
"ENCODE_PNG_COMPRESSION_4": 5,
"ENCODE_PNG_COMPRESSION_5": 6,
"ENCODE_PNG_COMPRESSION_6": 7,
"ENCODE_PNG_COMPRESSION_7": 8,
"ENCODE_PNG_COMPRESSION_8": 9,
"ENCODE_PNG_COMPRESSION_9": 10,
"ENCODE_PNG_COMPRESSION_10": 11,
"ENCODE_PNG_FILTER_DEFAULT": 0,
"ENCODE_PNG_FILTER_SMALL": 0,
"ENCODE_PNG_FILTER_FAST": (1 << 4),
"ENCODE_SQZ_QUALITY_DEFAULT": 0,
"ENCODE_SQZ_QUALITY_BPP1_0": 0x20 << 5,
"ENCODE_SQZ_QUALITY_BPP1_25": 0x28 << 5,
"ENCODE_SQZ_QUALITY_BPP1_5": 0x30 << 5,
"ENCODE_SQZ_QUALITY_BPP1_75": 0x38 << 5,
"ENCODE_SQZ_QUALITY_BPP2_0": 0x40 << 5,
"ENCODE_SQZ_QUALITY_BPP2_25": 0x48 << 5,
"ENCODE_SQZ_QUALITY_BPP2_5": 0x50 << 5, // if you want to beat guetzli this is alright
"ENCODE_SQZ_QUALITY_BPP2_75": 0x58 << 5,
"ENCODE_SQZ_QUALITY_MAX": 0xff << 5,
];
return flags;
}
Metadata
Metadata
Assignees
Labels
No labels