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

Side by Side Diff: third_party/libpng/pngrtran.c

Issue 1467263003: third_party/libpng: update to 1.2.54 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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
OLDNEW
1 1
2 /* pngrtran.c - transforms the data in a row for PNG readers 2 /* pngrtran.c - transforms the data in a row for PNG readers
3 * 3 *
4 * Last changed in libpng 1.2.51 [February 6, 2014] 4 * Last changed in libpng 1.2.53 [February 26, 2015]
5 * Copyright (c) 1998-2014 Glenn Randers-Pehrson 5 * Copyright (c) 1998-2015 Glenn Randers-Pehrson
6 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) 6 * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
7 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) 7 * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
8 * 8 *
9 * This code is released under the libpng license. 9 * This code is released under the libpng license.
10 * For conditions of distribution and use, see the disclaimer 10 * For conditions of distribution and use, see the disclaimer
11 * and license in png.h 11 * and license in png.h
12 * 12 *
13 * This file contains functions optionally called by an application 13 * This file contains functions optionally called by an application
14 * in order to tell libpng how to handle data when reading a PNG. 14 * in order to tell libpng how to handle data when reading a PNG.
15 * Transformations that are used in both reading and writing are 15 * Transformations that are used in both reading and writing are
(...skipping 2387 matching lines...) Expand 10 before | Expand all | Expand 10 after
2403 { 2403 {
2404 #if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) 2404 #if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
2405 if (png_ptr->gamma_16_to_1 != NULL && 2405 if (png_ptr->gamma_16_to_1 != NULL &&
2406 png_ptr->gamma_16_from_1 != NULL) 2406 png_ptr->gamma_16_from_1 != NULL)
2407 { 2407 {
2408 png_bytep sp = row; 2408 png_bytep sp = row;
2409 png_bytep dp = row; 2409 png_bytep dp = row;
2410 for (i = 0; i < row_width; i++) 2410 for (i = 0; i < row_width; i++)
2411 { 2411 {
2412 png_uint_16 red, green, blue, w; 2412 png_uint_16 red, green, blue, w;
2413 png_byte hi,lo;
2413 2414
2414 red = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; 2415 hi=*(sp)++; lo=*(sp)++;
2415 green = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; 2416 red = (png_uint_16)((hi << 8) | (lo));
2416 blue = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; 2417 hi=*(sp)++; lo=*(sp)++;
2418 green = (png_uint_16)((hi << 8) | (lo));
2419 hi=*(sp)++; lo=*(sp)++;
2420 blue = (png_uint_16)((hi << 8) | (lo));
2417 2421
2418 if (red == green && red == blue) 2422 if (red == green && red == blue)
2419 w = red; 2423 w = red;
2420 else 2424 else
2421 { 2425 {
2422 png_uint_16 red_1 = png_ptr->gamma_16_to_1[(red&0xff) >> 2426 png_uint_16 red_1 = png_ptr->gamma_16_to_1[(red&0xff) >>
2423 png_ptr->gamma_shift][red>>8]; 2427 png_ptr->gamma_shift][red>>8];
2424 png_uint_16 green_1 = 2428 png_uint_16 green_1 =
2425 png_ptr->gamma_16_to_1[(green&0xff) >> 2429 png_ptr->gamma_16_to_1[(green&0xff) >>
2426 png_ptr->gamma_shift][green>>8]; 2430 png_ptr->gamma_shift][green>>8];
(...skipping 11 matching lines...) Expand all
2438 } 2442 }
2439 } 2443 }
2440 else 2444 else
2441 #endif 2445 #endif
2442 { 2446 {
2443 png_bytep sp = row; 2447 png_bytep sp = row;
2444 png_bytep dp = row; 2448 png_bytep dp = row;
2445 for (i = 0; i < row_width; i++) 2449 for (i = 0; i < row_width; i++)
2446 { 2450 {
2447 png_uint_16 red, green, blue, gray16; 2451 png_uint_16 red, green, blue, gray16;
2452 png_byte hi,lo;
2448 2453
2449 red = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; 2454 hi=*(sp)++; lo=*(sp)++;
2450 green = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; 2455 red = (png_uint_16)((hi << 8) | (lo));
2451 blue = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; 2456 hi=*(sp)++; lo=*(sp)++;
2457 green = (png_uint_16)((hi << 8) | (lo));
2458 hi=*(sp)++; lo=*(sp)++;
2459 blue = (png_uint_16)((hi << 8) | (lo));
2452 2460
2453 if (red != green || red != blue) 2461 if (red != green || red != blue)
2454 rgb_error |= 1; 2462 rgb_error |= 1;
2455 gray16 = (png_uint_16)((rc*red + gc*green + bc*blue)>>15); 2463 gray16 = (png_uint_16)((rc*red + gc*green + bc*blue)>>15);
2456 *(dp++) = (png_byte)((gray16>>8) & 0xff); 2464 *(dp++) = (png_byte)((gray16>>8) & 0xff);
2457 *(dp++) = (png_byte)(gray16 & 0xff); 2465 *(dp++) = (png_byte)(gray16 & 0xff);
2458 } 2466 }
2459 } 2467 }
2460 } 2468 }
2461 } 2469 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
2501 { 2509 {
2502 #if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) 2510 #if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
2503 if (png_ptr->gamma_16_to_1 != NULL && 2511 if (png_ptr->gamma_16_to_1 != NULL &&
2504 png_ptr->gamma_16_from_1 != NULL) 2512 png_ptr->gamma_16_from_1 != NULL)
2505 { 2513 {
2506 png_bytep sp = row; 2514 png_bytep sp = row;
2507 png_bytep dp = row; 2515 png_bytep dp = row;
2508 for (i = 0; i < row_width; i++) 2516 for (i = 0; i < row_width; i++)
2509 { 2517 {
2510 png_uint_16 red, green, blue, w; 2518 png_uint_16 red, green, blue, w;
2519 png_byte hi,lo;
2511 2520
2512 red = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; 2521 hi=*(sp)++; lo=*(sp)++;
2513 green = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; 2522 red = (png_uint_16)((hi << 8) | (lo));
2514 blue = (png_uint_16)(((*(sp))<<8) | *(sp+1)); sp+=2; 2523 hi=*(sp)++; lo=*(sp)++;
2524 green = (png_uint_16)((hi << 8) | (lo));
2525 hi=*(sp)++; lo=*(sp)++;
2526 blue = (png_uint_16)((hi << 8) | (lo));
2515 2527
2516 if (red == green && red == blue) 2528 if (red == green && red == blue)
2517 w = red; 2529 w = red;
2518 else 2530 else
2519 { 2531 {
2520 png_uint_16 red_1 = png_ptr->gamma_16_to_1[(red&0xff) >> 2532 png_uint_16 red_1 = png_ptr->gamma_16_to_1[(red&0xff) >>
2521 png_ptr->gamma_shift][red>>8]; 2533 png_ptr->gamma_shift][red>>8];
2522 png_uint_16 green_1 = 2534 png_uint_16 green_1 =
2523 png_ptr->gamma_16_to_1[(green&0xff) >> 2535 png_ptr->gamma_16_to_1[(green&0xff) >>
2524 png_ptr->gamma_shift][green>>8]; 2536 png_ptr->gamma_shift][green>>8];
(...skipping 1942 matching lines...) Expand 10 before | Expand all | Expand 10 after
4467 *(rp ) = (png_byte)((red >> 8) & 0xff); 4479 *(rp ) = (png_byte)((red >> 8) & 0xff);
4468 *(rp+1) = (png_byte)(red & 0xff); 4480 *(rp+1) = (png_byte)(red & 0xff);
4469 *(rp+4) = (png_byte)((blue >> 8) & 0xff); 4481 *(rp+4) = (png_byte)((blue >> 8) & 0xff);
4470 *(rp+5) = (png_byte)(blue & 0xff); 4482 *(rp+5) = (png_byte)(blue & 0xff);
4471 } 4483 }
4472 } 4484 }
4473 } 4485 }
4474 } 4486 }
4475 #endif /* PNG_MNG_FEATURES_SUPPORTED */ 4487 #endif /* PNG_MNG_FEATURES_SUPPORTED */
4476 #endif /* PNG_READ_SUPPORTED */ 4488 #endif /* PNG_READ_SUPPORTED */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698