diff options
author | ossman_ <ossman_@632fc199-4ca6-4c93-a231-07263d6284db> | 2009-03-09 13:15:56 +0000 |
---|---|---|
committer | ossman_ <ossman_@632fc199-4ca6-4c93-a231-07263d6284db> | 2009-03-09 13:15:56 +0000 |
commit | 0c228e147dda7909cc905e5742737ac4121b5af5 (patch) | |
tree | b3161bf8ffded04581c050b7670544eeed3c1c7b /jccolor.c | |
parent | 93736b192df8f7ab045602aad46617fa43ee8d00 (diff) |
Framework for supporting SIMD acceleration
Designed to impose minimal changes on the "normal" code.
git-svn-id: svn://svn.code.sf.net/p/libjpeg-turbo/code/trunk@14 632fc199-4ca6-4c93-a231-07263d6284db
Diffstat (limited to 'jccolor.c')
-rw-r--r-- | jccolor.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -2,6 +2,7 @@ * jccolor.c * * Copyright (C) 1991-1996, Thomas G. Lane. + * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB * This file is part of the Independent JPEG Group's software. * For conditions of distribution and use, see the accompanying README file. * @@ -11,6 +12,7 @@ #define JPEG_INTERNALS #include "jinclude.h" #include "jpeglib.h" +#include "jsimd.h" /* Private subobject */ @@ -420,8 +422,12 @@ jinit_color_converter (j_compress_ptr cinfo) if (cinfo->num_components != 3) ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); if (cinfo->in_color_space == JCS_RGB) { - cconvert->pub.start_pass = rgb_ycc_start; - cconvert->pub.color_convert = rgb_ycc_convert; + if (jsimd_can_rgb_ycc()) + cconvert->pub.color_convert = jsimd_rgb_ycc_convert; + else { + cconvert->pub.start_pass = rgb_ycc_start; + cconvert->pub.color_convert = rgb_ycc_convert; + } } else if (cinfo->in_color_space == JCS_YCbCr) cconvert->pub.color_convert = null_convert; else |