Local Lab build

@HIRAM

I just push a small change to limits :slight_smile:

Could you test ? Thank you

Jacques

RawTherapee_newlocallab_5.3-473-gcaafa472_WinVista_64.zip
uploaded at
https://drive.google.com/open?id=0B2q9OrgyDEfPS2FpdDAtMVI1RG8

@gaaned92

André

Merci
Jacques

I just push a small change to limits :slight_smile: Could you test ? Thank you

@jdc Yes that solved the crash involving the new warm-cool slider. Many thanks, link to new macintosh build https://filebin.net/4d6enqscfsmuxy1f/RawTherapee_OSX_10.9_64_5.3-477-g6e541812.zip

Now I have found a new error also involving image over exposure. Same covered bridge image, the steps are:
With a fresh/neutral profile, Go to the Locallab tool and enable Locallab and Color and Light.
Go back to the main Exposure tool and move the exposure compensation all the way to + the right. Crash. System also reports a segfaulted omp thread:

Process:               rawtherapee-bin [55384]
Path:                  /Applications/RawTherapee.app/Contents/MacOS/rawtherapee-bin
Identifier:            com.rawtherapee.rawtherapee
Version:               5.3.477 (5.3.477)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           rawtherapee-bin [55384]
User ID:               501

Date/Time:             2017-12-13 13:05:34.537 -0800
OS Version:            Mac OS X 10.12.6 (16G1036)
Report Version:        12
Anonymous UUID:        567E9ED4-5465-6075-F9A6-523A0FD4EEEA


Time Awake Since Boot: 770000 seconds

System Integrity Protection: enabled

Crashed Thread:        8

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0xffffffff0a741000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

VM Regions Near 0xffffffff0a741000:
--> shared memory          00007fffffe22000-00007fffffe23000 [    4K] r-x/r-x SM=SHM  
    

Thread 0:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff9a70534a mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff9a704797 mach_msg + 55
2   com.apple.CoreFoundation      	0x00007fff84a16874 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation      	0x00007fff84a15cf1 __CFRunLoopRun + 1361
4   com.apple.CoreFoundation      	0x00007fff84a15544 CFRunLoopRunSpecific + 420
5   com.apple.HIToolbox           	0x00007fff83f74ebc RunCurrentEventLoopInMode + 240
6   com.apple.HIToolbox           	0x00007fff83f74cf1 ReceiveNextEventCommon + 432
7   com.apple.HIToolbox           	0x00007fff83f74b26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
8   com.apple.AppKit              	0x00007fff8250ba54 _DPSNextEvent + 1120
9   com.apple.AppKit              	0x00007fff82c877ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
10  libgdk-3.0.dylib              	0x0000000104509cec poll_func + 172 (gdkeventloop-quartz.c:742)
11  libglib-2.0.0.dylib           	0x0000000103664f7f g_main_context_iterate + 340
12  libglib-2.0.0.dylib           	0x000000010366522a g_main_loop_run + 207
13  libgtk-3.0.dylib              	0x0000000103e37a4a gtk_main + 74 (gtkmain.c:1323)
14  libgtkmm-3.0.1.dylib          	0x00000001037d5abd Gtk::Main::run(Gtk::Window&) + 253
15  rawtherapee-bin               	0x000000010280e836 main + 5158
16  libdyld.dylib                 	0x00007fff9a5de235 start + 1

Thread 1:
0   libsystem_kernel.dylib        	0x00007fff9a70cbf2 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff9a7f87fa _pthread_cond_wait + 712
2   libiomp5.dylib                	0x000000010495e705 __kmp_launch_monitor(void*) + 1189
3   libsystem_pthread.dylib       	0x00007fff9a7f793b _pthread_body + 180
4   libsystem_pthread.dylib       	0x00007fff9a7f7887 _pthread_start + 286
5   libsystem_pthread.dylib       	0x00007fff9a7f708d thread_start + 13

Thread 2:
0   libsystem_kernel.dylib        	0x00007fff9a70cbf2 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff9a7f87fa _pthread_cond_wait + 712
2   libiomp5.dylib                	0x0000000104960b70 __kmp_suspend_64 + 384
3   libiomp5.dylib                	0x000000010496c5d5 kmp_flag_64::wait(kmp_info*, int, void*) + 597
4   libiomp5.dylib                	0x000000010496a5e5 __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) + 149
5   libiomp5.dylib                	0x000000010496c19b __kmp_fork_barrier(int, int) + 411
6   libiomp5.dylib                	0x00000001049450cc __kmp_launch_thread + 92
7   libiomp5.dylib                	0x000000010495d8dc __kmp_launch_worker(void*) + 828
8   libsystem_pthread.dylib       	0x00007fff9a7f793b _pthread_body + 180
9   libsystem_pthread.dylib       	0x00007fff9a7f7887 _pthread_start + 286
10  libsystem_pthread.dylib       	0x00007fff9a7f708d thread_start + 13

