Commit Graph

230 Commits

Author SHA1 Message Date
Lawrence Lee
3b2990dd78 Add/update dcraw constants from LibRaw
Add or update adobe_coeff constants from LibRaw public snapshot 202403.
2024-06-15 21:43:12 -07:00
Simone Gotti
3b4642fd07 dcraw: add Panasonic DC-S5M2 and DC-S5M2X to adobe_coeffs 2024-06-01 22:23:33 +02:00
Simone Gotti
0d9bafdc88 dcraw: add panasonic v8 decoder.
Port panasonic v8 decoder from libraw.

* Extract data required for the decoder from the panasonic custom exif
  tags
* Add panasonic v8 decoder
2024-06-01 22:23:31 +02:00
Lawrence37
5a7b0e40bb Merge pull request #7020 from sgotti/panasonic_dcgh6
dcraw: add Panasonic DC-GH6
2024-06-01 12:02:55 -07:00
Lawrence37
45f321d0b4 Merge pull request #7019 from sgotti/panasonic_dcg9m2
dcraw: add Panasonic DC-G9M2
2024-06-01 12:02:13 -07:00
Lawrence37
ad36b219bc Merge pull request #7073 from sgotti/panasonic_dcgh5m2
Add support for Panasonic DC-GH5M2
2024-06-01 11:30:58 -07:00
Simone Gotti
1b19ac1621 dcraw/camconst: add Sony ILCE-6700
* Add dcraw adobe_coeffs entry for Sony ILCE-6700
* Add camconst raw crop for Sony ILCE-6700
2024-05-27 12:23:42 +02:00
Simone Gotti
6b14cf114b dcraw: add Panasonic DC-GH5M2 to adobe_coeffs 2024-05-22 10:30:47 +02:00
Simone Gotti
0d60258a96 dcraw: add Panasonic DC-GH6 to adobe_coeffs 2024-05-22 10:18:10 +02:00
Simone Gotti
b57679ac15 dcraw: add Panasonic DC-G9M2 to adobe_coeffs 2024-05-22 09:44:14 +02:00
Simone Gotti
65c68364a9 dcraw: add support for Fujifilm GFX 100 II 2024-03-29 10:05:51 +01:00
Lawrence Lee
c5967cb4e4 Add initial support for OM TG-7
Read CFA pattern for OM Digital Solutions cameras.
Use Olympus TG-6 camconst for the TG-7, since the dcraw matrix and raw
crop are the same.
2024-03-21 21:45:35 -07:00
Lawrence Lee
c3a1656ac0 Fix WB multipliers for some Canon cameras
Read the correct tag for the as-shot multipliers (index 0x69). The port
from LibRaw incorrectly used the tag at index 0x69 + 0x64, which is the
daylight WB multipliers. This fix affects Canon cameras with color data
versions 34 (EOS R3) and 48 (EOS R6m2, EOS R7, and EOS R10).
2024-03-09 22:17:55 -08:00
Lawrence37
f65e428e7f Merge pull request #6833 from LoKolbasz/segfault_with_fuji_cropped_raw_issue#6312
Segfault fixed when opening Fuji cropped raw. Fixes #6312
2024-02-04 15:47:28 -08:00
Battyányi Dániel
d0b34a3234 Fixed crop mode checking
Me make dumb mistake in prev. commit sry.
2023-09-12 18:19:51 +02:00
Battyányi Dániel
1a0b7f4562 Replaced casting with != 2023-09-12 14:01:35 +02:00
Battyányi Dániel
b4daf36349 CropMode changed from "plain enum" to "enum class" 2023-09-12 10:39:50 +02:00
Battyányi Dániel
0fe4c18752 Semantic changes 2023-09-12 10:33:04 +02:00
Battyányi Dániel
ab6d5b190c Tags in numerical order inside parse_fuji()
As suggested by review comment
2023-09-11 23:18:57 +02:00
Battyányi Dániel
6ee6a46750 Width and height only updates to cropped version after detecting crop
As suggested by review comment
2023-09-11 23:11:38 +02:00
Battyányi Dániel
3806107315 Changed crop detection mechanism according to code review comment
Changed the crop detection to use the CropMode Fujifilm tag from the makernotes instead of an arbitrary threshold.
2023-09-11 22:58:24 +02:00
Battyányi Dániel
ea86a14dff removed unecessarily setting of raw_height and raw_width 2023-09-11 22:22:37 +02:00
Dániel Battyányi
554a6dc161 Added RT signifier comments 2023-08-30 23:34:36 +02:00
Dániel Battyányi
5231f3a742 Removed comments 2023-08-30 23:09:03 +02:00
Dániel Battyányi
23e2f0cca5 Fixed issue #6312
Fixed issue, where raw cropped Fuji X-Pro3 could not be loaded correctly. This would result in a Segmentation Fault.
With these changes the program should read the correct dimensions from the file's metadata, and load the image accordingly.
2023-08-30 22:17:16 +02:00
Stephen Shkardoon
23f2a2fc9f Use _WIN32 instead of WIN32 to detect Windows
`WIN32` is not defined when building a 64-bit executable on Windows with Clang. `_WIN32` is the more appropriate option here.
http://web.archive.org/web/20191012035921/http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system contains a handy table/matrix of the options and why this is best.
2023-08-13 17:09:49 +12:00
Desmis
8d0333120e Research and development - WB auto -temperature correlation - tests - finding the optimum settings (#6643)
* Change estimchrom estim hue final

* Itcw observer checkbox

* 8 spectral colors

* 11 spectral colors

* 6 spectral colors

* Small change to correction green

* Fixed various bad behavior - settings itcwb_deltaspec

* 4 spectral colors green

* 3 green spectral colors

* 3 spectral colors green

* 5 spectral colors red green

* 3 spectral colors red green

* 3 spectral colrs green red

* Chnage slider choice deltaE - to size color patch

* display more info in console

* Display more info in console - comment code

* Clean - comment code

* 8 spectral colors green red

* 8 spectral colors blue

* 8 spectral colors blue

* 3 spectral colors

* 6 spectral colors

* 4 spectal colors

* 2 spectral colors

* Eliminate high Y - increse temp iteration - recenter selection inside patch

* compatibility 5.9

* Modify dislay and place selected dats in patch

* Dispaly in console hue chroma image selection

* First optimization

* optimization code - clean unused variables

* Remove sorted in chroma order - some others changes

* 5.9 compatibility

* Clean and optimize code

* Clean code - more display info in console

* More info in console - set itcwb_minsize in option

* Display patch chroma in GUI

* Change some default settings

* Minsize patch GUI

* Display GUI patch size

* Chroma patch variations

* Display in GUI min and max dats found in patch

* Some adjustments

* Remove too low datas in patch

* Various improvment - ponderate

* Clean code colortemp comment spectral datas

* Comment code - correc gren

* Comment and refine code

* Fixed bug in improcoordinator

* fixes a malfunction of AWB bias in improcoordinator

* Various improvments - clean code

* 2 improvments green and find patch

* Allows parametrind ponder and Ypurple in options

* Update autowb - filter on magenta purple

* Clean and optimize code

* Read colors in GUI

* Denoise median 5x5 image datas before Itcwb

* Change to GUI

* Replace median5x5 by 2 median3x3 - clean GUI code

* Work around to recalculate wbauto

* Remove work around - change params->wb related change

* Disabled low_sampling 5.9

* First try for compatibility Low sampling 5.9

* Re-enable WB autogrey

* Change reference image to autogrey if camera settings probably out

* Clean code aand adjust settings camera out

* Format astylert rawimagesource.cc - various small adjustments

* Small correction

* Small green correction

* Change default settings - correction to autowb bias in improccoordinator

* Save provisory work

* Save provisory work 2

* Try to find good tempitc with iterate when temptitc very different 5000K

* Change 2 default settings

* Work around awb temp bias

* Limit work around bias - small other changes

* 3 spectral colors deep blue

* 4 spectral color deep blue

* 4 color spectral yellow

* 5 spectral colors neutral red-magenta

* 5 spectral color neutral red magenta

* Change threshold tempitc

* 5.9 compatibility

* Work around bad claculation Planck's formula

* Fixed bad behavior when using blackbody spectal

* 6 spectral color - checkbutton remove 2 passes

* Fixed various bugs

* Format rawimagesource.cc

* Various improvment before to find the good selection

* First new optimization (perhaps?)

* Display GUI patc deltaE

* Various optimzation and tooltip

* Default observer 2°- Simplify GUI - improve display GUI - remove too low numbers datas

* 4 spectral colors - change 2 settings

* Change calculation threshold 2 passes

* 6 spectral colors magenta

* 13 spectral colors

* Improvment GUI display

* remove checkbutton no_purple

* 2 spectral colors - remove in GUI low sampling 5.9

* Change default setting display in console

* Change behavior when temp near stdA

* 4 spectral colors - settings Itcwb_tempstdA

* Gamut control on image histogram

* Clean code and format rawimagesource.cc

* Comment and format colortemp.cc

* Remove unused fileds from GUI - change tooltips

* Add tooltips

* Various changes

* Change settings when camera temperature is out

* improvment extra and tooltip

* Small change when using auto grey as start reference

* Remove itcwb_fgreen from GUI

* Various change - and 'unsatisfactory' test to take into account Custom

* Change second temp when < 4000 - replace automatic by automatic and refinement

* Neutralize 'Use custom tempertaure and green'

* Green refinement

* Clean code - small changes

* Other clean code

* Added forgotten itcw_green in procparams.cc

* Fixed a bug dispaly deltaE

* Change threshold settings - change code for Custom

* various change in case of using camera settings

* Change way to estimate range green

* clean code and message in console

* Clean and optimize

* Disable 2 passes if custom

* Improve GUI 2 passes

* Increase sampling and number of temperature above 9400K

* Hide AWB temperature bais and green refinement when Custom temerature ans green

* marks out the code with past time markers

* Improve time processing with spectral colors temp calculations

* Replace in console msec by nsec

* Scan temp 5.9

* Change max temp and behavior if temp > 15000k

* Refine temp near 14000K

* Increase sampling temperature 132 to 167

* Increase sampling temperature

* Set in preference choice for itcwb_custom

* White point calculated  with observer instead of table

* More on whitepoint calculation - informations

* Clean and format code with astyle colortemp.cc rawimagesource.cc improccoordinator.cc

* Small change tooltip

* Improve update auto-wb

* Remove 'use custom temperature and tin' - simplify sampling to 2 choice

* Small change to rand AWB bias - green refinement - tooltips

* slightly modify the parameters upstream of the algo - do not use camera in some cases

* Mixed initial green

* Refine init green and temp when no camera

* Refine temp and green in do not use camera settings

* Change tint threshold and various improvments (tooltips, wrong values..)

* Refinment and clean code

* Improve mode No use camera settings

* Init nocam

* Refine use no camera  settings

* Small change

* 5.9 compatibility - and format

* Refine sampling temperature  around 7000 - 8000K

* Format astylert rawimagesource colortemp

* 5.9 settings

* 5.9 settings 2

* Various change - 5.9 - format

* Improve pre and post algorithm

* Fixed correction temp > 8000K

* Fixed bad behavior Tppat.minchroma

* Change sampling choices and tooltip

* Change name wp wp2 wip to wb wb2 iwb to avoid misunderstood

* Small Change settings - limit display studgood to 0.0001

* Improvment display GUI temp

* Change default sampling

* Change ACESP0 to JDCmax

* Improve GUI abstract profile

* Allows dispaly in console xy values thanks to Reffort

* Remove bruce rgb in wp and abstract

* Change wp abstract and save itcwb with dispaly cellxy

* Change prim = 13 improccoordinator iplab2rgb

* remove display datas in console - fixed wrong display Y xyY

* Fixed ifferences in GUI maxhist minhist

* Change limits x y in function sampling

* fixed a dizziness

* Change  after algorithm rule when temp > 6000K

* Harmonize limx limy for oldsampling 5.9

* Added Cam xyz matrix to sampling - thanks to Reffort

* Display in console xyz matrix

* Forgotten instruction when mix camera and autowb grey

* Change rgbloc with Camera matrix Dcraw when no input profile

* Change rep to repref in rgbxyz

* Remove message in console

* 5.9 compat

* 5.9 compat 2

* 5.9 compat 3

* 5.9 compat 4

* 5.9 compat 5 format

* 5.9 compta 6

* Improve code

* Diasble itcwb_sampling in GUI

* Comment code

* Clean and comment code

* 5 spectral colors

* 9 spectral colors

* 2 spectral colors

* Various improvments

* 5 spectral colors

* 5 spectral colors

* First changes review lawrence37

* Second changes review Lawrence37

* 3rd changes review Lawrence37

* 4th changes review Lawrence37

* Change windows and appimage yml

* Re-enable Rtv4_Bruce in procparams.cc

* test for 5.9 compatibility

* Try to fixed crash

* Slightly improve the management of 5.9

* test for 5.9 compatibility by passing parameters via the GUI

* Forgotten parameter

* Change ref_spec limit and remove pac_start for itcwb_sampling

* Puts back the old Planck formula - the same as in dev

* Revert "test for 5.9 compatibility by passing parameters via the GUI"

This reverts commit d6b5a8feda31b93a5574cee6ebf4d3e9d58bbcfb.

* Switch to new ITCWB only when changing WB method

Prevents sudden changing of the white balance if ITCWB is selected and
the image is reopened.

* Fix spelling in comment

* Suggested change from Lawrence37 to whitebalance - small change to improcoordinator

* tempbias Set_sentive(false) if itcwb_smapling - clean whitebalance

* Another clean whitebalance.cc

---------

Co-authored-by: Lawrence Lee <45837045+Lawrence37@users.noreply.github.com>
2023-08-06 13:44:48 +02:00
Lawrence37
ae188f6338 Merge pull request #6709 from hfiguiere/dcraw-6708
Issue #6708 - fix overlapping buffer strcpy
2023-06-13 20:49:27 -07:00
Lawrence37
77853893a9 Merge pull request #6739 from SimonSegerblomRex/fix-6682
dcraw.cc: Fix bug for tiff_ifd.new_sub_file_type
2023-05-27 15:23:02 -07:00
Lawrence Lee
61b05f8504 Fix crash with Fujifilm sports finder mode
Handle heights and widths larger than raw heights and widths. Add
camconst raw crop for certain Fujifilm cameras with sports finder mode
on.
2023-04-22 21:32:08 -07:00
Simon Segerblom Rex
3ea40d893e dcraw.cc: Fix bug for tiff_ifd.new_sub_file_type
This was regressed by bd118a4a40.
2023-04-16 08:02:46 +02:00
Hubert Figuière
508ca583df Issue #6708 - fix overlapping buffer strcpy
- address sanitizer triggered an error on Fujifilm Finepix HS10
2023-03-13 18:19:41 -04:00
Lawrence Lee
48b1b6f9be Add OM-1 raw decoding and basic camconst entry 2023-01-17 22:06:58 -08:00
Ingo Weyrich
8d29d361a8 Support dnggainmap (embedded correction) for Bayer files (#6382)
* dng gainmap support, #6379
* dng GainMap: control sensitivity of checkbox, #6379
* dng GainMap: partial paste
* dng GainMap: moved isGainMapSupported() from dcraw.h to dcraw.cc
* RawImageSource::applyDngGainMap: small speedup
* Change GUI to separate gainmap from other flat-field; also reorder checkbox

Co-authored-by: Thanatomanic <6567747+Thanatomanic@users.noreply.github.com>
2023-01-02 21:30:06 +01:00
Thanatomanic
3423a7ac55 Support for GX680 digital back including DCP (#6655)
* Initial support for GX680 digital back
With help from LibRaw for decoding support.
Estimates for color calibration are very rough...
* Small modification to black level, add DCP
2023-01-02 21:24:15 +01:00
Morgan Hardwood
bbe4558dff Improvement to dcraw linear_table #6448
Merged on behalf of heckflosse
https://github.com/Beep6581/RawTherapee/pull/6448#issuecomment-1081779513
2022-12-18 03:55:29 +01:00
Beep6581
3713e36937 Merge pull request #6448 from sgotti/dcraw_linear_table_increase_size
dcraw: increase linear table parsing to 65536 values
2022-12-18 03:32:21 +01:00
Lawrence37
2ce5b827c5 Merge pull request #6570 from Lawrence37/canon-white-regression
Canon 1000D White Level Regression Fix
2022-08-30 07:53:03 -07:00
Lawrence37
d838ff352d Remove last row from D5100 raws (#6571)
Avoid decoding the last row which contains corrupt data and causes the
image to become black.

Closes #5654.
2022-08-30 14:49:46 +02:00
Lawrence Lee
70fe0f46f6 Use hard-coded levels for Canon raws
Closes #6559.
2022-08-27 16:41:15 -07:00
GiMo84
4f6273a2bd Fixes reading Dual ISO (Magic Lantern) DNG (#5658) (#6505) 2022-08-21 07:04:14 +02:00
Philippe Daouadi
d8320bc8b7 Add Canon EOS R3, R7 and R10 support (#6543) 2022-08-18 16:50:19 +02:00
Thor Nielsen
4e14350708 Add support for reading Canon R6 white balance from CR3. (#6397)
Co-authored-by: Thor Gabelgaard Nielsen <thor@stheno.org>
Co-authored-by: Thanatomanic <6567747+Thanatomanic@users.noreply.github.com>
2022-04-10 10:57:25 +02:00
Simone Gotti
ba906af841 dcraw: increase linear table parsing to 65536 values
The dcraw linear_table method limits the max values to 4096.
But 16 bit per channel linear DNGs can provide a LinearizationTable with
65536 entries.

This patch changes the dcraw linear_table method to accept 65536
entries.
2022-03-27 14:34:48 +02:00
Thanatomanic
07ed31922c Incorporate changes to CR3 decoder (from ART, LibRaw): read compressed RAW (CRAW) (#6434)
* Incorporate changes to CR3 decoder (from ART, LibRaw). Enables reading of compressed RAW (CRAW) files.
* Fix LGTM alerts, some trailing spaces (accidentally took over another minor edit, already pushed to dev)
2022-03-26 11:59:25 +01:00
Simone Gotti
bd118a4a40 dcraw: use the right black levels for linear DNGs (#6444)
Linear dng (like the one created by Adobe DNG Converter) contains
multiple tiff subifd with different kind of images (the Primary Image
and multiple previews), these defines different kind of black levels.

Currently dcraw has a global cblack array that is overwritten by the
last parsed tiff ifd. With such kind of linear dng it's the last subifd.
The causes the use of the wrong black levels with the image having
usually a magenta color cast.

The dng spec uses the NewSubFileType tag to define the primary image
with tag value as 0.
This patch reads also the NewSubFileType tag and populates the cblack
array provided by the other tags only if it's the primary image.
2022-03-26 11:28:05 +01:00
Ingo Weyrich
355688b5e7 fix OOB access, fixes #6279, fixes #6352 (#6353) 2021-09-03 16:55:23 +02:00
Flössie
2e0137d542 Move libc overloads in myfile.h to rtengine:: (fixes #6324) 2021-08-07 13:06:02 +02:00
Thanatomanic
6189a0e816 Prevent crash when opening Canon RP files with different crop factor. Fixes #6255 2021-05-24 08:00:09 +02:00
Simon Segerblom Rex
87869e2bb1 Remove lj92 library and use dcraw instead
dcraw works fine for decoding DNGs using any predictor mode
for the lossless JPEG compression. No need to maintain two
different implemenations.
2021-05-03 10:08:51 +02:00