colorsync-perf: Support specifying input and output profiles
diff --git a/util/colorsync-perf.c b/util/colorsync-perf.c
index 2878c0e..fb1fd6d 100644
--- a/util/colorsync-perf.c
+++ b/util/colorsync-perf.c
@@ -5,12 +5,17 @@
#define BITMAP_INFO (kCGBitmapByteOrder32Big | kCGImageAlphaNoneSkipLast)
-int main() {
+int main(int argc, char **argv) {
int width = 256;
int height = 256*256;
-
- CGDataProviderRef input_file = CGDataProviderCreateWithFilename("input.icc");
- CGDataProviderRef output_file = CGDataProviderCreateWithFilename("output.icc");
+ char *input_profile_file = "input.icc";
+ char *output_profile_file = "output.icc";
+ if (argc >= 3) {
+ input_profile_file = argv[1];
+ output_profile_file = argv[2];
+ }
+ CGDataProviderRef input_file = CGDataProviderCreateWithFilename(input_profile_file);
+ CGDataProviderRef output_file = CGDataProviderCreateWithFilename(output_profile_file);
float range[] = {0, 1., 0, 1., 0, 1.};
CGColorSpaceRef output_profile = CGColorSpaceCreateICCBased(3, range, output_file, NULL);
CGColorSpaceRef input_profile = CGColorSpaceCreateICCBased(3, range, input_file, NULL);