Thread 3:
0   libsystem_kernel.dylib        	0x00007fff9a70cbf2 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff9a7f87fa _pthread_cond_wait + 712
2   libiomp5.dylib                	0x0000000104960b70 __kmp_suspend_64 + 384
3   libiomp5.dylib                	0x000000010496c5d5 kmp_flag_64::wait(kmp_info*, int, void*) + 597
4   libiomp5.dylib                	0x000000010496a5e5 __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) + 149
5   libiomp5.dylib                	0x000000010496c19b __kmp_fork_barrier(int, int) + 411
6   libiomp5.dylib                	0x00000001049450cc __kmp_launch_thread + 92
7   libiomp5.dylib                	0x000000010495d8dc __kmp_launch_worker(void*) + 828
8   libsystem_pthread.dylib       	0x00007fff9a7f793b _pthread_body + 180
9   libsystem_pthread.dylib       	0x00007fff9a7f7887 _pthread_start + 286
10  libsystem_pthread.dylib       	0x00007fff9a7f708d thread_start + 13

Thread 4:
0   libsystem_kernel.dylib        	0x00007fff9a70cbf2 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff9a7f87fa _pthread_cond_wait + 712
2   libiomp5.dylib                	0x0000000104960b70 __kmp_suspend_64 + 384
3   libiomp5.dylib                	0x000000010496c5d5 kmp_flag_64::wait(kmp_info*, int, void*) + 597
4   libiomp5.dylib                	0x000000010496a5e5 __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) + 149
5   libiomp5.dylib                	0x000000010496c19b __kmp_fork_barrier(int, int) + 411
6   libiomp5.dylib                	0x00000001049450cc __kmp_launch_thread + 92
7   libiomp5.dylib                	0x000000010495d8dc __kmp_launch_worker(void*) + 828
8   libsystem_pthread.dylib       	0x00007fff9a7f793b _pthread_body + 180
9   libsystem_pthread.dylib       	0x00007fff9a7f7887 _pthread_start + 286
10  libsystem_pthread.dylib       	0x00007fff9a7f708d thread_start + 13

Thread 5:: gmain
0   libsystem_kernel.dylib        	0x00007fff9a70ceb6 __select + 10
1   libglib-2.0.0.dylib           	0x0000000103670f28 g_poll + 426
2   libglib-2.0.0.dylib           	0x0000000103664f7f g_main_context_iterate + 340
3   libglib-2.0.0.dylib           	0x000000010366502d g_main_context_iteration + 55
4   libglib-2.0.0.dylib           	0x00000001036660db glib_worker_main + 30
5   libglib-2.0.0.dylib           	0x0000000103685e21 g_thread_proxy + 90
6   libsystem_pthread.dylib       	0x00007fff9a7f793b _pthread_body + 180
7   libsystem_pthread.dylib       	0x00007fff9a7f7887 _pthread_start + 286
8   libsystem_pthread.dylib       	0x00007fff9a7f708d thread_start + 13

Thread 6:
0   libsystem_kernel.dylib        	0x00007fff9a70dd96 kevent + 10
1   libgio-2.0.0.dylib            	0x00000001034c3467 _kqueue_thread_func + 577
2   libsystem_pthread.dylib       	0x00007fff9a7f793b _pthread_body + 180
3   libsystem_pthread.dylib       	0x00007fff9a7f7887 _pthread_start + 286
4   libsystem_pthread.dylib       	0x00007fff9a7f708d thread_start + 13

Thread 7:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	0x00007fff9a70534a mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff9a704797 mach_msg + 55
2   com.apple.CoreFoundation      	0x00007fff84a16874 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation      	0x00007fff84a15cf1 __CFRunLoopRun + 1361
4   com.apple.CoreFoundation      	0x00007fff84a15544 CFRunLoopRunSpecific + 420
5   com.apple.AppKit              	0x00007fff82658f02 _NSEventThread + 205
6   libsystem_pthread.dylib       	0x00007fff9a7f793b _pthread_body + 180
7   libsystem_pthread.dylib       	0x00007fff9a7f7887 _pthread_start + 286
8   libsystem_pthread.dylib       	0x00007fff9a7f708d thread_start + 13

