| OLD | NEW |
| 1 /* | 1 /* |
| 2 * jdmerge.c | 2 * jdmerge.c |
| 3 * | 3 * |
| 4 * Copyright (C) 1994-1996, Thomas G. Lane. | 4 * Copyright (C) 1994-1996, Thomas G. Lane. |
| 5 * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB | 5 * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB |
| 6 * Copyright (C) 2009, 2011, D. R. Commander. | 6 * Copyright (C) 2009, 2011, D. R. Commander. |
| 7 * This file is part of the Independent JPEG Group's software. | 7 * This file is part of the Independent JPEG Group's software. |
| 8 * For conditions of distribution and use, see the accompanying README file. | 8 * For conditions of distribution and use, see the accompanying README file. |
| 9 * | 9 * |
| 10 * This file contains code for merged upsampling/color conversion. | 10 * This file contains code for merged upsampling/color conversion. |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 * Corner-aligned (non-CCIR601) sampling alignment. | 31 * Corner-aligned (non-CCIR601) sampling alignment. |
| 32 * Other special cases could be added, but in most applications these are | 32 * Other special cases could be added, but in most applications these are |
| 33 * the only common cases. (For uncommon cases we fall back on the more | 33 * the only common cases. (For uncommon cases we fall back on the more |
| 34 * general code in jdsample.c and jdcolor.c.) | 34 * general code in jdsample.c and jdcolor.c.) |
| 35 */ | 35 */ |
| 36 | 36 |
| 37 #define JPEG_INTERNALS | 37 #define JPEG_INTERNALS |
| 38 #include "jinclude.h" | 38 #include "jinclude.h" |
| 39 #include "jpeglib.h" | 39 #include "jpeglib.h" |
| 40 #include "jsimd.h" | 40 #include "jsimd.h" |
| 41 #include "config.h" |
| 41 | 42 |
| 42 #ifdef UPSAMPLE_MERGING_SUPPORTED | 43 #ifdef UPSAMPLE_MERGING_SUPPORTED |
| 43 | 44 |
| 44 | 45 |
| 45 /* Private subobject */ | 46 /* Private subobject */ |
| 46 | 47 |
| 47 typedef struct { | 48 typedef struct { |
| 48 struct jpeg_upsampler pub; /* public fields */ | 49 struct jpeg_upsampler pub; /* public fields */ |
| 49 | 50 |
| 50 /* Pointer to routine to do actual upsampling/conversion of one row group */ | 51 /* Pointer to routine to do actual upsampling/conversion of one row group */ |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 #undef RGB_RED | 96 #undef RGB_RED |
| 96 #undef RGB_GREEN | 97 #undef RGB_GREEN |
| 97 #undef RGB_BLUE | 98 #undef RGB_BLUE |
| 98 #undef RGB_PIXELSIZE | 99 #undef RGB_PIXELSIZE |
| 99 #undef h2v1_merged_upsample_internal | 100 #undef h2v1_merged_upsample_internal |
| 100 #undef h2v2_merged_upsample_internal | 101 #undef h2v2_merged_upsample_internal |
| 101 | 102 |
| 102 #define RGB_RED EXT_RGBX_RED | 103 #define RGB_RED EXT_RGBX_RED |
| 103 #define RGB_GREEN EXT_RGBX_GREEN | 104 #define RGB_GREEN EXT_RGBX_GREEN |
| 104 #define RGB_BLUE EXT_RGBX_BLUE | 105 #define RGB_BLUE EXT_RGBX_BLUE |
| 106 #define RGB_ALPHA 3 |
| 105 #define RGB_PIXELSIZE EXT_RGBX_PIXELSIZE | 107 #define RGB_PIXELSIZE EXT_RGBX_PIXELSIZE |
| 106 #define h2v1_merged_upsample_internal extrgbx_h2v1_merged_upsample_internal | 108 #define h2v1_merged_upsample_internal extrgbx_h2v1_merged_upsample_internal |
| 107 #define h2v2_merged_upsample_internal extrgbx_h2v2_merged_upsample_internal | 109 #define h2v2_merged_upsample_internal extrgbx_h2v2_merged_upsample_internal |
| 108 #include "jdmrgext.c" | 110 #include "jdmrgext.c" |
| 109 #undef RGB_RED | 111 #undef RGB_RED |
| 110 #undef RGB_GREEN | 112 #undef RGB_GREEN |
| 111 #undef RGB_BLUE | 113 #undef RGB_BLUE |
| 114 #undef RGB_ALPHA |
| 112 #undef RGB_PIXELSIZE | 115 #undef RGB_PIXELSIZE |
| 113 #undef h2v1_merged_upsample_internal | 116 #undef h2v1_merged_upsample_internal |
| 114 #undef h2v2_merged_upsample_internal | 117 #undef h2v2_merged_upsample_internal |
| 115 | 118 |
| 116 #define RGB_RED EXT_BGR_RED | 119 #define RGB_RED EXT_BGR_RED |
| 117 #define RGB_GREEN EXT_BGR_GREEN | 120 #define RGB_GREEN EXT_BGR_GREEN |
| 118 #define RGB_BLUE EXT_BGR_BLUE | 121 #define RGB_BLUE EXT_BGR_BLUE |
| 119 #define RGB_PIXELSIZE EXT_BGR_PIXELSIZE | 122 #define RGB_PIXELSIZE EXT_BGR_PIXELSIZE |
| 120 #define h2v1_merged_upsample_internal extbgr_h2v1_merged_upsample_internal | 123 #define h2v1_merged_upsample_internal extbgr_h2v1_merged_upsample_internal |
| 121 #define h2v2_merged_upsample_internal extbgr_h2v2_merged_upsample_internal | 124 #define h2v2_merged_upsample_internal extbgr_h2v2_merged_upsample_internal |
| 122 #include "jdmrgext.c" | 125 #include "jdmrgext.c" |
| 123 #undef RGB_RED | 126 #undef RGB_RED |
| 124 #undef RGB_GREEN | 127 #undef RGB_GREEN |
| 125 #undef RGB_BLUE | 128 #undef RGB_BLUE |
| 126 #undef RGB_PIXELSIZE | 129 #undef RGB_PIXELSIZE |
| 127 #undef h2v1_merged_upsample_internal | 130 #undef h2v1_merged_upsample_internal |
| 128 #undef h2v2_merged_upsample_internal | 131 #undef h2v2_merged_upsample_internal |
| 129 | 132 |
| 130 #define RGB_RED EXT_BGRX_RED | 133 #define RGB_RED EXT_BGRX_RED |
| 131 #define RGB_GREEN EXT_BGRX_GREEN | 134 #define RGB_GREEN EXT_BGRX_GREEN |
| 132 #define RGB_BLUE EXT_BGRX_BLUE | 135 #define RGB_BLUE EXT_BGRX_BLUE |
| 136 #define RGB_ALPHA 3 |
| 133 #define RGB_PIXELSIZE EXT_BGRX_PIXELSIZE | 137 #define RGB_PIXELSIZE EXT_BGRX_PIXELSIZE |
| 134 #define h2v1_merged_upsample_internal extbgrx_h2v1_merged_upsample_internal | 138 #define h2v1_merged_upsample_internal extbgrx_h2v1_merged_upsample_internal |
| 135 #define h2v2_merged_upsample_internal extbgrx_h2v2_merged_upsample_internal | 139 #define h2v2_merged_upsample_internal extbgrx_h2v2_merged_upsample_internal |
| 136 #include "jdmrgext.c" | 140 #include "jdmrgext.c" |
| 137 #undef RGB_RED | 141 #undef RGB_RED |
| 138 #undef RGB_GREEN | 142 #undef RGB_GREEN |
| 139 #undef RGB_BLUE | 143 #undef RGB_BLUE |
| 144 #undef RGB_ALPHA |
| 140 #undef RGB_PIXELSIZE | 145 #undef RGB_PIXELSIZE |
| 141 #undef h2v1_merged_upsample_internal | 146 #undef h2v1_merged_upsample_internal |
| 142 #undef h2v2_merged_upsample_internal | 147 #undef h2v2_merged_upsample_internal |
| 143 | 148 |
| 144 #define RGB_RED EXT_XBGR_RED | 149 #define RGB_RED EXT_XBGR_RED |
| 145 #define RGB_GREEN EXT_XBGR_GREEN | 150 #define RGB_GREEN EXT_XBGR_GREEN |
| 146 #define RGB_BLUE EXT_XBGR_BLUE | 151 #define RGB_BLUE EXT_XBGR_BLUE |
| 152 #define RGB_ALPHA 0 |
| 147 #define RGB_PIXELSIZE EXT_XBGR_PIXELSIZE | 153 #define RGB_PIXELSIZE EXT_XBGR_PIXELSIZE |
| 148 #define h2v1_merged_upsample_internal extxbgr_h2v1_merged_upsample_internal | 154 #define h2v1_merged_upsample_internal extxbgr_h2v1_merged_upsample_internal |
| 149 #define h2v2_merged_upsample_internal extxbgr_h2v2_merged_upsample_internal | 155 #define h2v2_merged_upsample_internal extxbgr_h2v2_merged_upsample_internal |
| 150 #include "jdmrgext.c" | 156 #include "jdmrgext.c" |
| 151 #undef RGB_RED | 157 #undef RGB_RED |
| 152 #undef RGB_GREEN | 158 #undef RGB_GREEN |
| 153 #undef RGB_BLUE | 159 #undef RGB_BLUE |
| 160 #undef RGB_ALPHA |
| 154 #undef RGB_PIXELSIZE | 161 #undef RGB_PIXELSIZE |
| 155 #undef h2v1_merged_upsample_internal | 162 #undef h2v1_merged_upsample_internal |
| 156 #undef h2v2_merged_upsample_internal | 163 #undef h2v2_merged_upsample_internal |
| 157 | 164 |
| 158 #define RGB_RED EXT_XRGB_RED | 165 #define RGB_RED EXT_XRGB_RED |
| 159 #define RGB_GREEN EXT_XRGB_GREEN | 166 #define RGB_GREEN EXT_XRGB_GREEN |
| 160 #define RGB_BLUE EXT_XRGB_BLUE | 167 #define RGB_BLUE EXT_XRGB_BLUE |
| 168 #define RGB_ALPHA 0 |
| 161 #define RGB_PIXELSIZE EXT_XRGB_PIXELSIZE | 169 #define RGB_PIXELSIZE EXT_XRGB_PIXELSIZE |
| 162 #define h2v1_merged_upsample_internal extxrgb_h2v1_merged_upsample_internal | 170 #define h2v1_merged_upsample_internal extxrgb_h2v1_merged_upsample_internal |
| 163 #define h2v2_merged_upsample_internal extxrgb_h2v2_merged_upsample_internal | 171 #define h2v2_merged_upsample_internal extxrgb_h2v2_merged_upsample_internal |
| 164 #include "jdmrgext.c" | 172 #include "jdmrgext.c" |
| 165 #undef RGB_RED | 173 #undef RGB_RED |
| 166 #undef RGB_GREEN | 174 #undef RGB_GREEN |
| 167 #undef RGB_BLUE | 175 #undef RGB_BLUE |
| 176 #undef RGB_ALPHA |
| 168 #undef RGB_PIXELSIZE | 177 #undef RGB_PIXELSIZE |
| 169 #undef h2v1_merged_upsample_internal | 178 #undef h2v1_merged_upsample_internal |
| 170 #undef h2v2_merged_upsample_internal | 179 #undef h2v2_merged_upsample_internal |
| 171 | 180 |
| 172 | 181 |
| 173 /* | 182 /* |
| 174 * Initialize tables for YCC->RGB colorspace conversion. | 183 * Initialize tables for YCC->RGB colorspace conversion. |
| 175 * This is taken directly from jdcolor.c; see that file for more info. | 184 * This is taken directly from jdcolor.c; see that file for more info. |
| 176 */ | 185 */ |
| 177 | 186 |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 445 else | 454 else |
| 446 upsample->upmethod = h2v1_merged_upsample; | 455 upsample->upmethod = h2v1_merged_upsample; |
| 447 /* No spare row needed */ | 456 /* No spare row needed */ |
| 448 upsample->spare_row = NULL; | 457 upsample->spare_row = NULL; |
| 449 } | 458 } |
| 450 | 459 |
| 451 build_ycc_rgb_table(cinfo); | 460 build_ycc_rgb_table(cinfo); |
| 452 } | 461 } |
| 453 | 462 |
| 454 #endif /* UPSAMPLE_MERGING_SUPPORTED */ | 463 #endif /* UPSAMPLE_MERGING_SUPPORTED */ |
| OLD | NEW |