| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #include <stdlib.h>
- #include "qcms.h"
- #include "sum.h"
- int main()
- {
- unsigned char srct[3] = { 221, 79, 129};
- unsigned char outt[3];
- #define LENGTH 256*256*256
- static unsigned char src[LENGTH*3];
- static unsigned char output[LENGTH*3];
- int i,j,k,l=0;
- qcms_profile *input_profile, *output_profile;
- qcms_transform *transform;
- input_profile = qcms_profile_from_path("lcms_test/input.icc");
- output_profile = qcms_profile_from_path("lcms_test/output.icc");
- transform = qcms_transform_create(input_profile, QCMS_DATA_RGB_8, output_profile, QCMS_DATA_RGB_8, QCMS_INTENT_PERCEPTUAL);
- //transform = qcms_create_transform(output_profile, input_profile);
- for (i=0; i<256; i++) {
- for (j=0; j<256; j++) {
- for (k=0; k<256; k++) {
- src[l++] = i;
- src[l++] = j;
- src[l++] = k;
- }
- }
- }
- qcms_transform_data(transform, srct, outt, 1);
- qcms_transform_data(transform, src, output, LENGTH);
- for (i=256*40*3; i<30+256*40*3; i+=3) {
- printf("(%d %d %d) -> output (%d %d %d)\n", src[i], src[i+1], src[i+2],
- output[i],
- output[i+1],
- output[i+2]);
- }
- qcms_transform_release(transform);
- qcms_profile_release(input_profile);
- qcms_profile_release(output_profile);
- if (sum(output, LENGTH*3) != 0xca89c51c) {
- printf("DATA CHANGED: %lx\n", sum(output, LENGTH*3));
- abort();
- }
- return 0;
- }
|