heckflosse
540e359945
Inline DCPProfile::hsdApply() to speedup applying dcp profiles, closes #5206
2019-03-08 01:44:51 +01:00
George Hilliard
a63cd8a87c
Fix mismatched malloc/delete leak, take 2 with cJSON_Delete
...
From the Valgrind report:
```
Mismatched free() / delete / delete []
at 0x4838EAB: operator delete(void*) (vg_replace_malloc.c:576)
by 0xBC5C87: std::default_delete<cJSON>::operator()(cJSON*) const (unique_ptr.h:81)
by 0xBC4ACA: std::unique_ptr<cJSON, std::default_delete<cJSON> >::~unique_ptr() (unique_ptr.h:274)
by 0xBBB755: (anonymous namespace)::getAliases(Glib::ustring const&) (dcp.cc:422)
by 0xBC1CCA: rtengine::DCPStore::init(Glib::ustring const&, bool) (dcp.cc:1846)
by 0xC3ED4F: rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) [clone ._omp_fn.0] (init.cc:81)
by 0x89743FF: GOMP_parallel_sections (sections.c:158)
by 0xC3E906: rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) (init.cc:52)
by 0x9CE10E: Options::load(bool) (options.cc:2358)
by 0x982CD6: main (main.cc:603)
Address 0xd62d700 is 0 bytes inside a block of size 64 alloc'd
at 0x483777F: malloc (vg_replace_malloc.c:299)
by 0xE97390: cJSON_New_Item (cJSON.c:205)
by 0xE98718: cJSON_ParseWithOpts (cJSON.c:1020)
by 0xE9886F: cJSON_Parse (cJSON.c:1083)
by 0xBBB4D3: (anonymous namespace)::getAliases(Glib::ustring const&) (dcp.cc:422)
by 0xBC1CCA: rtengine::DCPStore::init(Glib::ustring const&, bool) (dcp.cc:1846)
by 0xC3ED4F: rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) [clone ._omp_fn.0] (init.cc:81)
by 0x89743FF: GOMP_parallel_sections (sections.c:158)
by 0xC3E906: rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) (init.cc:52)
by 0x9CE10E: Options::load(bool) (options.cc:2358)
by 0x982CD6: main (main.cc:603)
```
2018-11-07 12:11:43 -06:00
George Hilliard
7cbf198db8
Revert "Fix mismatched malloc/delete leak"
...
This reverts commit 77eccdf13df8f1190d13d854f5dfd12daca09011.
2018-11-07 11:55:02 -06:00
George Hilliard
77eccdf13d
Fix mismatched malloc/delete leak
...
From the Valgrind report:
```
Mismatched free() / delete / delete []
at 0x4838EAB: operator delete(void*) (vg_replace_malloc.c:576)
by 0xBC5C87: std::default_delete<cJSON>::operator()(cJSON*) const (unique_ptr.h:81)
by 0xBC4ACA: std::unique_ptr<cJSON, std::default_delete<cJSON> >::~unique_ptr() (unique_ptr.h:274)
by 0xBBB755: (anonymous namespace)::getAliases(Glib::ustring const&) (dcp.cc:422)
by 0xBC1CCA: rtengine::DCPStore::init(Glib::ustring const&, bool) (dcp.cc:1846)
by 0xC3ED4F: rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) [clone ._omp_fn.0] (init.cc:81)
by 0x89743FF: GOMP_parallel_sections (sections.c:158)
by 0xC3E906: rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) (init.cc:52)
by 0x9CE10E: Options::load(bool) (options.cc:2358)
by 0x982CD6: main (main.cc:603)
Address 0xd62d700 is 0 bytes inside a block of size 64 alloc'd
at 0x483777F: malloc (vg_replace_malloc.c:299)
by 0xE97390: cJSON_New_Item (cJSON.c:205)
by 0xE98718: cJSON_ParseWithOpts (cJSON.c:1020)
by 0xE9886F: cJSON_Parse (cJSON.c:1083)
by 0xBBB4D3: (anonymous namespace)::getAliases(Glib::ustring const&) (dcp.cc:422)
by 0xBC1CCA: rtengine::DCPStore::init(Glib::ustring const&, bool) (dcp.cc:1846)
by 0xC3ED4F: rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) [clone ._omp_fn.0] (init.cc:81)
by 0x89743FF: GOMP_parallel_sections (sections.c:158)
by 0xC3E906: rtengine::init(rtengine::Settings const*, Glib::ustring, Glib::ustring, bool) (init.cc:52)
by 0x9CE10E: Options::load(bool) (options.cc:2358)
by 0x982CD6: main (main.cc:603)
```
2018-11-02 03:06:59 -05:00
heckflosse
0edd4bfcea
dcp profiles not found when user dcp profile dir did not exist
2018-06-14 15:38:40 +02:00
Alberto Griggio
09b5dca08d
merge branch 'user-dcp-profiles-dir'
2018-06-13 14:31:07 +02:00
Flössie
df5c385135
Use cJSON_Minify()
and fix missed const
opportunities
2018-04-11 20:16:35 +02:00
Flössie
4332b7edeb
Implement dcpprofiles/camera_model_aliases.json
( #4500 )
2018-04-10 20:33:54 +02:00
Alberto Griggio
4344603a3d
further fixes to ensure smooth transitions to clipped colours
2018-04-04 01:05:23 +02:00
Alberto Griggio
b42a45b481
merged branch 'unbounded-processing' into 'dev'
2018-03-28 21:35:23 +02:00
Alberto Griggio
b09bf381b4
added possibility to specify extra working spaces via a json file
...
The JSON file is called workingspaces.json, it can be either in the global iccprofiles directory, or in the user's ICC profiles dir (set in preferences).
The format is the following:
{"working_spaces": [
{
"name" : "ACES",
"file" : "/path/to/ACES.icc"
},
{
"name" : "ACEScg",
"matrix" : [0.7184354, 0.16578523, 0.09882643, 0.29728935, 0.66958117, 0.03571544, -0.00647622, 0.01469771, 0.66732561]
}
]}
if "matrix" is present, "file" is ignored. If only "file" is present, the matrix is extracted from the ICC profile. For this, we look only at the R, G, and B matrix columns and the white point set in the profile. Bradford adaptation is used to convert the matrix to D50. Anything else (LUT, TRC, ...) in the profile is ignored.
It is the user's responsibility to ensure that the profile is suitable to be used as a working space.
2018-03-20 15:06:09 +01:00
Alberto Griggio
08846264c7
started work on making RT not clip the image at intermediate stages
2018-02-09 21:25:39 +01:00
Alberto Griggio
5d5c51d200
added support for user-specific DCP and input ICC profiles dirs
...
Look for direcories dcpprofiles/ and iccprofiles/input/ under Options::rtdir
(typically something like $HOME/.config/RawTherapee)
2018-02-07 09:34:19 +01:00
heckflosse
0498048ca0
Speedup for DCPProfile::apply(), closes #4294
2018-01-13 12:23:46 +01:00
Hombre57
ee0bff4124
Updated frame handling with any type of hierarchy (see #4008 )
...
Images can now be detected in nested IFDs or as root IFDs.
2017-09-16 22:30:07 +02:00
Hombre57
f23be9345c
Add multi-frame handling.
...
- Exif of all frames are displayed in the Editor's Exif tab (without
separator)
- isHDR and isPixelShift is added to the data files stored in cache
- In the Editor panel, the QuickInfo frame display the HDR and
PixelShift information, as well as the number of frame and bit-depth for
HDR image
- the number of frame is provided by dcraw. If not set, it is provided
by the Exif's main IFD count
- the PixelShift information (for Pentax as of now) is provided by
looking at the Exif informations
- the HDR information is provided by the Exif information of the first
frame for Pentax raw files, or by the bitspersample, sampleformat and
compression tags for other files
TODO: add icons to the thumbnails to tag HDR and PixelShift files.
2017-08-08 23:42:05 +02:00
heckflosse
642b4cc86c
Fix some coverity issues
2017-06-16 21:21:22 +02:00
Alberto Griggio
2edd677d1a
Fixed various memory leaks as reported by AddressSanitizer
2017-06-07 10:36:28 +02:00
heckflosse
5c1701022d
Fix all warnings in dcp.cc
2017-03-31 20:39:17 +02:00
Hombre
c654785ae3
Merge branch 'dev' into rt-cli
2017-03-18 18:17:45 +01:00
Flössie
97caf21b5c
PIMPLed and streamlined ICCStore
( #3691 )
2017-03-18 11:59:14 +01:00
Hombre
567ed3629c
Automatically selected profiles are now correctly loaded on first use.
2017-03-13 01:30:34 +01:00
Flössie
e9b5f42a9f
Sanitize ImageDimensions
base class
...
- Make `width` and `height` private
- Drop `getW()` and `getH()`
- Clean `PreviewProps`
2017-02-14 21:23:54 +01:00
Hombre
a04b3eefba
Adding rawtherapee-cli.exe, '-q' (quick start mode) added
...
Standard rawtherapee.exe now has almost no command line options left.
Use '-h' to see options for each executables.
2017-02-13 23:38:05 +01:00
heckflosse
a32e13400b
Removed stopwatches
2016-06-12 13:32:08 +02:00
Flössie
97dae796c6
Additional cleanups for dcp.*
( #3343 )
2016-06-12 12:08:34 +02:00
heckflosse
b8749f8484
dcp speedup cleanup
2016-06-10 18:30:07 +02:00
heckflosse
eedb9f39bc
Another 'small' speedup for dcp
2016-06-10 00:20:03 +02:00
heckflosse
3aa9947a37
Forgot to add dcp.cc with last commit
2016-06-09 23:43:55 +02:00
heckflosse
b50de693a0
Replace expensive dcp srgb gamma calculations by access to lookup table => no difference in output and much faster
2016-06-09 21:49:13 +02:00
Flössie
47aa3402ae
Finalize dcp.*
cleanup ( #3304 )
...
- Introduce DCPProfile::Triple and DCPProfile::Matrix
- Hide DCPProfile::ApplyState internals
- Refactor the rest
2016-06-09 19:08:46 +02:00
Flössie
8ee8eb4ed6
Another bunch of cleanups
...
- DCPProfile::apply()
- DCPProfile::makeHueSatMap()
- DCPProfile::hsdApply()
- Refactoring
More to come...
2016-06-07 21:04:12 +02:00
Floessie
2abd641c06
Refactor DCPProfile::DCPProfile()
...
- Rename members
- Styling
- C++11
Still to come:
- All the rest of DCPProfile
2016-06-05 21:30:51 +02:00
Floessie
e0ca8ecdff
First round of cleanups for rtengine/dcp.*
...
- Sorted functions and methods
- Moved local functions to anonymous namespace
- Slightly modernized local functions
- Reworked `DCPStore` and fixed memory leak
Still coming:
- Rework `DCPProfile`
2016-06-04 22:43:09 +02:00
Floessie
a520c93775
Add Ingo's patch for #3304
2016-06-04 21:07:41 +02:00
heckflosse
5c14573be7
cleaned code a bit, also added a small speedup
2016-05-08 23:16:23 +02:00
heckflosse
2dd2f5ca17
Speedup for thumbnail processing
2016-05-01 00:16:06 +02:00
Adam Reichold
a2eea7c265
Finally fully remove the safegtk module.
2016-02-21 10:26:11 +01:00
Adam Reichold
9ec0557edf
Simplify the DCLP singleton instances found by searching for methods named 'getInstance'.
2015-11-28 14:53:27 +01:00
Ingo
ee4e56ce00
Enable DCP options regardless of DCP source. Neutral profile disables DCP curve and look table. Fixes #2922
2015-09-30 17:45:36 +02:00
DrSlony
0e0cfb9b25
Formatted all .cc and .h code in rtengine, rtexif and rtgui using astyle
2015-08-11 11:55:03 +02:00
DrSlony
effb46c3e1
Line endings
2015-08-11 11:53:44 +02:00
torger
094ad23cce
Issue 2843: Hl compression function restored (restored some bad changes caused by new DCP look table code)
2015-07-15 17:13:06 +02:00
torger
d5ca351c20
Issue 2134: removed obsolete raw highlight preservation setting from GUI (still left in procparams for backwards compatilibility)
2015-07-10 12:00:36 +02:00