Project

General

Profile

Bug #11358

Extremely weird artifacts with demosaicing and tonemapping

Added by Joe Giampaoli over 2 years ago. Updated over 2 years ago.

Status:
Fixed
Priority:
Low
Assignee:
Category:
General
Target version:
Start date:
12/11/2016
Due date:
% Done:

100%

Estimated time:
Affected Version:
2.2.0rc2
System:
all
bitness:
64-bit
hardware architecture:
amd64/x86

Description

OK, I never had this issue before with my DNG's. Now I will be honest, I started using Adobe DNG converter to compress my CHDK DNG's to save some space and so I could insert a better quality jpeg preview on the DNG files instead of the low quality preview made by CHDk.

One screenshot shows when I change the demosaicing to VNG4, as soon as I saw these banding artifacts I knew something was wrong now, because that's the demosaicing I usually use most of the time. Changing "match greens" to "full average" or "full adn local average" made them go away, so that was a temporary relief, until, I activated the "Tonemapping" module, which gave me a very different type of banding artifacts which you will se on the other screenshot.

Rawtherapee is not giving me these artifacts on any of the demosaicing algorithms viewed at 100%, inluding VNG4.

I'm visiting my hometown, so I'm only on my laptop with ubuntu, can't test with my Debian PC.

I'll attach the original DNG created by DNG converter. I think I made the worst mistake of my life doing this conversion to my RAWs, if this is the case... Is all lost? :(

CRW_9672.DNG (11.3 MB) CRW_9672.DNG Joe Giampaoli, 12/11/2016 11:59 AM
Screenshot_Demosaicing_VNG4.png (1.04 MB) Screenshot_Demosaicing_VNG4.png Joe Giampaoli, 12/11/2016 12:00 PM
Screenshot_GlobalTonemapping.png (1.21 MB) Screenshot_GlobalTonemapping.png Joe Giampaoli, 12/11/2016 12:00 PM
CRW_9672.DNG.xmp (1.76 KB) CRW_9672.DNG.xmp Joe Giampaoli, 12/11/2016 11:40 PM
output_darktable_-d_nan (4.7 KB) output_darktable_-d_nan Joe Giampaoli, 12/12/2016 12:33 PM
output_darktable_-d_opencl (24.4 KB) output_darktable_-d_opencl Joe Giampaoli, 12/12/2016 12:33 PM
darktable-cltest (24.3 KB) darktable-cltest Joe Giampaoli, 12/12/2016 01:09 PM

Associated revisions

Revision 4f5d1455 (diff)
Added by Roman Lebedev over 2 years ago

OpenCL: introduce drivers blacklist. Fixes #11358

Revision 020fb410 (diff)
Added by Roman Lebedev over 2 years ago

OpenCL: introduce drivers blacklist. Fixes #11358

Revision 9c63cf91
Added by Ulrich Pegelow over 2 years ago

Merge pull request #1381 from LebedevRI/opencl-driver-blacklist

OpenCL: introduce drivers blacklist. Fixes #11358

History

#1 Updated by Roman Lebedev over 2 years ago

I'm going to guess that it's #11340

#2 Updated by Roman Lebedev over 2 years ago

Can not reproduce.
Can you attach a XMP file that causes this banding for you, please?
Also, is this with opencl?

#3 Updated by Joe Giampaoli over 2 years ago

Sorry for the delay...

It is openCL!, I can reproduce again and again with it enabled, if I disable all is good, should of thought about that before.

If you still want the XMP it's attached, I enabled only VNG4 and Tonemapping where I see both types of banding artifacts with openCL enabled.

Thanks!

#4 Updated by Ulrich Pegelow over 2 years ago

  • % Done changed from 0 to 20
  • Status changed from New to Incomplete

I checked your example image but neither with my Radeon HD7950 nor with my GeForce GTS450 I got any of the mentioned artifacts. What variant of GPU are you using ('darktable -d opencl')? Please also check if any of the modules produces invalid results ('darktable -d nan').

#5 Updated by Joe Giampaoli over 2 years ago

Ulrich Pegelow wrote:

I checked your example image but neither with my Radeon HD7950 nor with my GeForce GTS450 I got any of the mentioned artifacts. What variant of GPU are you using ('darktable -d opencl')? Please also check if any of the modules produces invalid results ('darktable -d nan').

Well, this isn't a really high end laptop, the graphics are integrated intel, I don't think I'll get any benefit from activating opencl on this computer, but here's the output of the both command switches you asked me to do, attached. I don't know how serious this bug is, like I said, turning opencl off did the trick, I just want to make sure I'm not making you waste your time on something caused by lower end hardware... :)

Still, thanks for getting at it.

#6 Updated by Roman Lebedev over 2 years ago

Joe Giampaoli wrote:

Ulrich Pegelow wrote:

