| 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 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 h2v1_merged_upsample (j_decompress_ptr cinfo, | 322 h2v1_merged_upsample (j_decompress_ptr cinfo, |
| 323 JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, | 323 JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
| 324 JSAMPARRAY output_buf) | 324 JSAMPARRAY output_buf) |
| 325 { | 325 { |
| 326 switch (cinfo->out_color_space) { | 326 switch (cinfo->out_color_space) { |
| 327 case JCS_EXT_RGB: | 327 case JCS_EXT_RGB: |
| 328 extrgb_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 328 extrgb_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 329 output_buf); | 329 output_buf); |
| 330 break; | 330 break; |
| 331 case JCS_EXT_RGBX: | 331 case JCS_EXT_RGBX: |
| 332 case JCS_EXT_RGBA: |
| 332 extrgbx_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 333 extrgbx_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 333 output_buf); | 334 output_buf); |
| 334 break; | 335 break; |
| 335 case JCS_EXT_BGR: | 336 case JCS_EXT_BGR: |
| 336 extbgr_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 337 extbgr_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 337 output_buf); | 338 output_buf); |
| 338 break; | 339 break; |
| 339 case JCS_EXT_BGRX: | 340 case JCS_EXT_BGRX: |
| 341 case JCS_EXT_BGRA: |
| 340 extbgrx_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 342 extbgrx_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 341 output_buf); | 343 output_buf); |
| 342 break; | 344 break; |
| 343 case JCS_EXT_XBGR: | 345 case JCS_EXT_XBGR: |
| 346 case JCS_EXT_ABGR: |
| 344 extxbgr_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 347 extxbgr_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 345 output_buf); | 348 output_buf); |
| 346 break; | 349 break; |
| 347 case JCS_EXT_XRGB: | 350 case JCS_EXT_XRGB: |
| 351 case JCS_EXT_ARGB: |
| 348 extxrgb_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 352 extxrgb_h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 349 output_buf); | 353 output_buf); |
| 350 break; | 354 break; |
| 351 default: | 355 default: |
| 352 h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 356 h2v1_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 353 output_buf); | 357 output_buf); |
| 354 break; | 358 break; |
| 355 } | 359 } |
| 356 } | 360 } |
| 357 | 361 |
| 358 | 362 |
| 359 /* | 363 /* |
| 360 * Upsample and color convert for the case of 2:1 horizontal and 2:1 vertical. | 364 * Upsample and color convert for the case of 2:1 horizontal and 2:1 vertical. |
| 361 */ | 365 */ |
| 362 | 366 |
| 363 METHODDEF(void) | 367 METHODDEF(void) |
| 364 h2v2_merged_upsample (j_decompress_ptr cinfo, | 368 h2v2_merged_upsample (j_decompress_ptr cinfo, |
| 365 JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, | 369 JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
| 366 JSAMPARRAY output_buf) | 370 JSAMPARRAY output_buf) |
| 367 { | 371 { |
| 368 switch (cinfo->out_color_space) { | 372 switch (cinfo->out_color_space) { |
| 369 case JCS_EXT_RGB: | 373 case JCS_EXT_RGB: |
| 370 extrgb_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 374 extrgb_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 371 output_buf); | 375 output_buf); |
| 372 break; | 376 break; |
| 373 case JCS_EXT_RGBX: | 377 case JCS_EXT_RGBX: |
| 378 case JCS_EXT_RGBA: |
| 374 extrgbx_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 379 extrgbx_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 375 output_buf); | 380 output_buf); |
| 376 break; | 381 break; |
| 377 case JCS_EXT_BGR: | 382 case JCS_EXT_BGR: |
| 378 extbgr_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 383 extbgr_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 379 output_buf); | 384 output_buf); |
| 380 break; | 385 break; |
| 381 case JCS_EXT_BGRX: | 386 case JCS_EXT_BGRX: |
| 387 case JCS_EXT_BGRA: |
| 382 extbgrx_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 388 extbgrx_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 383 output_buf); | 389 output_buf); |
| 384 break; | 390 break; |
| 385 case JCS_EXT_XBGR: | 391 case JCS_EXT_XBGR: |
| 392 case JCS_EXT_ABGR: |
| 386 extxbgr_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 393 extxbgr_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 387 output_buf); | 394 output_buf); |
| 388 break; | 395 break; |
| 389 case JCS_EXT_XRGB: | 396 case JCS_EXT_XRGB: |
| 397 case JCS_EXT_ARGB: |
| 390 extxrgb_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 398 extxrgb_h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 391 output_buf); | 399 output_buf); |
| 392 break; | 400 break; |
| 393 default: | 401 default: |
| 394 h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, | 402 h2v2_merged_upsample_internal(cinfo, input_buf, in_row_group_ctr, |
| 395 output_buf); | 403 output_buf); |
| 396 break; | 404 break; |
| 397 } | 405 } |
| 398 } | 406 } |
| 399 | 407 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 437 else | 445 else |
| 438 upsample->upmethod = h2v1_merged_upsample; | 446 upsample->upmethod = h2v1_merged_upsample; |
| 439 /* No spare row needed */ | 447 /* No spare row needed */ |
| 440 upsample->spare_row = NULL; | 448 upsample->spare_row = NULL; |
| 441 } | 449 } |
| 442 | 450 |
| 443 build_ycc_rgb_table(cinfo); | 451 build_ycc_rgb_table(cinfo); |
| 444 } | 452 } |
| 445 | 453 |
| 446 #endif /* UPSAMPLE_MERGING_SUPPORTED */ | 454 #endif /* UPSAMPLE_MERGING_SUPPORTED */ |
| OLD | NEW |