Bug 126914 - Gamma table doesn't work for scanners with more than 256 entries
Summary: Gamma table doesn't work for scanners with more than 256 entries
Status: ASSIGNED
Alias: None
Product: kooka
Classification: Applications
Component: libkscan (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Klaas Freitag
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-07 18:39 UTC by Rune Kock
Modified: 2011-11-11 14:42 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rune Kock 2006-05-07 18:39:42 UTC
Version:            (using KDE KDE 3.5.1)
Installed from:    SuSE RPMs
OS:                Linux

Some scanners have gamma tables with more than 256 entries.  E.g. the Canon Pixma series (http://home.arcor.de/wittawat/pixma/index.html) have gamma tables with 4096 entries.

libkscan and Kooka seem to be hard-coded to 256-entry gamma tables.

This means that if I use custom gamma-settings in Kooka, the result is quite wrong -- sometimes way too dark, sometimes too light.  As long as custom gamma-settings is disabled, the scans are fine.

(Thanks to Wittawat Yamwong for investigating this issue).
Comment 1 Jonathan Marten 2011-11-10 22:06:26 UTC
Git commit 802137b2189647fd625dd313ecf491a0d96ff69e by Jonathan Marten.
Committed on 10/11/2011 at 22:55.
Pushed by marten into branch 'master'.

Finish the porting of gamma table editing

It should now be possible to edit gamma tables and correctly update
the scanner with them.  At the moment only a single gamma table is
supported, if the scanner has individual gamma tables for each
colour channel then the same gamma table is sent to each.

This should also work (although I am not able to test it) for scanners
with other than 256 gamma table entries, bug 126914.

Also clean up the code and API, and add API documentation to the
gamma table classes.

CCBUG:126914

M  +66   -75   libkscan/gammadialog.cpp
M  +56   -21   libkscan/gammadialog.h
M  +43   -39   libkscan/gammawidget.cpp
M  +32   -17   libkscan/gammawidget.h
M  +124  -46   libkscan/kgammatable.cpp
M  +167  -33   libkscan/kgammatable.h
M  +3    -2    libkscan/kscancontrols.cpp
M  +33   -55   libkscan/kscanoption.cpp
M  +4    -5    libkscan/kscanoption.h
M  +72   -112  libkscan/scanparams.cpp
M  +3    -1    libkscan/scanparams.h

http://commits.kde.org/kooka/802137b2189647fd625dd313ecf491a0d96ff69e
Comment 2 Jonathan Marten 2011-11-10 22:28:00 UTC
Implemented in KDE4 port, but unable to test because I do not have any suitable hardware.  If you can compile from source please try out this version with gamma tables and an affected scanner.  See http://techbase.kde.org/Projects/Kooka
for Git access and build instructions.
Comment 3 Rune Kock 2011-11-11 14:42:42 UTC
Thanks for fixing this old bug.  The Pixma scanner has found a new home, but I may be able to test it anyway.  No promises and no time-frame.

I would assume that many new scanners feature a big gamma table by now, so maybe someone else will be able to test.