1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/genericopenlibs/liboil/tsrc/testsuite/composite/src/composite.c Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,428 @@
1.4 +/*
1.5 +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
1.6 +* All rights reserved.
1.7 +* This component and the accompanying materials are made available
1.8 +* under the terms of "Eclipse Public License v1.0"
1.9 +* which accompanies this distribution, and is available
1.10 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +*
1.12 +* Initial Contributors:
1.13 +* Nokia Corporation - initial contribution.
1.14 +*
1.15 +* Contributors:
1.16 +*
1.17 +* Description:
1.18 +*
1.19 +*/
1.20 +
1.21 +
1.22 +#include <liboil/liboil.h>
1.23 +#include <liboil/liboilfunction.h>
1.24 +#include <stdio.h>
1.25 +#include <stdlib.h>
1.26 +
1.27 +#include <liboil/globals.h>
1.28 +
1.29 +#define LOG_FILE "c:\\logs\\testsuite_composite_log.txt"
1.30 +#include "std_log_result.h"
1.31 +#define LOG_FILENAME_LINE __FILE__, __LINE__
1.32 +
1.33 +#define SIZE 20
1.34 +
1.35 +void create_xml(int result)
1.36 +{
1.37 + if(result)
1.38 + assert_failed = 1;
1.39 +
1.40 + testResultXml("testsuite_composite");
1.41 + close_log_file();
1.42 +}
1.43 +
1.44 +void test_oil_composite_add_argb()
1.45 + {
1.46 + uint32_t input[SIZE];
1.47 + uint32_t output[SIZE];
1.48 + int i = 0;
1.49 +
1.50 + for(i = 0; i< SIZE; i++)
1.51 + {
1.52 + input[i] = i*10;
1.53 + output[i] = i;
1.54 + }
1.55 +
1.56 + oil_composite_add_argb(output, input, SIZE);
1.57 +
1.58 + for(i = 0; i<SIZE; i++)
1.59 + {
1.60 + if(output[i] != i+input[i])
1.61 + {
1.62 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,i+input[i],output[i]);
1.63 + assert_failed = 1;
1.64 + }
1.65 + }
1.66 + }
1.67 +
1.68 +void test_oil_composite_add_argb_const_src()
1.69 + {
1.70 + uint32_t constant = 50;
1.71 + uint32_t output[SIZE];
1.72 + int i = 0;
1.73 +
1.74 + for(i = 0; i< SIZE; i++)
1.75 + {
1.76 + output[i] = i;
1.77 + }
1.78 +
1.79 + oil_composite_add_argb_const_src(output, &constant, SIZE);
1.80 +
1.81 + for(i = 0; i<SIZE; i++)
1.82 + {
1.83 + if(output[i] != i+constant)
1.84 + {
1.85 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,i+constant,output[i]);
1.86 + assert_failed = 1;
1.87 + }
1.88 + }
1.89 + }
1.90 +
1.91 +void test_oil_composite_add_u8()
1.92 + {
1.93 + uint8_t input[SIZE];
1.94 + uint8_t output[SIZE];
1.95 + int i = 0;
1.96 +
1.97 + for(i = 0; i< SIZE; i++)
1.98 + {
1.99 + input[i] = i*10;
1.100 + output[i] = i;
1.101 + }
1.102 +
1.103 + oil_composite_add_u8(output, input, SIZE);
1.104 +
1.105 + for(i = 0; i<SIZE; i++)
1.106 + {
1.107 + if(output[i] != i+input[i])
1.108 + {
1.109 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,i+input[i],output[i]);
1.110 + assert_failed = 1;
1.111 + }
1.112 + }
1.113 + }
1.114 +
1.115 +void test_oil_composite_add_u8_const_src()
1.116 + {
1.117 + uint8_t constant = 50;
1.118 + uint8_t output[SIZE];
1.119 + int i = 0;
1.120 +
1.121 + for(i = 0; i< SIZE; i++)
1.122 + {
1.123 + output[i] = i;
1.124 + }
1.125 +
1.126 + oil_composite_add_u8_const_src(output, &constant, SIZE);
1.127 +
1.128 + for(i = 0; i<SIZE; i++)
1.129 + {
1.130 + if(output[i] != i+constant)
1.131 + {
1.132 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,i+constant,output[i]);
1.133 + assert_failed = 1;
1.134 + }
1.135 + }
1.136 + }
1.137 +
1.138 +void test_oil_composite_in_argb()
1.139 + {
1.140 + uint32_t input[SIZE];
1.141 + uint8_t mask[SIZE];
1.142 + uint32_t output[SIZE];
1.143 + int i = 0;
1.144 + uint32_t linux_output[] = {0,0,0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,3,3};
1.145 +
1.146 + for(i = 0; i< SIZE; i++)
1.147 + {
1.148 + input[i] = i;
1.149 + mask[i] = i*2;
1.150 + }
1.151 +
1.152 + oil_composite_in_argb(output, input, mask, SIZE);
1.153 +
1.154 + for(i = 0; i < SIZE; i++)
1.155 + {
1.156 + if(output[i] != linux_output[i])
1.157 + {
1.158 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.159 + assert_failed = 1;
1.160 + }
1.161 + }
1.162 + }
1.163 +
1.164 +void test_oil_composite_in_argb_const_mask()
1.165 + {
1.166 + uint32_t input[SIZE];
1.167 + uint8_t constant = 50;
1.168 + uint32_t output[SIZE];
1.169 + uint32_t linux_output[] = {0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4};
1.170 + int i = 0;
1.171 +
1.172 + for(i = 0; i < SIZE; i++)
1.173 + {
1.174 + input[i] = i;
1.175 + }
1.176 +
1.177 + oil_composite_in_argb_const_mask(output, input, &constant, SIZE);
1.178 +
1.179 + for(i = 0; i < SIZE; i++)
1.180 + {
1.181 + if(output[i] != linux_output[i])
1.182 + {
1.183 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.184 + assert_failed = 1;
1.185 + }
1.186 + }
1.187 + }
1.188 +
1.189 +void test_oil_composite_in_argb_const_src()
1.190 + {
1.191 + uint32_t constant = 50;
1.192 + uint8_t mask[SIZE];
1.193 + uint32_t output[SIZE];
1.194 + uint32_t linux_output[] = {0,0,1,1,2,2,2,3,3,4,4,4,5,5,5,6,6,7,7,7};
1.195 + int i = 0;
1.196 +
1.197 + for(i = 0; i< SIZE; i++)
1.198 + {
1.199 + mask[i] = i*2;
1.200 + }
1.201 +
1.202 + oil_composite_in_argb_const_src(output, &constant, mask, SIZE);
1.203 +
1.204 + for(i = 0; i < SIZE; i++)
1.205 + {
1.206 + if(output[i] != linux_output[i])
1.207 + {
1.208 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.209 + assert_failed = 1;
1.210 + }
1.211 + }
1.212 + }
1.213 +
1.214 +void test_oil_composite_in_over_argb()
1.215 + {
1.216 + uint32_t input[SIZE];
1.217 + uint8_t mask[SIZE];
1.218 + uint32_t output[SIZE];
1.219 + uint32_t linux_output[] = {0,10,20,30,40,50,60,70,81,91,101,111,121,131,142,152,162,172,183,193};
1.220 + int i = 0;
1.221 +
1.222 + for(i = 0; i< SIZE; i++)
1.223 + {
1.224 + input[i] = i;
1.225 + mask[i] = i*2;
1.226 + output[i] = i*10;
1.227 + }
1.228 +
1.229 + oil_composite_in_over_argb(output, input, mask, SIZE);
1.230 +
1.231 + for(i = 0; i < SIZE; i++)
1.232 + {
1.233 + if(output[i] != linux_output[i])
1.234 + {
1.235 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.236 + assert_failed = 1;
1.237 + }
1.238 + }
1.239 + }
1.240 +
1.241 +void test_oil_composite_in_over_argb_const_mask()
1.242 + {
1.243 + uint32_t input[SIZE];
1.244 + uint8_t constant = 50;
1.245 + uint32_t output[SIZE];
1.246 + uint32_t linux_output[] = {0,10,20,31,41,51,61,71,82,92,102,112,122,133,143,153,163,173,184,194};
1.247 + int i = 0;
1.248 +
1.249 + for(i = 0; i< SIZE; i++)
1.250 + {
1.251 + input[i] = i;
1.252 + output[i] = i*10;
1.253 + }
1.254 +
1.255 + oil_composite_in_over_argb_const_mask(output, input, &constant, SIZE);
1.256 +
1.257 + for(i = 0; i < SIZE; i++)
1.258 + {
1.259 + if(output[i] != linux_output[i])
1.260 + {
1.261 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.262 + assert_failed = 1;
1.263 + }
1.264 + }
1.265 + }
1.266 +
1.267 +void test_oil_composite_in_over_argb_const_src()
1.268 + {
1.269 + //uint32_t * i_n, const uint32_t * s1_1, const uint8_t * s2_n, int n
1.270 + uint32_t constant = 50;
1.271 + uint8_t mask[SIZE];
1.272 + uint32_t output[SIZE];
1.273 + uint32_t linux_output[] = {0,10,21,31,42,52,62,73,83,94,104,114,125,135,145,156,166,177,187,197};
1.274 + int i = 0;
1.275 +
1.276 + for(i = 0; i< SIZE; i++)
1.277 + {
1.278 + mask[i] = i*2;
1.279 + output[i] = i*10;
1.280 + }
1.281 +
1.282 + oil_composite_in_over_argb_const_src(output, &constant, mask, SIZE);
1.283 +
1.284 + for(i = 0; i < SIZE; i++)
1.285 + {
1.286 + if(output[i] != linux_output[i])
1.287 + {
1.288 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.289 + assert_failed = 1;
1.290 + }
1.291 + }
1.292 + }
1.293 +
1.294 +void test_oil_composite_over_argb()
1.295 + {
1.296 + uint32_t input[SIZE];
1.297 + uint32_t output[SIZE];
1.298 + uint32_t linux_output[] = {0,11,22,33,44,55,66,77,88,99,110,121,132,143,154,165,176,187,198,209};
1.299 + int i = 0;
1.300 +
1.301 + for(i = 0; i< SIZE; i++)
1.302 + {
1.303 + input[i] = i;
1.304 + output[i] = i*10;
1.305 + }
1.306 +
1.307 + oil_composite_over_argb(output, input, SIZE);
1.308 +
1.309 + for(i = 0; i < SIZE; i++)
1.310 + {
1.311 + if(output[i] != linux_output[i])
1.312 + {
1.313 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.314 + assert_failed = 1;
1.315 + }
1.316 + }
1.317 + }
1.318 +
1.319 +void test_oil_composite_over_argb_const_src()
1.320 + {
1.321 + uint32_t constant = 50;
1.322 + uint32_t output[SIZE];
1.323 + uint32_t linux_output[] = {50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240};
1.324 + int i = 0;
1.325 +
1.326 + for(i = 0; i< SIZE; i++)
1.327 + {
1.328 + output[i] = i*10;
1.329 + }
1.330 +
1.331 + oil_composite_over_argb_const_src(output, &constant, SIZE);
1.332 +
1.333 + for(i = 0; i < SIZE; i++)
1.334 + {
1.335 + if(output[i] != linux_output[i])
1.336 + {
1.337 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.338 + assert_failed = 1;
1.339 + }
1.340 + }
1.341 + }
1.342 +
1.343 +void test_oil_composite_over_u8()
1.344 + {
1.345 + uint8_t input[SIZE];
1.346 + uint8_t output[SIZE];
1.347 + uint32_t linux_output[] = {0,11,22,33,43,54,65,75,85,96,106,116,126,136,146,156,166,176,185,195};
1.348 + int i = 0;
1.349 +
1.350 + for(i = 0; i< SIZE; i++)
1.351 + {
1.352 + input[i] = i;
1.353 + output[i] = i*10;
1.354 + }
1.355 +
1.356 + oil_composite_over_u8(output, input, SIZE);
1.357 +
1.358 + for(i = 0; i < SIZE; i++)
1.359 + {
1.360 + if(output[i] != linux_output[i])
1.361 + {
1.362 + std_log(LOG_FILENAME_LINE, "output[%d]: expected value - %d, actual value - %d", i,linux_output[i],output[i]);
1.363 + assert_failed = 1;
1.364 + }
1.365 + }
1.366 + }
1.367 +
1.368 +int main (int argc, char *argv[])
1.369 + {
1.370 + oil_init();
1.371 +
1.372 + std_log(LOG_FILENAME_LINE,"START oil_composite_add_argb TEST");
1.373 + test_oil_composite_add_argb();
1.374 + std_log(LOG_FILENAME_LINE,"END TEST");
1.375 +
1.376 + std_log(LOG_FILENAME_LINE,"START oil_composite_add_argb_const_src TEST");
1.377 + test_oil_composite_add_argb_const_src();
1.378 + std_log(LOG_FILENAME_LINE,"END TEST");
1.379 +
1.380 + std_log(LOG_FILENAME_LINE,"START oil_composite_add_u8 TEST");
1.381 + test_oil_composite_add_u8();
1.382 + std_log(LOG_FILENAME_LINE,"END TEST");
1.383 +
1.384 + std_log(LOG_FILENAME_LINE,"START oil_composite_add_u8_const_src TEST");
1.385 + test_oil_composite_add_u8_const_src();
1.386 + std_log(LOG_FILENAME_LINE,"END TEST");
1.387 +
1.388 + std_log(LOG_FILENAME_LINE,"START oil_composite_in_argb TEST");
1.389 + test_oil_composite_in_argb();
1.390 + std_log(LOG_FILENAME_LINE,"END TEST");
1.391 +
1.392 + std_log(LOG_FILENAME_LINE,"START oil_composite_in_argb_const_mask TEST");
1.393 + test_oil_composite_in_argb_const_mask();
1.394 + std_log(LOG_FILENAME_LINE,"END TEST");
1.395 +
1.396 + std_log(LOG_FILENAME_LINE,"START oil_composite_in_argb_const_src TEST");
1.397 + test_oil_composite_in_argb_const_src();
1.398 + std_log(LOG_FILENAME_LINE,"END TEST");
1.399 +
1.400 + std_log(LOG_FILENAME_LINE,"START oil_composite_in_over_argb TEST");
1.401 + test_oil_composite_in_over_argb();
1.402 + std_log(LOG_FILENAME_LINE,"END TEST");
1.403 +
1.404 + std_log(LOG_FILENAME_LINE,"START oil_composite_in_over_argb_const_mask TEST");
1.405 + test_oil_composite_in_over_argb_const_mask();
1.406 + std_log(LOG_FILENAME_LINE,"END TEST");
1.407 +
1.408 + std_log(LOG_FILENAME_LINE,"START oil_composite_add_argb TEST");
1.409 + test_oil_composite_in_over_argb_const_src();
1.410 + std_log(LOG_FILENAME_LINE,"END TEST");
1.411 +
1.412 + std_log(LOG_FILENAME_LINE,"START oil_composite_over_argb TEST");
1.413 + test_oil_composite_over_argb();
1.414 + std_log(LOG_FILENAME_LINE,"END TEST");
1.415 +
1.416 + std_log(LOG_FILENAME_LINE,"START oil_composite_over_argb_const_src TEST");
1.417 + test_oil_composite_over_argb_const_src();
1.418 + std_log(LOG_FILENAME_LINE,"END TEST");
1.419 +
1.420 + std_log(LOG_FILENAME_LINE,"START oil_composite_over_u8 TEST");
1.421 + test_oil_composite_over_u8();
1.422 + std_log(LOG_FILENAME_LINE,"END TEST");
1.423 +
1.424 + if(assert_failed)
1.425 + std_log(LOG_FILENAME_LINE,"Test Failed");
1.426 + else
1.427 + std_log(LOG_FILENAME_LINE,"Test Successful");
1.428 + create_xml(0);
1.429 + return 0;
1.430 + }
1.431 +