Commit Graph

2564 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Flössie
e495093b18 Clean up clutstore.* and add LRU cache
This commit adds a true LRU cache to `rtengine` which is used in the new
`CLUTStore` class. The code in `clutstore.*` was cleaned up with C++11
features and small optimizations taken from my `clutbench` project.
The `CLUTStore` class was converted to a true singleton.
2016-04-23 22:55:28 +02:00
heckflosse
e61e488346 small speedup for lut += operator 2016-04-23 22:45:40 +02:00
heckflosse
d153b55493 Reduce default strength of raw ca-auto-correction 2016-04-23 20:31:35 +02:00
Beep6581
7aa61e4459 Merge branch 'master' into gtk3 2016-04-23 03:18:40 +02:00
heckflosse
a79e4bc24b small correction to last commit 2016-04-22 13:25:52 +02:00
heckflosse
e0e52fbffc replace all __attribute__ ((aligned (16))) with ALIGNED16 2016-04-22 12:54:53 +02:00
heckflosse
58fb7af2bb Unstable output w/ same PP3 and RAW CA auto-correction when image height % 2 == 1, fixes #3258 2016-04-21 20:51:47 +02:00
Beep6581
098603c647 Merge branch 'master' into gtk3 2016-04-17 20:12:30 +02:00
heckflosse
f7af57d11e Allow lcp vignetting correction for lenses without focal length information (e.g. lenses without chip) 2016-04-12 13:38:45 +02:00
heckflosse
8e4c4be6d6 Allow lcp distortion correction for lenses without focal length information (e.g. lenses without chip) 2016-04-12 13:38:27 +02:00
heckflosse
44b9fdaae8 Fix crash and freeze opening files with GMCY cfa (e.g. Canon Powershot G1) 2016-04-11 17:06:54 +02:00
Desmis
324b54bb46 extend the limit of the tint slider to 10 for IR 2016-04-10 07:26:51 +02:00
heckflosse
86d7d9063f correction for LUT += operator, fixes #3245 2016-04-08 12:46:08 +02:00
Ingo Weyrich
f64e3deea4 Merge pull request #3242 from Beep6581/ris_speedup
Speedup for getAutoExpHistogram and getAutoWBMultipliers. += operator for lookup tables (handy to sum up per thread built histograms)
2016-04-07 18:45:04 +02:00
heckflosse
1eb37d7730 LUT.h: new += operator to sum up per thread histograms; RawImageSource::getRAWHistogram: very small speedup 2016-04-07 18:34:39 +02:00
Beep6581
b35a04306d Merge branch 'master' into gtk3 2016-04-03 23:03:41 +02:00
Ingo Weyrich
05aed401da Merge pull request #3239 from Beep6581/xtransnew
Merge xtrans speedups into master
2016-04-03 18:28:08 +02:00
heckflosse
4858315e24 xtrans_interpolate: removed benchmark code and astyled 2016-04-03 18:24:40 +02:00