diff options
author | dcommander <dcommander@3789f03b-4d11-0410-bbf8-ca57d06f2519> | 2011-12-19 02:21:03 +0000 |
---|---|---|
committer | dcommander <dcommander@3789f03b-4d11-0410-bbf8-ca57d06f2519> | 2011-12-19 02:21:03 +0000 |
commit | 873e2c6046f310584a050e427c743c97f3460a6f (patch) | |
tree | d4ef5485c384b13ec8b6945e5599d07ebe18fa64 /trunk/simd | |
parent | 2c0148b1323b0196aecd065ddba566513e9a2999 (diff) |
Added new alpha channel colorspace constants/pixel formats, so applications can specify that they need the unused byte in a 4-component RGB output buffer set to 0xFF when decompressing.
git-svn-id: https://libjpeg-turbo.svn.sourceforge.net/svnroot/libjpeg-turbo@732 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'trunk/simd')
-rw-r--r-- | trunk/simd/jsimd_arm.c | 8 | ||||
-rw-r--r-- | trunk/simd/jsimd_i386.c | 20 | ||||
-rw-r--r-- | trunk/simd/jsimd_x86_64.c | 20 |
3 files changed, 48 insertions, 0 deletions
diff --git a/trunk/simd/jsimd_arm.c b/trunk/simd/jsimd_arm.c index a9d920c..5a095f2 100644 --- a/trunk/simd/jsimd_arm.c +++ b/trunk/simd/jsimd_arm.c @@ -189,18 +189,22 @@ jsimd_rgb_ycc_convert (j_compress_ptr cinfo, neonfct=jsimd_extrgb_ycc_convert_neon; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: neonfct=jsimd_extrgbx_ycc_convert_neon; break; case JCS_EXT_BGR: neonfct=jsimd_extbgr_ycc_convert_neon; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: neonfct=jsimd_extbgrx_ycc_convert_neon; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: neonfct=jsimd_extxbgr_ycc_convert_neon; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: neonfct=jsimd_extxrgb_ycc_convert_neon; break; default: @@ -233,18 +237,22 @@ jsimd_ycc_rgb_convert (j_decompress_ptr cinfo, neonfct=jsimd_ycc_extrgb_convert_neon; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: neonfct=jsimd_ycc_extrgbx_convert_neon; break; case JCS_EXT_BGR: neonfct=jsimd_ycc_extbgr_convert_neon; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: neonfct=jsimd_ycc_extbgrx_convert_neon; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: neonfct=jsimd_ycc_extxbgr_convert_neon; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: neonfct=jsimd_ycc_extxrgb_convert_neon; break; default: diff --git a/trunk/simd/jsimd_i386.c b/trunk/simd/jsimd_i386.c index f77c5ef..120eb02 100644 --- a/trunk/simd/jsimd_i386.c +++ b/trunk/simd/jsimd_i386.c @@ -142,6 +142,7 @@ jsimd_rgb_ycc_convert (j_compress_ptr cinfo, mmxfct=jsimd_extrgb_ycc_convert_mmx; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: sse2fct=jsimd_extrgbx_ycc_convert_sse2; mmxfct=jsimd_extrgbx_ycc_convert_mmx; break; @@ -150,14 +151,17 @@ jsimd_rgb_ycc_convert (j_compress_ptr cinfo, mmxfct=jsimd_extbgr_ycc_convert_mmx; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: sse2fct=jsimd_extbgrx_ycc_convert_sse2; mmxfct=jsimd_extbgrx_ycc_convert_mmx; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: sse2fct=jsimd_extxbgr_ycc_convert_sse2; mmxfct=jsimd_extxbgr_ycc_convert_mmx; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: sse2fct=jsimd_extxrgb_ycc_convert_sse2; mmxfct=jsimd_extxrgb_ycc_convert_mmx; break; @@ -191,6 +195,7 @@ jsimd_rgb_gray_convert (j_compress_ptr cinfo, mmxfct=jsimd_extrgb_gray_convert_mmx; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: sse2fct=jsimd_extrgbx_gray_convert_sse2; mmxfct=jsimd_extrgbx_gray_convert_mmx; break; @@ -199,14 +204,17 @@ jsimd_rgb_gray_convert (j_compress_ptr cinfo, mmxfct=jsimd_extbgr_gray_convert_mmx; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: sse2fct=jsimd_extbgrx_gray_convert_sse2; mmxfct=jsimd_extbgrx_gray_convert_mmx; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: sse2fct=jsimd_extxbgr_gray_convert_sse2; mmxfct=jsimd_extxbgr_gray_convert_mmx; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: sse2fct=jsimd_extxrgb_gray_convert_sse2; mmxfct=jsimd_extxrgb_gray_convert_mmx; break; @@ -240,6 +248,7 @@ jsimd_ycc_rgb_convert (j_decompress_ptr cinfo, mmxfct=jsimd_ycc_extrgb_convert_mmx; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: sse2fct=jsimd_ycc_extrgbx_convert_sse2; mmxfct=jsimd_ycc_extrgbx_convert_mmx; break; @@ -248,14 +257,17 @@ jsimd_ycc_rgb_convert (j_decompress_ptr cinfo, mmxfct=jsimd_ycc_extbgr_convert_mmx; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: sse2fct=jsimd_ycc_extbgrx_convert_sse2; mmxfct=jsimd_ycc_extbgrx_convert_mmx; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: sse2fct=jsimd_ycc_extxbgr_convert_sse2; mmxfct=jsimd_ycc_extxbgr_convert_mmx; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: sse2fct=jsimd_ycc_extxrgb_convert_sse2; mmxfct=jsimd_ycc_extxrgb_convert_mmx; break; @@ -532,6 +544,7 @@ jsimd_h2v2_merged_upsample (j_decompress_ptr cinfo, mmxfct=jsimd_h2v2_extrgb_merged_upsample_mmx; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: sse2fct=jsimd_h2v2_extrgbx_merged_upsample_sse2; mmxfct=jsimd_h2v2_extrgbx_merged_upsample_mmx; break; @@ -540,14 +553,17 @@ jsimd_h2v2_merged_upsample (j_decompress_ptr cinfo, mmxfct=jsimd_h2v2_extbgr_merged_upsample_mmx; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: sse2fct=jsimd_h2v2_extbgrx_merged_upsample_sse2; mmxfct=jsimd_h2v2_extbgrx_merged_upsample_mmx; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: sse2fct=jsimd_h2v2_extxbgr_merged_upsample_sse2; mmxfct=jsimd_h2v2_extxbgr_merged_upsample_mmx; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: sse2fct=jsimd_h2v2_extxrgb_merged_upsample_sse2; mmxfct=jsimd_h2v2_extxrgb_merged_upsample_mmx; break; @@ -582,6 +598,7 @@ jsimd_h2v1_merged_upsample (j_decompress_ptr cinfo, mmxfct=jsimd_h2v1_extrgb_merged_upsample_mmx; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: sse2fct=jsimd_h2v1_extrgbx_merged_upsample_sse2; mmxfct=jsimd_h2v1_extrgbx_merged_upsample_mmx; break; @@ -590,14 +607,17 @@ jsimd_h2v1_merged_upsample (j_decompress_ptr cinfo, mmxfct=jsimd_h2v1_extbgr_merged_upsample_mmx; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: sse2fct=jsimd_h2v1_extbgrx_merged_upsample_sse2; mmxfct=jsimd_h2v1_extbgrx_merged_upsample_mmx; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: sse2fct=jsimd_h2v1_extxbgr_merged_upsample_sse2; mmxfct=jsimd_h2v1_extxbgr_merged_upsample_mmx; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: sse2fct=jsimd_h2v1_extxrgb_merged_upsample_sse2; mmxfct=jsimd_h2v1_extxrgb_merged_upsample_mmx; break; diff --git a/trunk/simd/jsimd_x86_64.c b/trunk/simd/jsimd_x86_64.c index 2951268..8d17db3 100644 --- a/trunk/simd/jsimd_x86_64.c +++ b/trunk/simd/jsimd_x86_64.c @@ -93,18 +93,22 @@ jsimd_rgb_ycc_convert (j_compress_ptr cinfo, sse2fct=jsimd_extrgb_ycc_convert_sse2; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: sse2fct=jsimd_extrgbx_ycc_convert_sse2; break; case JCS_EXT_BGR: sse2fct=jsimd_extbgr_ycc_convert_sse2; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: sse2fct=jsimd_extbgrx_ycc_convert_sse2; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: sse2fct=jsimd_extxbgr_ycc_convert_sse2; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: sse2fct=jsimd_extxrgb_ycc_convert_sse2; break; default: @@ -128,18 +132,22 @@ jsimd_rgb_gray_convert (j_compress_ptr cinfo, sse2fct=jsimd_extrgb_gray_convert_sse2; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: sse2fct=jsimd_extrgbx_gray_convert_sse2; break; case JCS_EXT_BGR: sse2fct=jsimd_extbgr_gray_convert_sse2; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: sse2fct=jsimd_extbgrx_gray_convert_sse2; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: sse2fct=jsimd_extxbgr_gray_convert_sse2; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: sse2fct=jsimd_extxrgb_gray_convert_sse2; break; default: @@ -163,18 +171,22 @@ jsimd_ycc_rgb_convert (j_decompress_ptr cinfo, sse2fct=jsimd_ycc_extrgb_convert_sse2; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: sse2fct=jsimd_ycc_extrgbx_convert_sse2; break; case JCS_EXT_BGR: sse2fct=jsimd_ycc_extbgr_convert_sse2; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: sse2fct=jsimd_ycc_extbgrx_convert_sse2; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: sse2fct=jsimd_ycc_extxbgr_convert_sse2; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: sse2fct=jsimd_ycc_extxrgb_convert_sse2; break; default: @@ -373,18 +385,22 @@ jsimd_h2v2_merged_upsample (j_decompress_ptr cinfo, sse2fct=jsimd_h2v2_extrgb_merged_upsample_sse2; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: sse2fct=jsimd_h2v2_extrgbx_merged_upsample_sse2; break; case JCS_EXT_BGR: sse2fct=jsimd_h2v2_extbgr_merged_upsample_sse2; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: sse2fct=jsimd_h2v2_extbgrx_merged_upsample_sse2; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: sse2fct=jsimd_h2v2_extxbgr_merged_upsample_sse2; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: sse2fct=jsimd_h2v2_extxrgb_merged_upsample_sse2; break; default: @@ -409,18 +425,22 @@ jsimd_h2v1_merged_upsample (j_decompress_ptr cinfo, sse2fct=jsimd_h2v1_extrgb_merged_upsample_sse2; break; case JCS_EXT_RGBX: + case JCS_EXT_RGBA: sse2fct=jsimd_h2v1_extrgbx_merged_upsample_sse2; break; case JCS_EXT_BGR: sse2fct=jsimd_h2v1_extbgr_merged_upsample_sse2; break; case JCS_EXT_BGRX: + case JCS_EXT_BGRA: sse2fct=jsimd_h2v1_extbgrx_merged_upsample_sse2; break; case JCS_EXT_XBGR: + case JCS_EXT_ABGR: sse2fct=jsimd_h2v1_extxbgr_merged_upsample_sse2; break; case JCS_EXT_XRGB: + case JCS_EXT_ARGB: sse2fct=jsimd_h2v1_extxrgb_merged_upsample_sse2; break; default: |