Commit Graph

12224 Commits

Author SHA1 Message Date
heckflosse
74447dff99 cleanup for Ciecam02::curveJfloat(..) 2016-05-13 21:52:49 +02:00
heckflosse
c601e05422 Fix non OpenMP build and astyled improcfun.cc 2016-05-13 15:40:21 +02:00
Flössie
aa29125316 Read-ahead of getClutValues() is only one pixel now 2016-05-12 21:44:20 +02:00
Flössie
e8595890c5 Final cleanups 2016-05-12 20:21:17 +02:00
Ingo Weyrich
6e102351e0 Merge pull request #3281 from Beep6581/retinexgain
Retinexgain
2016-05-12 13:40:11 +02:00
heckflosse
1265679651 Retinex: some small improvements and some cleanup 2016-05-11 21:04:32 +02:00
Flössie
f4d5c645de Add Ingo's clutstore_no_mmx.patch
Ingo has provided a solution for the strange Windows crash with
`_mm_cvtpu16_ps()`: It was not an alignment problem, but the use of
MMX instructions which led to the SEGV.

Now Ingo's solutions omits MMX instructions altogether and is
nevertheless faster than the `_mm_set_ps()` workaround.

Many thanks to @heckflosse!
2016-05-11 20:01:17 +02:00
heckflosse
aa2beb4c72 Floessie suggested some C++11 related improvements which I add with this commit 2016-05-11 00:04:11 +02:00
Flössie
1edfb0c6f7 Switch getClutValue to vfloat2 and load/store source[RGB] unaligned
Ingo had some cleanup suggestions in #3154 which I tried to realize with
this commit. Although switching to `vfloat2` is a clever idea, I can see
no further speedup.
2016-05-10 20:39:20 +02:00
heckflosse
721de446f4 Fix crash caused by uninitialized variables when using ciecam02 on files without exif data, fixes #3084 2016-05-09 20:00:12 +02:00
heckflosse
5c14573be7 cleaned code a bit, also added a small speedup 2016-05-08 23:16:23 +02:00
heckflosse
01ddba2397 remove CLIP() from index when accessing gamma2curve LUT because gamma2curve LUT already clips internally 2016-05-07 22:11:39 +02:00
heckflosse
6646c2dc5c Speedup for thumbnail and editor processing, also reduced base memory usage a bit 2016-05-06 21:51:57 +02:00
Beep6581
0074a5d429 Merge branch 'master' into gtk3 2016-05-06 18:51:21 +02:00
heckflosse
31b2589b9b Fix crashes caused by aligned access to unaligned memory in CLUT code, fixes #3154, fixes #3278, fixes #3277 2016-05-06 17:16:45 +02:00
Beep6581
ab0783e6fe Merge branch 'master' into gtk3 2016-05-05 20:52:16 +02:00
Ingo Weyrich
678315672b Merge pull request #3276 from Floessie/fix-haldclut-overrun
Fix buffer overrun when applying HaldCLUT (#3154)
2016-05-04 20:30:37 +02:00
Flössie
2ad89f9464 Fix buffer overrun when applying HaldCLUT (#3154)
Ingo found a buffer overrun due to an inverted mask when deciding
whether to take the SSE path or not. This fix applies his suggested
pattern for boder cases. Kudos to @heckflosse.
2016-05-04 20:23:28 +02:00
Beep6581
7507a53d8f Merge branch 'master' into gtk3 2016-05-03 21:44:10 +02:00
heckflosse
9622bbc2ba Fix buffer overrun in clutstore.cc 2016-05-03 20:50:45 +02:00
heckflosse
aa5072fa0a Speedup for histogram panel 2016-05-03 20:12:04 +02:00
Beep6581
4a8461afb9 Merge branch 'master' into gtk3 2016-05-03 20:06:29 +02:00
heckflosse
5e0a859cea Fix buffer overrun in rgbProc() 2016-05-03 20:01:59 +02:00
Beep6581
5294d22bd1 Merge branch 'master' into gtk3 2016-05-01 22:49:36 +02:00
Beep6581
add88cc62c astyle'd rtengine/clutstore.cc 2016-05-01 22:49:10 +02:00
Ingo Weyrich
7a417f2b56 Merge pull request #3256 from Floessie/haldclut-revision
HaldCLUT revision and speedup (kudos to Floessie for this great work)
2016-05-01 21:49:16 +02:00
Flössie
2b9f6e3355 Add Ingo's clutspeed.patch 2016-05-01 21:36:13 +02:00
Flössie
d530617ae1 Include last remarks from Ingo
- Changed `_mm_store_ps` to `STVF`
- Increased number of cached CLUTs by factor 1.5
2016-05-01 20:49:17 +02:00
Flössie
17635cf535 Add myself to AUTHORS.txt
With permission by [Ingo][1] I added myself to AUTHORS.txt.

[1]: https://github.com/Beep6581/RawTherapee/pull/3260#issuecomment-212565582
2016-05-01 11:17:40 +02:00
Flössie
39f4db609a Final code cleanup
- Corrected whitespace and comments
- Replaced `VECTLENSP` with `__SSE2__` and `4`
- Removed redundant `inline`
  (see: http://programmers.stackexchange.com/a/35436 and
  http://stackoverflow.com/a/5971755)
2016-05-01 11:10:11 +02:00
Flössie
eceb024ba8 Add Ingo's gamma_srgbclipped patch 2016-05-01 10:41:21 +02:00
Desmis
a742e3a7ba merge master into retinexgain 2016-05-01 08:53:52 +02:00
heckflosse
2dd2f5ca17 Speedup for thumbnail processing 2016-05-01 00:16:06 +02:00
Beep6581
a47043d6cd Merged master into gtk3 with some manually fixed merge conflicts caused by formatting changes. 2016-04-30 16:29:13 +02:00
Beep6581
59a9d2dc2f astyle on files edited by rec2020 branch 2016-04-30 16:20:45 +02:00
Desmis
c8db56643a Merge rec2020 into master 2016-04-30 15:39:59 +02:00
Desmis
06611c04ba small change 2016-04-30 07:47:21 +02:00
Desmis
12a5d90fe6 chanhe matrix rgb-xyz and xyz-rgb 2016-04-30 07:41:34 +02:00
Beep6581
130337578e Updated Sony ILCE-6000.dcp, #3220 2016-04-29 23:17:54 +02:00
Flössie
beaea22779 Vectorize color space conversion for HaldCLUT
Vectorize color space conversion for HaldCLUT depending on the
definition of `VECTLENSP`. It's not fully AVX compatible because `F2V`,
`LVF`, and `STVF` are SSE only.
2016-04-29 20:35:37 +02:00
Flössie
29fe23e517 Move film_simulation_strength calculation into HaldCLUT::getRGB()
- Moved `film_simulation_strength` calculation into `HaldCLUT::getRGB()`
- Removed unneeded base class `CLUT`
- Used `_MM_SHUFFLE`
2016-04-29 17:26:56 +02:00
Desmis
e9beb1b69c Add rec2020.icm 2016-04-29 07:53:41 +02:00
Desmis
b97ed08987 Add working profile Rec2020 2016-04-29 07:41:17 +02:00
Beep6581
56af7e88ce Merge branch 'master' into gtk3 2016-04-27 17:47:27 +02:00
Flössie
9dee6dddf1 Hoist out_rgbx allocation out of the loops 2016-04-26 22:16:23 +02:00
Flössie
bf499055e1 Apply HaldCLUT::getRGB() per tile line
`getRGB()` now takes a whole tile line instead of a single pixel.
2016-04-26 21:57:58 +02:00
Flössie
78c08e9e5c Add Ingo's optimizations
Add Ingo's SSE optimizations and clean up the non-SSE part of `getRGB()`
with `intp()`.
2016-04-26 20:48:11 +02:00
Flössie
56f8ea086c Correct whitespace
Last commit messed up some whitespace, this one fixes it.
2016-04-23 23:02:02 +02:00
Flössie
b1a9e96836 Store HaldCLUT as flat RGBx array
Instead of using an `Image16`, which is organized in planes, store the
HaldCLUT in an `AlignedBuffer<std::uint16_t>` with sequential RGBx
values. This gives a speedup of roughly 23% here.
2016-04-23 22:55:28 +02:00
Flössie
f639cd6b82 Use Image16 instead of Imagefloat for CLUT
Gain speed and reduce memory by using Image16 instead of Imagefloat for
the CLUT.
2016-04-23 22:55:28 +02:00