Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Side by Side Diff: third_party/qcms/src/tests/qcms_test_main.c

Issue 1920253003: Revert of Reland: [qcms] Fix build_output_lut to return correct data for parametric curves (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/qcms/src/tests/Makefile ('k') | third_party/qcms/src/tests/qcms_test_output_trc.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the Chromium LICENSE file. 3 // found in the Chromium LICENSE file.
4 4
5 #include "qcms.h" 5 #include "qcms.h"
6 #include "qcms_test_util.h" 6 #include "qcms_test_util.h"
7 #include "timing.h" 7 #include "timing.h"
8 8
9 #include <math.h> 9 #include <math.h>
10 #include <stdio.h> 10 #include <stdio.h>
11 #include <stdlib.h> 11 #include <stdlib.h>
12 #include <string.h> 12 #include <string.h>
13 13
14 // Manually update the items below to add more tests. 14 // Manually update the items below to add more tests.
15 extern struct qcms_test_case qcms_test_tetra_clut_rgba_info; 15 extern struct qcms_test_case qcms_test_tetra_clut_rgba_info;
16 extern struct qcms_test_case qcms_test_munsell_info; 16 extern struct qcms_test_case qcms_test_munsell_info;
17 extern struct qcms_test_case qcms_test_internal_srgb_info; 17 extern struct qcms_test_case qcms_test_internal_srgb_info;
18 extern struct qcms_test_case qcms_test_ntsc_gamut_info; 18 extern struct qcms_test_case qcms_test_ntsc_gamut_info;
19 extern struct qcms_test_case qcms_test_output_trc_info;
20 19
21 struct qcms_test_case qcms_test[5]; 20 struct qcms_test_case qcms_test[4];
22 #define TEST_CASES (sizeof(qcms_test) / sizeof(qcms_test[0])) 21 #define TEST_CASES (sizeof(qcms_test) / sizeof(qcms_test[0]))
23 22
24 static void initialize_tests() 23 static void initialize_tests()
25 { 24 {
26 qcms_test[0] = qcms_test_tetra_clut_rgba_info; 25 qcms_test[0] = qcms_test_tetra_clut_rgba_info;
27 qcms_test[1] = qcms_test_munsell_info; 26 qcms_test[1] = qcms_test_munsell_info;
28 qcms_test[2] = qcms_test_internal_srgb_info; 27 qcms_test[2] = qcms_test_internal_srgb_info;
29 qcms_test[3] = qcms_test_ntsc_gamut_info; 28 qcms_test[3] = qcms_test_ntsc_gamut_info;
30 qcms_test[4] = qcms_test_output_trc_info;
31 } 29 }
32 30
33 static void list_tests() 31 static void list_tests()
34 { 32 {
35 int i; 33 int i;
36 printf("Available qcms tests:\n"); 34 printf("Available qcms tests:\n");
37 35
38 for (i = 0; i < TEST_CASES; ++i) { 36 for (i = 0; i < TEST_CASES; ++i) {
39 printf("\t%s\n", qcms_test[i].test_name); 37 printf("\t%s\n", qcms_test[i].test_name);
40 } 38 }
41 39
42 exit(EXIT_FAILURE); 40 exit(EXIT_FAILURE);
43 } 41 }
44 42
45 static void print_usage() 43 static void print_usage()
46 { 44 {
47 printf("Usage:\n\tqcms_test -w WIDTH -h HEIGHT -n ITERATIONS -t TEST\n"); 45 printf("Usage:\n\tqcms_test -w WIDTH -h HEIGHT -n ITERATIONS -t TEST\n");
(...skipping 20 matching lines...) Expand all
68 for (i = 0; i < TEST_CASES; ++i) { 66 for (i = 0; i < TEST_CASES; ++i) {
69 if (strcmp(qcms_test[i].test_name, args) == 0) { 67 if (strcmp(qcms_test[i].test_name, args) == 0) {
70 qcms_test[i].status = QCMS_TEST_ENABLED; 68 qcms_test[i].status = QCMS_TEST_ENABLED;
71 return 1; 69 return 1;
72 } 70 }
73 } 71 }
74 72
75 return 0; 73 return 0;
76 } 74 }
77 75
76 void generate_source_uint8_t(unsigned char *src, const size_t length, const size _t pixel_size)
77 {
78 size_t bytes = length * pixel_size;
79 size_t i;
80
81 for (i = 0; i < bytes; ++i) {
82 *src++ = rand() & 255;
83 }
84 }
85
78 int main(int argc, const char **argv) 86 int main(int argc, const char **argv)
79 { 87 {
80 int iterations = 1; 88 int iterations = 1;
81 size_t height = 2000; 89 size_t height = 2000;
82 size_t width = 2000; 90 size_t width = 2000;
83 int run_all = 0; 91 int run_all = 0;
84 const char *in = NULL, *out = NULL; 92 const char *in = NULL, *out = NULL;
85 int force_software = 0; 93 int force_software = 0;
86 int exit_status; 94 int exit_status;
87 int enabled_tests = 0; 95 int enabled_tests = 0;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 130
123 exit_status = 0; 131 exit_status = 0;
124 132
125 for (i = 0; i < TEST_CASES; ++i) { 133 for (i = 0; i < TEST_CASES; ++i) {
126 if (run_all || QCMS_TEST_ENABLED == qcms_test[i].status) 134 if (run_all || QCMS_TEST_ENABLED == qcms_test[i].status)
127 exit_status += qcms_test[i].test_fn(width, height, iterations, in, o ut, force_software); 135 exit_status += qcms_test[i].test_fn(width, height, iterations, in, o ut, force_software);
128 } 136 }
129 137
130 return exit_status; 138 return exit_status;
131 } 139 }
OLDNEW
« no previous file with comments | « third_party/qcms/src/tests/Makefile ('k') | third_party/qcms/src/tests/qcms_test_output_trc.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698