DRC
d166012ae3
ARM NEON SIMD support for YCC-to-RGB565 conversion, and optimizations to the existing YCC-to-RGB conversion code:
...
-----
aee36252be .patch
From aee36252be20054afce371a92406fc66ba6627b5 Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <siarhei.siamashka@gmail.com >
Date: Wed, 13 Aug 2014 03:50:22 +0300
Subject: [PATCH] ARM: Faster NEON yuv->rgb conversion for Krait and Cortex-A15
The older code was developed and tested only on ARM Cortex-A8 and ARM Cortex-A9.
Tuning it for newer ARM processors can introduce some speed-up (up to 20%).
The performance of the inner loop (conversion of 8 pixels) improves from
~27 cycles down to ~22 cycles on Qualcomm Krait 300, and from ~20 cycles
down to ~18 cycles on ARM Cortex-A15.
The performance remains exactly the same on ARM Cortex-A7 (~58 cycles),
ARM Cortex-A8 (~25 cycles) and ARM Cortex-A9 (~30 cycles) processors.
Also use larger indentation in the source code for separating two independent
instruction streams.
-----
a5efdbf22c .patch
From a5efdbf22ce9c1acd4b14a353cec863c2c57557e Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <siarhei.siamashka@gmail.com >
Date: Wed, 13 Aug 2014 07:23:09 +0300
Subject: [PATCH] ARM: NEON optimized yuv->rgb565 conversion
The performance of the inner loop (conversion of 8 pixels):
* ARM Cortex-A7: ~55 cycles
* ARM Cortex-A8: ~28 cycles
* ARM Cortex-A9: ~32 cycles
* ARM Cortex-A15: ~20 cycles
* Qualcomm Krait: ~24 cycles
Based on the Linaro rgb565 patch from
https://sourceforge.net/p/libjpeg-turbo/patches/24/
but implements better instructions scheduling.
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1385 632fc199-4ca6-4c93-a231-07263d6284db
2014-08-23 15:47:51 +00:00
DRC
66245aa735
libjpeg-turbo has never supported non-ANSI compilers, so get rid of the crufty SIZEOF() macro. It was not being used consistently anyhow, so it would not have been possible to build prior releases of libjpeg-turbo using the broken compilers for which that macro was designed.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1313 632fc199-4ca6-4c93-a231-07263d6284db
2014-05-18 19:04:03 +00:00
DRC
295df8bdad
Add support for decompressing to RGB565 (16-bit) pixels
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1295 632fc199-4ca6-4c93-a231-07263d6284db
2014-05-12 09:23:57 +00:00
DRC
16d7eeb944
Convert tabs to spaces in the libjpeg code and the SIMD code (TurboJPEG retains the use of tabs for historical reasons. They were annoying in the libjpeg code primarily because they were not consistently used and because they were used to format as well as indent the code. In the case of TurboJPEG, tabs are used just to indent the code, so even if the editor assumes a different tab width, the code will still be readable.)
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@1278 632fc199-4ca6-4c93-a231-07263d6284db
2014-05-09 18:00:32 +00:00
DRC
dec1abe515
This patch accomplishes the following:
...
-- Auto-generates HAVE_LOCALE_H macro and adds it to jconfig.h (this is used by rdjpgcom.c.)
-- Reconciles the description and ordering of macros between config.h.in and jconfig.h.in, so the two files can be easily diffed.
-- Eliminates the use of the autoheader-generated config.h in the project and moves relevant internal-only macros into a new file, jconfigint.h. This is to avoid "already defined" warnings in files that were including both config.h (to get the internal autotools package information or the INLINE definition) and jconfig.h.
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1258 632fc199-4ca6-4c93-a231-07263d6284db
2014-04-20 09:17:11 +00:00
DRC
472ecea71e
Some of the IJG headers say "Modified by", so clarify that our "Modifications" are not referring to these.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.3.x@1053 632fc199-4ca6-4c93-a231-07263d6284db
2013-09-28 03:23:49 +00:00
DRC
16ff890de7
Port RGB-to-Grayscale color transform from jpeg-8d
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@885 632fc199-4ca6-4c93-a231-07263d6284db
2013-01-01 10:52:29 +00:00
Guido Vollbeding
5829cb2398
The Independent JPEG Group's JPEG software v8d
2015-07-27 13:50:34 -05:00
Thomas G. Lane
5ead57a34a
The Independent JPEG Group's JPEG software v6b
2015-07-27 13:43:00 -05:00
Thomas G. Lane
489583f516
The Independent JPEG Group's JPEG software v6a
2015-07-29 15:32:35 -05:00
Thomas G. Lane
bc79e0680a
The Independent JPEG Group's JPEG software v6
2015-07-29 15:31:30 -05:00
Thomas G. Lane
9ba2f5ed36
The Independent JPEG Group's JPEG software v5a
2015-07-29 15:29:17 -05:00
Thomas G. Lane
36a4ccccd3
The Independent JPEG Group's JPEG software v5
2015-07-29 15:28:00 -05:00
Thomas G. Lane
cc7150e281
The Independent JPEG Group's JPEG software v4a
2015-07-29 15:25:01 -05:00
Thomas G. Lane
88aeed428f
The Independent JPEG Group's JPEG software v4
2015-07-29 15:23:45 -05:00
Thomas G. Lane
4a6b730364
The Independent JPEG Group's JPEG software v3
2015-07-29 15:21:19 -05:00
Thomas G. Lane
bd543f030e
The Independent JPEG Group's JPEG software v2
2015-07-29 15:20:00 -05:00
Thomas G. Lane
2cbeb8abd9
The Independent JPEG Group's JPEG software v1
2015-07-29 15:18:11 -05:00
DRC
cf763c0cd8
Further changes to the copyright/attribution notices to make it clear that our modified files are not part of the IJG's software.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.2.x@876 632fc199-4ca6-4c93-a231-07263d6284db
2013-01-01 09:51:37 +00:00
DRC
a73e870ad0
Change the copyright notices to make it clear that our modified files are not part of the IJG's software.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.2.x@873 632fc199-4ca6-4c93-a231-07263d6284db
2012-12-31 02:52:30 +00:00
DRC
a9b646c202
Allow RGB JPEG files to be created/decoded when using the LJT colorspace extensions
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.2.x@809 632fc199-4ca6-4c93-a231-07263d6284db
2012-03-11 22:06:54 +00:00
DRC
a7466c9d86
Move INLINE macro into config.h. That's really where it belongs anyhow, since it is used only internally, and putting it in jconfig.h was causing problems with DevIL.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@739 632fc199-4ca6-4c93-a231-07263d6284db
2012-01-26 22:20:31 +00:00
DRC
67ce3b2352
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: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@732 632fc199-4ca6-4c93-a231-07263d6284db
2011-12-19 02:21:03 +00:00
DRC
d89e01f5ce
Use 8-bit write to avoid potential pointer aliasing issues (also, at least on x86, it's faster than the previous approach.)
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@700 632fc199-4ca6-4c93-a231-07263d6284db
2011-09-09 18:15:53 +00:00
DRC
b4570bbf8c
Improve performance of non-SIMD color conversion routines and use global constants to define colorspace extension parameters
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@698 632fc199-4ca6-4c93-a231-07263d6284db
2011-09-07 06:31:00 +00:00
DRC
36edad7a4e
Back out CMYK-to-RGB conversions. There is really no way to properly do CMYK-to-RGB conversion without color management, which is out of scope for libjpeg-turbo. Applications wishing to do a trivial conversion, such as was implemented in these routines, can simply request CMYK output and do the trivial conversion themselves (or, even better, use an OSS color management library.) We should not encourage the use of in-library CMYK-to-RGB conversion as a substitute for color management.
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@695 632fc199-4ca6-4c93-a231-07263d6284db
2011-09-07 02:32:02 +00:00
DRC
a2fdd0c9ab
Use integer arithmetic for CMYK-to-RGB conversions
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@687 632fc199-4ca6-4c93-a231-07263d6284db
2011-08-16 01:39:05 +00:00
DRC
51cf51a41c
CMYK/YCCK support
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@680 632fc199-4ca6-4c93-a231-07263d6284db
2011-08-11 02:16:44 +00:00
DRC
23f2bbaeda
Improve performance a bit for the non-SIMD case
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@472 632fc199-4ca6-4c93-a231-07263d6284db
2011-02-27 10:51:20 +00:00
DRC
17ac3720f1
Fix compiler warnings
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@463 632fc199-4ca6-4c93-a231-07263d6284db
2011-02-26 21:20:46 +00:00
DRC
6c0e1fc72e
Significantly improve grayscale performance
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@63 632fc199-4ca6-4c93-a231-07263d6284db
2009-09-24 06:18:25 +00:00
DRC
8ece7fef15
Update copyrights to indicate files modified with colorspace extensions
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@57 632fc199-4ca6-4c93-a231-07263d6284db
2009-08-06 08:32:00 +00:00
DRC
f25c071eb7
Implement new colorspaces to allow directly compressing from/decompressing to RGB/RGBX/BGR/BGRX/XBGR/XRGB without conversion
...
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@35 632fc199-4ca6-4c93-a231-07263d6284db
2009-04-03 12:00:51 +00:00
Pierre Ossman
59a3938b2e
Framework for supporting SIMD acceleration
...
Designed to impose minimal changes on the "normal" code.
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@14 632fc199-4ca6-4c93-a231-07263d6284db
2009-03-09 13:15:56 +00:00