I checked your example image but neither with my Radeon HD7950 nor with my GeForce GTS450 I got any of the mentioned artifacts. What variant of GPU are you using ('darktable -d opencl')? Please also check if any of the modules produces invalid results ('darktable -d nan').

Well, this isn't a really high end laptop, the graphics are integrated intel,

So the problem only happens with opencl?
I'm guessing that is beignet? I'm not sure if it is usable or not, but at the very least until recently it was completely broken.

I don't think I'll get any benefit from activating opencl on this computer, but here's the output of the both command switches you asked me to do, attached. I don't know how serious this bug is, like I said, turning opencl off did the trick, I just want to make sure I'm not making you waste your time on something caused by lower end hardware... :)

Still, thanks for getting at it.

#7 Updated by Joe Giampaoli over 2 years ago

Roman Lebedev wrote:

So the problem only happens with opencl?
I'm guessing that is beignet? I'm not sure if it is usable or not, but at the very least until recently it was completely broken.

Correct! Beignet and only when activating opencl. I saw I also have a generic opencl which was installed with wine, so I removed beignet for a try, obviously with generic the opencl option becomes greyed out in DT, so it's pretty much the same as just disabling opencl all together in DT.

On a laptop like this can there really be a performance improvement with opencl and normal integrated gpu?

#8 Updated by Roman Lebedev over 2 years ago

Joe Giampaoli wrote:

Roman Lebedev wrote:

So the problem only happens with opencl?
I'm guessing that is beignet? I'm not sure if it is usable or not, but at the very least until recently it was completely broken.

Correct! Beignet and only when activating opencl.

Ulrich: i think this can be closed.

I saw I also have a generic opencl which was installed with wine, so I removed beignet for a try, obviously with generic the opencl option becomes greyed out in DT, so it's pretty much the same as just disabling opencl all together in DT.

On a laptop like this can there really be a performance improvement with opencl and normal integrated gpu?

#9 Updated by Joe Giampaoli over 2 years ago

Maybe you just might want to disable somehow opencl with beignet so other users don't come across this same issue?

#10 Updated by Roman Lebedev over 2 years ago

Joe Giampaoli wrote:

Maybe you just might want to disable somehow opencl with beignet so other users don't come across this same issue?

Would be lovely.
Can you please attach darktable-cltest output, and the output of standard cltest utility if you have it?

#11 Updated by Joe Giampaoli over 2 years ago

Here's darktable-cltest output. How can I provide you with standard cltest output?

#12 Updated by Joe Giampaoli over 2 years ago

Joe Giampaoli wrote:

Here's darktable-cltest output. How can I provide you with standard cltest output?

Uninstall beignet and rerun darktable-cltest again?

#13 Updated by Roman Lebedev over 2 years ago

Joe Giampaoli wrote:

Here's darktable-cltest output.

So we can either just cut-off all intel devices

[opencl_init] device 0: Intel(R) HD Graphics Cherryview

or by "beignet" substring in DEVICE_VERSION

DEVICE_VERSION: OpenCL 1.2 beignet 1.1.1

This cut-off needs to be disable-able through config,
but i do not think it should be exposed to the gui => no string-freeze break?

How can I provide you with standard cltest output?

No need.

#14 Updated by Joe Giampaoli over 2 years ago

Roman Lebedev wrote:

Joe Giampaoli wrote:

Here's darktable-cltest output.

So we can either just cut-off all intel devices

[opencl_init] device 0: Intel(R) HD Graphics Cherryview

or by "beignet" substring in DEVICE_VERSION

DEVICE_VERSION: OpenCL 1.2 beignet 1.1.1

This cut-off needs to be disable-able through config,
but i do not think it should be exposed to the gui => no string-freeze break?

How can I provide you with standard cltest output?

No need.

OK

I'm off to bed, if you need something else or further test let me know.

Thanks for everything :)

#15 Updated by Tobias Ellinghaus over 2 years ago

  • Target version changed from Future to 2.2.0

Roman Lebedev wrote:

This cut-off needs to be disable-able through config,
but i do not think it should be exposed to the gui => no string-freeze break?

That sounds like a worthwhile thing for 2.2.0.

#16 Updated by Roman Lebedev over 2 years ago

  • System changed from Ubuntu to all
  • Assignee set to Roman Lebedev
  • Status changed from Incomplete to Triaged
  • Category changed from Darkroom to General

#17 Updated by Roman Lebedev over 2 years ago

  • % Done changed from 20 to 70
  • Status changed from Triaged to Patch attached

#18 Updated by Roman Lebedev over 2 years ago

  • % Done changed from 70 to 100
  • Status changed from Patch attached to Fixed

#19 Updated by Roman Lebedev over 2 years ago

  • % Done changed from 100 to 70
  • Status changed from Fixed to Patch attached

Oops, did not mean to push as a branch.

#20 Updated by Roman Lebedev over 2 years ago

  • % Done changed from 70 to 100
  • Status changed from Patch attached to Fixed

Also available in: Atom PDF

Go to top