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

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

Issue 1734423002: [qcms] Fix build issue of qcms_tests for MIPS Linux (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added BUILD.gn and addressed comments. Created 4 years, 9 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/qcms.gyp ('k') | no next file » | 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 // External qcms tetra clut interpolators. 14 // External qcms tetra clut interpolators.
15 15
16 extern void qcms_transform_data_tetra_clut_rgba(qcms_transform *transform, 16 extern void qcms_transform_data_tetra_clut_rgba(qcms_transform *transform,
17 unsigned char *src, 17 unsigned char *src,
18 unsigned char *dest, 18 unsigned char *dest,
19 size_t length, 19 size_t length,
20 qcms_format_type output_format); 20 qcms_format_type output_format);
21 21
22 #ifdef SSE2_ENABLE
22 extern void qcms_transform_data_tetra_clut_rgba_sse2(qcms_transform *transform, 23 extern void qcms_transform_data_tetra_clut_rgba_sse2(qcms_transform *transform,
23 unsigned char *src, 24 unsigned char *src,
24 unsigned char *dest, 25 unsigned char *dest,
25 size_t length, 26 size_t length,
26 qcms_format_type output_for mat); 27 qcms_format_type output_for mat);
28 #else
29 void qcms_transform_data_tetra_clut_rgba_dummy(qcms_transform *transform,
30 unsigned char *src,
31 unsigned char *dest,
32 size_t length,
33 qcms_format_type output_format)
34 {
35 (void)(transform);
36 (void)(src);
37 (void)(dest);
38 (void)(length);
39 (void)(output_format);
40 }
41 #endif
27 42
28 static float *create_lut(size_t lutSize) 43 static float *create_lut(size_t lutSize)
29 { 44 {
30 float *lut = malloc(lutSize * sizeof(float)); 45 float *lut = malloc(lutSize * sizeof(float));
31 size_t i; 46 size_t i;
32 47
33 for (i = 0; i < lutSize; ++i) { 48 for (i = 0; i < lutSize; ++i) {
34 lut[i] = (rand() & 255) * (1.0f / 255.0f); 49 lut[i] = (rand() & 255) * (1.0f / 255.0f);
35 } 50 }
36 51
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 for (i = 0; i < iterations; ++i) { 131 for (i = 0; i < iterations; ++i) {
117 unsigned char *src0 = (unsigned char *)calloc(length, pixel_size); 132 unsigned char *src0 = (unsigned char *)calloc(length, pixel_size);
118 unsigned char *src1 = (unsigned char *)calloc(length, pixel_size); 133 unsigned char *src1 = (unsigned char *)calloc(length, pixel_size);
119 unsigned char *dst0 = (unsigned char *)calloc(length, pixel_size); 134 unsigned char *dst0 = (unsigned char *)calloc(length, pixel_size);
120 unsigned char *dst1 = (unsigned char *)calloc(length, pixel_size); 135 unsigned char *dst1 = (unsigned char *)calloc(length, pixel_size);
121 136
122 generate_source_uint8_t(src0, length, pixel_size); 137 generate_source_uint8_t(src0, length, pixel_size);
123 memcpy(src1, src0, length * pixel_size); 138 memcpy(src1, src0, length * pixel_size);
124 139
125 #define TRANSFORM_TEST0 qcms_transform_data_tetra_clut_rgba 140 #define TRANSFORM_TEST0 qcms_transform_data_tetra_clut_rgba
141 #ifdef SSE2_ENABLE
126 #define TRANSFORM_TEST1 qcms_transform_data_tetra_clut_rgba_sse2 142 #define TRANSFORM_TEST1 qcms_transform_data_tetra_clut_rgba_sse2
143 #else
144 #define TRANSFORM_TEST1 qcms_transform_data_tetra_clut_rgba_dummy
145 #endif
127 146
128 TIME(TRANSFORM_TEST0(&transform0, src0, dst0, length, format), &time0); 147 TIME(TRANSFORM_TEST0(&transform0, src0, dst0, length, format), &time0);
129 TIME(TRANSFORM_TEST1(&transform1, src1, dst1, length, format), &time1); 148 TIME(TRANSFORM_TEST1(&transform1, src1, dst1, length, format), &time1);
130 149
131 if (!validate(dst0, dst1, length, 0, pixel_size)) { 150 if (!validate(dst0, dst1, length, 0, pixel_size)) {
132 fprintf(stderr, "Invalid transform output: %d diffs\n", diffs); 151 fprintf(stderr, "Invalid transform output: %d diffs\n", diffs);
133 } 152 }
134 153
135 free(src0); 154 free(src0);
136 free(src1); 155 free(src1);
(...skipping 15 matching lines...) Expand all
152 free(lut1); 171 free(lut1);
153 172
154 return diffs; 173 return diffs;
155 } 174 }
156 175
157 struct qcms_test_case qcms_test_tetra_clut_rgba_info = { 176 struct qcms_test_case qcms_test_tetra_clut_rgba_info = {
158 "qcms_test_tetra_clut_rgba", 177 "qcms_test_tetra_clut_rgba",
159 qcms_test_tetra_clut_rgba, 178 qcms_test_tetra_clut_rgba,
160 QCMS_TEST_DISABLED 179 QCMS_TEST_DISABLED
161 }; 180 };
OLDNEW
« no previous file with comments | « third_party/qcms/qcms.gyp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698