Thread 8 Crashed:
0   rawtherapee-bin               	0x0000000102ac2d89 .omp_outlined..56.14362 + 2361
1   libiomp5.dylib                	0x000000010497eff3 __kmp_invoke_microtask + 147
2   libiomp5.dylib                	0x0000000104945c18 __kmp_invoke_task_func + 168
3   libiomp5.dylib                	0x000000010494517e __kmp_launch_thread + 270
4   libiomp5.dylib                	0x000000010495d8dc __kmp_launch_worker(void*) + 828
5   libsystem_pthread.dylib       	0x00007fff9a7f793b _pthread_body + 180
6   libsystem_pthread.dylib       	0x00007fff9a7f7887 _pthread_start + 286
7   libsystem_pthread.dylib       	0x00007fff9a7f708d thread_start + 13

@HIRAM

Even after updating my local repository, I cannot find a 6e541812 hash in the newlocallab branch.
And you seem in advance as you are 477 commits after 5.3 when I am only 473 commits after 5.3.
So we seem to have different versions with additionnal commits on your local repository.
Do you have an explanation?

Indeed,

git branch --contains 6e541812

returns nothing.
This is why it’s so important for development builds to always list the commit hash, and not just the “friendly” version 5.3-477!

Yes I added a few statements to macosx_bundle.sh and every time I pull it advances the commits locally. The packaging commands bundle libiomp5 and lensfun db 2. They are not default elements so stashing and repeatedly manually patching would be required to synchronize the file name.

@HIRAM if the changes are required, why not open a PR? Or if they’re not requires, why not drop them?

@Morgan_Hardwood
https://github.com/Beep6581/RawTherapee/pull/4227

Thanks for the merge, that was quick! Re-cloning now.

There was just one more change I had for the mac build:

https://github.com/Beep6581/RawTherapee/pull/4228

@HIRAM

I push a change

  1. I hope it fixed the crash in all cases (I limit the value of “lumaref”)
  2. I improved “local denoise” with
    a) add DCT (Discrete Cosinus Transform = Fast Fourier Transform) to improve Luma denoise
    b) improve slightly algo, more progressive

Jacques

RawTherapee_newlocallab_5.3-481-gce5f9f17_WinVista_64.zip

uploaded at

https://drive.google.com/open?id=0B2q9OrgyDEfPS2FpdDAtMVI1RG8

1 Like

@jdc Running fine now without crashes!

@gaaned92 @Morgan_Hardwood My clone seems even with the remote repository now.

Version: 5.3-481-gce5f9f17
Branch: newlocallab
Commit: ce5f9f17
Commit date: 2017-12-14
Compiler: clang-mp-3 3.9.1
Processor: generic x86
System: Apple
Bit depth: 64 bits
Gtkmm: V3.22.2
Lensfun: V0.3.2.0
Build type: release
Build flags: -arch x86_64 -O3 -mmacosx-version-min=10.9 -march=x86-64 -std=c++11 -std=c++11 -mtune=generic -Werror=unused-label -mmacosx-version-min=10.9 -flto -fopenmp=libomp -Werror=unknown-pragmas -Wall -Wno-unused-result -Wno-deprecated-declarations -O3 -DNDEBUG -ftree-vectorize
Link flags: -arch x86_64 -mmacosx-version-min=10.9 -march=x86-64 -mtune=generic -headerpad_max_install_names -flto
OpenMP support: ON
MMAP support: ON
1 Like

@HIRAM

Thank you, for testing :slight_smile:

1 Like

I just push a change “db03c16”
I deeply retouched the local module denoise

Discrete Cosinus Transformed, added to Luminance and Chrominance : 2 sliders “details”
Of course in addition to wavelets, which work for both Luma and Chroma with 4 sliders (fine and coarse for luma and fine and coarse for chroma).

In addition I reviewed the progressivity and the nature of “denoise wavelet”

One remark, the shape detection is rough, I have not implanted the adhoc module with the color detection, because the noise will penalize the algorithm, but it is possible to do (??)

I recommand to clean “pp3” an “mip” :slight_smile:

jacques

1 Like

I push a change “9b87760”

Contrary to what I said so far, I added a simplified “scope” function for “local denoise”.

This function will make it possible to increase the differentiation within the selected zone, for example by treating only the skin.
By default I set “scope” to 30. If you select scope> 90, all colors are treated identically.

I recommand to clean “pp3” an “mip"

Jacques

I have clean and optimize “fftw” code.

I have updated Rawpedia for :

  • warm -cool (Color and Light)
  • denoise (DCT and Scope)

:slight_smile:
Jacques

RawTherapee_newlocallab_5.3-501-g17239849_WinVista_64.zip
Uploaded at
https://drive.google.com/open?id=0B2q9OrgyDEfPS2FpdDAtMVI1RG8

Thx Jacques!
Mac build:
https://filebin.net/4d6enqscfsmuxy1f/RawTherapee_OSX_10.9_64_5.3-501-g17239849.zip