3491 Commits

Author SHA1 Message Date
heckflosse
d0cef55aad Fix wrong crop for Samsung NX1 and NX500 2016-05-24 19:06:41 +02:00
heckflosse
918179f621 Correction to last commit 2016-05-23 20:01:15 +02:00
heckflosse
d0158efadf Small correction to Deutsch file, thanks to hi-tower for the hint 2016-05-23 19:31:22 +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
Beep6581
6185ce3da7 Regenerated translation files. 2016-05-22 13:48:35 +02:00
Ingo Weyrich
4cf80e7c73 Merge pull request #3293 from Floessie/fix-build-warnings
Fix build warnings
2016-05-19 22:51:49 +02:00
Ingo Weyrich
f5abb46449 Merge pull request #3294 from eduperez/master
Use "find_program" to search for git executable
2016-05-19 22:43:53 +02:00
Eduardo Pérez
7d97d0da93 Use "find_program" to search for git executable
CMake's "find_file" can return non-executable files or folders, thus "find_program" must be used to ensure that only executable files are detected.
Fixes issue #3290
2016-05-19 15:23:37 +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
Ingo Weyrich
39bedf026c Merge pull request #3291 from Floessie/fix-empty-clut-name
Fix std::out_of_range exception with empty HaldCLUT basename
2016-05-17 22:17:16 +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
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
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
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
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
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