Desmis
6dba58e26e
fixed special handling of chroma = -100
2016-05-30 09:11:07 +02:00
heckflosse
d0cef55aad
Fix wrong crop for Samsung NX1 and NX500
2016-05-24 19:06:41 +02:00
heckflosse
023e7d3695
Copied poke255_uc implementation from gtk3 into master
2016-05-22 14:35:53 +02:00
Beep6581
f490c64682
Updated camconst.json, #3298
2016-05-22 14:08:30 +02:00
Flössie
c556771843
Prevent narrowing conversion when building for PowerPC
2016-05-18 21:16:27 +02:00
Flössie
53f03bd00c
Fix ODR violation
...
When building with LTO, the compiler warns about a violation of the ODR.
This commit fixes the two competing places by moving the structs into
anonymous namespaces.
2016-05-18 20:57:46 +02:00
Flössie
68a77f26f6
Fix std::out_of_range exception with empty HaldCLUT basename
...
User jgschaefer [reported an error on pixls.us](https://discuss.pixls.us/t/rt-build-from-git-crash-on-launch-debian-testing-64-bit/1425 )
which could be traced down to an empty basename for a HaldCLUT. The
original implementation did not throw an exception due to the use of
`std::string::substr()` instead of `std::string::erase()`, but silently
assigned the first working profile to `profile_name`.
2016-05-17 20:51:14 +02:00
heckflosse
89a7ebac16
fix wrong condition in Color::transitred
2016-05-16 19:13:35 +02:00
heckflosse
80f86c7189
Histogram of working space does not show 'gray2C' for gray regions, fixes #3283 , fixes #3213 , kudos to mmmtok for providing the patch
2016-05-14 19:29:26 +02:00
heckflosse
e8d90698cf
Fix copy/paste bugs
2016-05-14 14:26:56 +02:00
Ingo Weyrich
298a8f417f
Merge pull request #3282 from Floessie/dedusting-haldclut-fix
...
HaldCLUT cleanups after the dust (#3154 ) has settled
2016-05-14 11:57:56 +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
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
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
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
heckflosse
9622bbc2ba
Fix buffer overrun in clutstore.cc
2016-05-03 20:50:45 +02:00
heckflosse
5e0a859cea
Fix buffer overrun in rgbProc()
2016-05-03 20:01:59 +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
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
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
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
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