diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala
index 8bc74c0dd..028b5cd68 100644
--- a/rtdata/languages/Catala
+++ b/rtdata/languages/Catala
@@ -1037,7 +1037,7 @@ ZOOMPANEL_ZOOMOUT;Allunya -
!MAIN_TOOLTIP_PREVIEWR;Preview the Red channel.\nShortcut: r
!MAIN_TOOLTIP_THRESHOLD;Threshold
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_EPD;Tone Mapping
!PARTIALPASTE_ICMGAMMA;Output gamma
!PARTIALPASTE_RAWEXPOS_BLACK;Black Level
diff --git a/rtdata/languages/Chinese (Simplified) b/rtdata/languages/Chinese (Simplified)
index 795ffeced..c8e3348dd 100644
--- a/rtdata/languages/Chinese (Simplified)
+++ b/rtdata/languages/Chinese (Simplified)
@@ -855,7 +855,7 @@ ZOOMBAR_SMALL;小
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/Chinese (Traditional) b/rtdata/languages/Chinese (Traditional)
index f4e01e3b4..8286bae09 100644
--- a/rtdata/languages/Chinese (Traditional)
+++ b/rtdata/languages/Chinese (Traditional)
@@ -858,7 +858,7 @@ ZOOMBAR_SMALL;小
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/Czech b/rtdata/languages/Czech
index 8a2f02100..9c1994f24 100644
--- a/rtdata/languages/Czech
+++ b/rtdata/languages/Czech
@@ -1144,7 +1144,7 @@ ZOOMPANEL_ZOOMOUT;Oddálit -
!!!!!!!!!!!!!!!!!!!!!!!!!
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!TP_LENSPROFILE_FILEDLGFILTERLCP;Lens correction files
!TP_LENSPROFILE_LABEL;Lens Correction Profile
!TP_LENSPROFILE_USECA;Use CA correction
diff --git a/rtdata/languages/Dansk b/rtdata/languages/Dansk
index 967de96e4..8ae2891d9 100644
--- a/rtdata/languages/Dansk
+++ b/rtdata/languages/Dansk
@@ -853,7 +853,7 @@ ZOOMBAR_SMALL;Lille
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch
index 8799abf08..cdfb8b047 100644
--- a/rtdata/languages/Deutsch
+++ b/rtdata/languages/Deutsch
@@ -1147,4 +1147,4 @@ ZOOMPANEL_ZOOMOUT;Herauszoomen -
!!!!!!!!!!!!!!!!!!!!!!!!!
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
diff --git a/rtdata/languages/English b/rtdata/languages/English
index 9bc9494c6..9c13c04fe 100644
--- a/rtdata/languages/English
+++ b/rtdata/languages/English
@@ -102,7 +102,7 @@
!FILEBROWSER_DARKFRAME;Dark frame
!FILEBROWSER_DELETEDLGLABEL;File delete confirmation
!FILEBROWSER_DELETEDLGMSGINCLPROC;Are you sure you want to delete the selected %1 files including a queue-processed version?
-!FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files?
+!FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files?
!FILEBROWSER_EMPTYTRASHHINT;Permanently delete the files from trash
!FILEBROWSER_EMPTYTRASH;Empty Trash
!FILEBROWSER_EXEC_CPB;Custom Profile Builder
@@ -551,7 +551,7 @@
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_BASICGROUP;Basic Settings
!PARTIALPASTE_CACORRECTION;C/A Correction
!PARTIALPASTE_CHANNELMIXER;Channel mixer
diff --git a/rtdata/languages/English (UK) b/rtdata/languages/English (UK)
index 29f9142bf..8473af356 100644
--- a/rtdata/languages/English (UK)
+++ b/rtdata/languages/English (UK)
@@ -162,7 +162,7 @@ TP_VIBRANCE_AVOIDCOLORSHIFT;Avoid colour shift
!FILEBROWSER_DARKFRAME;Dark frame
!FILEBROWSER_DELETEDLGLABEL;File delete confirmation
!FILEBROWSER_DELETEDLGMSGINCLPROC;Are you sure you want to delete the selected %1 files including a queue-processed version?
-!FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files?
+!FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files?
!FILEBROWSER_EMPTYTRASHHINT;Permanently delete the files from trash
!FILEBROWSER_EMPTYTRASH;Empty Trash
!FILEBROWSER_EXEC_CPB;Custom Profile Builder
@@ -580,7 +580,7 @@ TP_VIBRANCE_AVOIDCOLORSHIFT;Avoid colour shift
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_BASICGROUP;Basic Settings
!PARTIALPASTE_CACORRECTION;C/A Correction
!PARTIALPASTE_CHANNELMIXER;Channel mixer
diff --git a/rtdata/languages/English (US) b/rtdata/languages/English (US)
index 9bc9494c6..9c13c04fe 100644
--- a/rtdata/languages/English (US)
+++ b/rtdata/languages/English (US)
@@ -102,7 +102,7 @@
!FILEBROWSER_DARKFRAME;Dark frame
!FILEBROWSER_DELETEDLGLABEL;File delete confirmation
!FILEBROWSER_DELETEDLGMSGINCLPROC;Are you sure you want to delete the selected %1 files including a queue-processed version?
-!FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files?
+!FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files?
!FILEBROWSER_EMPTYTRASHHINT;Permanently delete the files from trash
!FILEBROWSER_EMPTYTRASH;Empty Trash
!FILEBROWSER_EXEC_CPB;Custom Profile Builder
@@ -551,7 +551,7 @@
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_BASICGROUP;Basic Settings
!PARTIALPASTE_CACORRECTION;C/A Correction
!PARTIALPASTE_CHANNELMIXER;Channel mixer
diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol
index e3806e9df..cb43c2a3b 100644
--- a/rtdata/languages/Espanol
+++ b/rtdata/languages/Espanol
@@ -1041,7 +1041,7 @@ ZOOMPANEL_ZOOMOUT;Reducir Zoom -
!MAIN_TOOLTIP_SHOWHIDETP1;Show/Hide the top panel.\nShortcut: Shift-L
!MAIN_TOOLTIP_THRESHOLD;Threshold
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DEFRINGE;Defringe
diff --git a/rtdata/languages/Euskara b/rtdata/languages/Euskara
index 04fc99145..c4f651aa4 100644
--- a/rtdata/languages/Euskara
+++ b/rtdata/languages/Euskara
@@ -853,7 +853,7 @@ ZOOMBAR_SMALL;Txikia
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/Greek b/rtdata/languages/Greek
index 836be0f33..d584b00e2 100644
--- a/rtdata/languages/Greek
+++ b/rtdata/languages/Greek
@@ -851,7 +851,7 @@ ZOOMBAR_SMALL;Μικρό
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/Hebrew b/rtdata/languages/Hebrew
index 00a526de2..cc7f3f8ae 100644
--- a/rtdata/languages/Hebrew
+++ b/rtdata/languages/Hebrew
@@ -852,7 +852,7 @@ ZOOMBAR_SMALL;קטן
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/Italian b/rtdata/languages/Italian
index 97a8419a0..fcbbe2b1f 100644
--- a/rtdata/languages/Italian
+++ b/rtdata/languages/Italian
@@ -1063,7 +1063,7 @@ ZOOMPANEL_ZOOMOUT;Rimpicciolisci (scorciatoia: -)
!MAIN_TOOLTIP_PREVIEWR;Preview the Red channel.\nShortcut: r
!MAIN_TOOLTIP_THRESHOLD;Threshold
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_EPD;Tone Mapping
!PARTIALPASTE_ICMGAMMA;Output gamma
!PARTIALPASTE_RGBCURVES;RGB curves
diff --git a/rtdata/languages/Japanese b/rtdata/languages/Japanese
index 87a7db06a..4ab973450 100644
--- a/rtdata/languages/Japanese
+++ b/rtdata/languages/Japanese
@@ -1155,7 +1155,7 @@ ZOOMPANEL_ZOOMOUT;ズームアウト\nショートカット: -
!FILEBROWSER_OPENDEFAULTVIEWER;Windows default viewer (queue-processed)
!MAIN_MSG_IMAGEUNPROCESSED;This command requires all selected images to be queue processed first.
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PREFERENCES_MENUGROUPEXTPROGS;Group "Open with"
!TP_ICM_PREFERREDPROFILE;Preferred DCP profile
!TP_ICM_PREFERREDPROFILE_1;Daylight
diff --git a/rtdata/languages/Latvian b/rtdata/languages/Latvian
index 2079c65a8..7e0f58061 100644
--- a/rtdata/languages/Latvian
+++ b/rtdata/languages/Latvian
@@ -851,7 +851,7 @@ ZOOMBAR_SMALL;Mazs
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar
index 4aa256797..218cfb310 100644
--- a/rtdata/languages/Magyar
+++ b/rtdata/languages/Magyar
@@ -1151,7 +1151,7 @@ ZOOMPANEL_ZOOMOUT;Kicsinyítés -
!FILEBROWSER_OPENDEFAULTVIEWER;Windows default viewer (queue-processed)
!MAIN_MSG_IMAGEUNPROCESSED;This command requires all selected images to be queue processed first.
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PREFERENCES_MENUGROUPEXTPROGS;Group "Open with"
!TP_ICM_PREFERREDPROFILE;Preferred DCP profile
!TP_ICM_PREFERREDPROFILE_1;Daylight
diff --git a/rtdata/languages/Nederlands b/rtdata/languages/Nederlands
index 670efee7c..69565ee6d 100644
--- a/rtdata/languages/Nederlands
+++ b/rtdata/languages/Nederlands
@@ -1164,7 +1164,7 @@ ZOOMPANEL_ZOOMOUT;Zoom uit
!FILEBROWSER_OPENDEFAULTVIEWER;Windows default viewer (queue-processed)
!MAIN_MSG_IMAGEUNPROCESSED;This command requires all selected images to be queue processed first.
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PREFERENCES_MENUGROUPEXTPROGS;Group "Open with"
!TP_LENSPROFILE_FILEDLGFILTERLCP;Lens correction files
!TP_LENSPROFILE_LABEL;Lens Correction Profile
diff --git a/rtdata/languages/Norsk BM b/rtdata/languages/Norsk BM
index b1cc66a15..b32875c08 100644
--- a/rtdata/languages/Norsk BM
+++ b/rtdata/languages/Norsk BM
@@ -852,7 +852,7 @@ ZOOMBAR_SMALL;Liten
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/Portugues (Brasil) b/rtdata/languages/Portugues (Brasil)
index f0e3c0bab..8bf0d6a97 100644
--- a/rtdata/languages/Portugues (Brasil)
+++ b/rtdata/languages/Portugues (Brasil)
@@ -852,7 +852,7 @@ ZOOMBAR_SMALL;Pequeno
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian
index 2560fa2a8..34bf371c8 100644
--- a/rtdata/languages/Russian
+++ b/rtdata/languages/Russian
@@ -997,7 +997,7 @@ ZOOMPANEL_ZOOMOUT;Удалить -
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
!PARTIALPASTE_DARKFRAMEFILE;Dark Frame File
!PARTIALPASTE_DEFRINGE;Defringe
diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters)
index 88901e9e9..3b9d6b574 100644
--- a/rtdata/languages/Serbian (Cyrilic Characters)
+++ b/rtdata/languages/Serbian (Cyrilic Characters)
@@ -461,7 +461,7 @@ MAIN_TOOLTIP_HIDEHP;Приказује/сакрива леву површ, за
MAIN_TOOLTIP_INDCLIPPEDH;Приказује исечене светле делове
MAIN_TOOLTIP_INDCLIPPEDS;Приказује исечене тамне делове
MAIN_TOOLTIP_PREFERENCES;Мења поставке програма
-MAIN_TOOLTIP_QINFO;Основни подаци о слици Иб>
+MAIN_TOOLTIP_QINFO;Основни подаци о слици И
MAIN_TOOLTIP_SAVEAS;Чува слику у изабрану фасциклу
MAIN_TOOLTIP_SAVE;Чува слику у подразумевану фасциклу
MAIN_TOOLTIP_SHOWHIDELP1;Приказује/сакрива леву површ l
@@ -1082,7 +1082,7 @@ ZOOMPANEL_ZOOMOUT;Умањује приказ слике -
!MAIN_TOOLTIP_PREVIEWR;Preview the Red channel.\nShortcut: r
!MAIN_TOOLTIP_THRESHOLD;Threshold
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_EPD;Tone Mapping
!PARTIALPASTE_ICMGAMMA;Output gamma
!PARTIALPASTE_RGBCURVES;RGB curves
diff --git a/rtdata/languages/Serbian (Latin Characters) b/rtdata/languages/Serbian (Latin Characters)
index db95298c8..6b40f3f8b 100644
--- a/rtdata/languages/Serbian (Latin Characters)
+++ b/rtdata/languages/Serbian (Latin Characters)
@@ -1082,7 +1082,7 @@ ZOOMPANEL_ZOOMOUT;Umanjuje prikaz slike -
!MAIN_TOOLTIP_PREVIEWR;Preview the Red channel.\nShortcut: r
!MAIN_TOOLTIP_THRESHOLD;Threshold
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_EPD;Tone Mapping
!PARTIALPASTE_ICMGAMMA;Output gamma
!PARTIALPASTE_RGBCURVES;RGB curves
diff --git a/rtdata/languages/Slovak b/rtdata/languages/Slovak
index 07140d47c..906775702 100644
--- a/rtdata/languages/Slovak
+++ b/rtdata/languages/Slovak
@@ -920,7 +920,7 @@ ZOOMPANEL_ZOOMOUT;Oddialiť -
!NAVIGATOR_LAB_L_NA;L = n/a
!NAVIGATOR_LAB_L_VALUE;L = %1
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/Suomi b/rtdata/languages/Suomi
index 3d0be6b11..8501a30df 100644
--- a/rtdata/languages/Suomi
+++ b/rtdata/languages/Suomi
@@ -853,7 +853,7 @@ ZOOMBAR_SMALL;Pieni
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish
index 1d9a21995..70732b72e 100644
--- a/rtdata/languages/Swedish
+++ b/rtdata/languages/Swedish
@@ -1080,7 +1080,7 @@ ZOOMPANEL_ZOOMOUT;Förminska. Kortkommando: -
!MAIN_TOOLTIP_PREVIEWR;Preview the Red channel.\nShortcut: r
!MAIN_TOOLTIP_THRESHOLD;Threshold
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_EPD;Tone Mapping
!PARTIALPASTE_ICMGAMMA;Output gamma
!PARTIALPASTE_RGBCURVES;RGB curves
diff --git a/rtdata/languages/Turkish b/rtdata/languages/Turkish
index 3808160aa..de34f14de 100644
--- a/rtdata/languages/Turkish
+++ b/rtdata/languages/Turkish
@@ -853,7 +853,7 @@ ZOOMBAR_SMALL;Küçük
!NAVIGATOR_V_VALUE;V = %1
!NAVIGATOR_XY_NA;x = n/a, y = n/a
!OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+!OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
!PARTIALPASTE_CHANNELMIXER;Channel mixer
!PARTIALPASTE_COMMONTRANSFORMPARAMS;Auto fill
!PARTIALPASTE_DARKFRAMEAUTOSELECT;Dark Frame Auto Select
diff --git a/rtdata/languages/default b/rtdata/languages/default
index 644002bfd..f1dca7c8c 100644
--- a/rtdata/languages/default
+++ b/rtdata/languages/default
@@ -97,7 +97,7 @@ FILEBROWSER_CURRENT_NAME;Current name:
FILEBROWSER_DARKFRAME;Dark frame
FILEBROWSER_DELETEDLGLABEL;File delete confirmation
FILEBROWSER_DELETEDLGMSGINCLPROC;Are you sure you want to delete the selected %1 files including a queue-processed version?
-FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files?
+FILEBROWSER_DELETEDLGMSG;Are you sure you want to delete the selected %1 files?
FILEBROWSER_EMPTYTRASHHINT;Permanently delete the files from trash
FILEBROWSER_EMPTYTRASH;Empty Trash
FILEBROWSER_EXEC_CPB;Custom Profile Builder
@@ -549,7 +549,7 @@ NAVIGATOR_V_VALUE;V = %1
NAVIGATOR_XY_NA;x = n/a, y = n/a
NAVIGATOR_XY_FULL;Width = %1, Height = %2
OPTIONS_DEFIMG_MISSING;The default profile for non-raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
-OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
+OPTIONS_DEFRAW_MISSING;The default profile for raw photos could not be found or is not set.\n\nPlease check your profiles' directory, it may be missing or damaged.\n\nDefault internal values will be used.
PARTIALPASTE_BASICGROUP;Basic Settings
PARTIALPASTE_CACORRECTION;C/A Correction
PARTIALPASTE_CHANNELMIXER;Channel mixer
diff --git a/rtdata/options/options.lin b/rtdata/options/options.lin
index 3553b0baa..f40e1685e 100644
--- a/rtdata/options/options.lin
+++ b/rtdata/options/options.lin
@@ -12,8 +12,8 @@ MultiUser=true
[File Browser]
# Image filename extensions to be looked for, and their corresponding search state (0/1 -> skip/include)
-ParseExtensions=arw;cr2;crf;crw;dng;jpg;kdc;mef;mrw;nef;nrw;orf;pef;png;raf;raw;rw2;rwz;sr2;srw;tif;tiff;
-ParseExtensionsEnabled=1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+ParseExtensions=arw;cr2;crf;crw;dng;jpg;jpeg;kdc;mef;mrw;nef;nrw;orf;pef;png;raf;raw;rw2;rwz;sr2;srw;tif;tiff;
+ParseExtensionsEnabled=1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
[Output]
PathTemplate=%p1/converted/%f
diff --git a/rtdata/options/options.osx b/rtdata/options/options.osx
index 3553b0baa..f40e1685e 100644
--- a/rtdata/options/options.osx
+++ b/rtdata/options/options.osx
@@ -12,8 +12,8 @@ MultiUser=true
[File Browser]
# Image filename extensions to be looked for, and their corresponding search state (0/1 -> skip/include)
-ParseExtensions=arw;cr2;crf;crw;dng;jpg;kdc;mef;mrw;nef;nrw;orf;pef;png;raf;raw;rw2;rwz;sr2;srw;tif;tiff;
-ParseExtensionsEnabled=1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+ParseExtensions=arw;cr2;crf;crw;dng;jpg;jpeg;kdc;mef;mrw;nef;nrw;orf;pef;png;raf;raw;rw2;rwz;sr2;srw;tif;tiff;
+ParseExtensionsEnabled=1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
[Output]
PathTemplate=%p1/converted/%f
diff --git a/rtdata/options/options.win b/rtdata/options/options.win
index 0b72287c6..ec72b661b 100644
--- a/rtdata/options/options.win
+++ b/rtdata/options/options.win
@@ -14,8 +14,8 @@ UseSystemTheme=false
[File Browser]
# Image filename extensions to be looked for, and their corresponding search state (0/1 -> skip/include)
-ParseExtensions=arw;cr2;crf;crw;dng;jpg;kdc;mef;mrw;nef;nrw;orf;pef;png;raf;raw;rw2;rwz;sr2;srw;tif;tiff;
-ParseExtensionsEnabled=1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
+ParseExtensions=arw;cr2;crf;crw;dng;jpg;jpeg;kdc;mef;mrw;nef;nrw;orf;pef;png;raf;raw;rw2;rwz;sr2;srw;tif;tiff;
+ParseExtensionsEnabled=1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
[Output]
PathTemplate=%p1/converted/%f
diff --git a/rtengine/dcraw.c b/rtengine/dcraw.c
index 596f73626..ef6daee3b 100644
--- a/rtengine/dcraw.c
+++ b/rtengine/dcraw.c
@@ -19,11 +19,11 @@
*If you have not modified dcraw.c in any way, a link to my
homepage qualifies as "full source code".
- $Revision: 1.448 $
- $Date: 2012/06/18 19:44:18 $
+ $Revision: 1.450 $
+ $Date: 2012/06/30 20:36:46 $
*/
-#define DCRAW_VERSION "9.15"
+#define DCRAW_VERSION "9.16"
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
@@ -2777,7 +2777,7 @@ void CLASS foveon_huff (ushort *huff)
void CLASS foveon_dp_load_raw()
{
unsigned c, roff[4], row, col, diff;
- ushort huff[258], vpred, hpred;
+ ushort huff[258], vpred[2][2], hpred[2];
fseek (ifp, 8, SEEK_CUR);
foveon_huff (huff);
@@ -2786,13 +2786,13 @@ void CLASS foveon_dp_load_raw()
FORC3 {
fseek (ifp, data_offset+roff[c], SEEK_SET);
getbits(-1);
- vpred = 1024;
+ vpred[0][0] = vpred[0][1] = vpred[1][0] = vpred[1][1] = 512;
for (row=0; row < height; row++) {
for (col=0; col < width; col++) {
diff = ljpeg_diff(huff);
- if (col) hpred += diff;
- else hpred = vpred += diff;
- image[row*width+col][c] = hpred;
+ if (col < 2) hpred[col] = vpred[row & 1][col] += diff;
+ else hpred[col & 1] += diff;
+ image[row*width+col][c] = hpred[col & 1];
}
}
}
@@ -4625,10 +4625,11 @@ nf: order = 0x4949;
cam_mul[2] = getreal(type);
}
if (tag == 0xd && type == 7 && get2() == 0xaaaa) {
- fread (buf97, 1, sizeof buf97, ifp);
- i = (uchar *) memmem (buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10;
- if (i < 70 && buf97[i] < 3)
- flip = "065"[buf97[i]]-'0';
+ for (c=i=2; (ushort) c != 0xbbbb && i < len; i++)
+ c = c << 8 | fgetc(ifp);
+ while ((i+=4) < len-5)
+ if (get4() == 257 && (i=len) && (c = (get4(),fgetc(ifp))) < 3)
+ flip = "065"[c]-'0';
}
if (tag == 0x10 && type == 4)
unique_id = get4();
@@ -6334,6 +6335,8 @@ void CLASS adobe_coeff (const char *make, const char *model)
{ 6941,-1164,-857,-3825,11597,2534,-416,1540,6039 } },
{ "Canon EOS 600D", 0, 0x3510,
{ 6461,-907,-882,-4300,12184,2378,-819,1944,5931 } },
+ { "Canon EOS 650D", 0, 0x354d,
+ { 6602,-841,-939,-4472,12458,2247,-975,2039,6148 } },
{ "Canon EOS 1000D", 0, 0xe43,
{ 6771,-1139,-977,-7818,15123,2928,-1244,1437,7533 } },
{ "Canon EOS 1100D", 0, 0x3510,
@@ -7727,6 +7730,12 @@ canon_a5:
height -= top_margin = 45;
left_margin = 142;
width = 4916;
+ } else if (is_canon && raw_width == 5280) {
+ top_margin = 52;
+ left_margin = 72;
+ if (unique_id == 0x80000301)
+ adobe_coeff ("Canon","EOS 650D");
+ goto canon_cr2;
} else if (is_canon && raw_width == 5344) {
top_margin = 51;
left_margin = 142;
@@ -8035,7 +8044,7 @@ konica_400z:
height -= top_margin = 8;
width -= 2 * (left_margin = 8);
load_flags = 32;
- } else if (!strcmp(model,"NX200")) {
+ } else if (!strncmp(model,"NX2",3)) {
order = 0x4949;
height = 3694;
top_margin = 2;
@@ -9389,7 +9398,7 @@ next:
colorcheck();
#endif
if (is_foveon) {
- if (document_mode || model[0] == 'D') {
+ if (document_mode || load_raw == &CLASS foveon_dp_load_raw) {
for (i=0; i < height*width*4; i++)
if ((short) image[0][i] < 0) image[0][i] = 0;
} else foveon_interpolate();
diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc
index d2a7591b1..03c144b3a 100644
--- a/rtengine/dcraw.cc
+++ b/rtengine/dcraw.cc
@@ -2741,7 +2741,7 @@ void CLASS foveon_huff (ushort *huff)
void CLASS foveon_dp_load_raw()
{
unsigned c, roff[4], row, col, diff;
- ushort huff[258], vpred, hpred;
+ ushort huff[258], vpred[2][2], hpred[2];
fseek (ifp, 8, SEEK_CUR);
foveon_huff (huff);
@@ -2750,13 +2750,13 @@ void CLASS foveon_dp_load_raw()
FORC3 {
fseek (ifp, data_offset+roff[c], SEEK_SET);
getbits(-1);
- vpred = 1024;
+ vpred[0][0] = vpred[0][1] = vpred[1][0] = vpred[1][1] = 512;
for (row=0; row < height; row++) {
for (col=0; col < width; col++) {
diff = ljpeg_diff(huff);
- if (col) hpred += diff;
- else hpred = vpred += diff;
- image[row*width+col][c] = hpred;
+ if (col < 2) hpred[col] = vpred[row & 1][col] += diff;
+ else hpred[col & 1] += diff;
+ image[row*width+col][c] = hpred[col & 1];
}
}
}
@@ -4224,12 +4224,13 @@ nf: order = 0x4949;
cam_mul[0] = getreal(type);
cam_mul[2] = getreal(type);
}
-// if (tag == 0xd && type == 7 && get2() == 0xaaaa) {
-// fread (buf97, 1, sizeof buf97, ifp);
-// i = (uchar *) memmem ((char*) buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10;
-// if (i < 70 && buf97[i] < 3)
-// flip = "065"[buf97[i]]-'0';
-// }
+ if (tag == 0xd && type == 7 && get2() == 0xaaaa) {
+ for (c=i=2; (ushort) c != 0xbbbb && i < len; i++)
+ c = c << 8 | fgetc(ifp);
+ while ((i+=4) < len-5)
+ if (get4() == 257 && (i=len) && (c = (get4(),fgetc(ifp))) < 3)
+ flip = "065"[c]-'0';
+ }
if (tag == 0x10 && type == 4)
unique_id = get4();
if (tag == 0x11 && is_raw && !strncmp(make,"NIKON",5)) {
@@ -5943,6 +5944,8 @@ void CLASS adobe_coeff (const char *make, const char *model)
{ 6519,-772,-703,-4994,12737,2519,-1387,2492,6175 } },
{ "Canon EOS 600D", 0, 0x3510,
{ 6461,-907,-882,-4300,12184,2378,-819,1944,5931 } },
+ { "Canon EOS 650D", 0, 0x354d,
+ { 6602,-841,-939,-4472,12458,2247,-975,2039,6148 } },
{ "Canon EOS 1000D", 0, 0xe43,
{ 6771,-1139,-977,-7818,15123,2928,-1244,1437,7533 } },
{ "Canon EOS 1100D", 0, 0x3510,
@@ -6357,6 +6360,8 @@ void CLASS adobe_coeff (const char *make, const char *model)
{ 7041,-1794,-336,-3790,11192,2984,-1364,2625,6217 } },
{ "OLYMPUS E-PM1", 0, 0,
{ 7575,-2159,-571,-3722,11341,2725,-1434,2819,6271 } },
+ { "OLYMPUS E-M5", 0, 0,
+ { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
{ "OLYMPUS SP350", 0, 0,
{ 12078,-4836,-1069,-6671,14306,2578,-786,939,7418 } },
{ "OLYMPUS SP3", 0, 0,
@@ -7342,6 +7347,12 @@ canon_a5:
height -= top_margin = 45;
left_margin = 142;
width = 4916;
+ } else if (is_canon && raw_width == 5280) {
+ top_margin = 52;
+ left_margin = 72;
+ if (unique_id == 0x80000301)
+ adobe_coeff ("Canon","EOS 650D");
+ goto canon_cr2;
} else if (is_canon && raw_width == 5344) {
top_margin = 51;
left_margin = 142;
@@ -7650,7 +7661,7 @@ konica_400z:
height -= top_margin = 8;
width -= 2 * (left_margin = 8);
load_flags = 32;
- } else if (!strcmp(model,"NX200")) {
+ } else if (!strncmp(model,"NX2",3)) {
order = 0x4949;
height = 3694;
top_margin = 2;
diff --git a/rtengine/dcraw.patch b/rtengine/dcraw.patch
index 586e84be3..feffe90ec 100644
--- a/rtengine/dcraw.patch
+++ b/rtengine/dcraw.patch
@@ -1,5 +1,5 @@
---- C:/GCC/RT/RTSrc/rtengine/dcraw.c Tue Jun 26 23:00:34 2012
-+++ C:/GCC/RT/RTSrc/rtengine/dcraw.cc Fri Jun 29 23:09:38 2012
+--- C:/GCC/RT/RTSrc/rtengine/dcraw.c Wed Jul 04 20:53:43 2012
++++ C:/GCC/RT/RTSrc/rtengine/dcraw.cc Wed Jul 04 21:00:00 2012
@@ -1,5 +1,17 @@
+/*RT*/#include
+/*RT*/#include
@@ -18,7 +18,20 @@
Copyright 1997-2012 by Dave Coffin, dcoffin a cybercom o net
This is a command-line ANSI C program to convert raw photos from
-@@ -27,21 +39,21 @@
+@@ -17,31 +29,31 @@
+ since Revision 1.237. All other code remains free for all uses.
+
+ *If you have not modified dcraw.c in any way, a link to my
+ homepage qualifies as "full source code".
+
+- $Revision: 1.450 $
+- $Date: 2012/06/30 20:36:46 $
++ $Revision: 1.448 $
++ $Date: 2012/06/18 19:44:18 $
+ */
+
+-#define DCRAW_VERSION "9.16"
++#define DCRAW_VERSION "9.15"
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
@@ -798,30 +811,7 @@
{
static const uchar xlat[2][256] = {
{ 0xc1,0xbf,0x6d,0x0d,0x59,0xc5,0x13,0x9d,0x83,0x61,0x6b,0x4f,0xc7,0x7f,0x3d,0x3d,
-@@ -4622,16 +4222,16 @@
- fread (artist, 64, 1, ifp);
- if (tag == 0xc && len == 4) {
- cam_mul[0] = getreal(type);
- cam_mul[2] = getreal(type);
- }
-- if (tag == 0xd && type == 7 && get2() == 0xaaaa) {
-- fread (buf97, 1, sizeof buf97, ifp);
-- i = (uchar *) memmem (buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10;
-- if (i < 70 && buf97[i] < 3)
-- flip = "065"[buf97[i]]-'0';
-- }
-+// if (tag == 0xd && type == 7 && get2() == 0xaaaa) {
-+// fread (buf97, 1, sizeof buf97, ifp);
-+// i = (uchar *) memmem ((char*) buf97, sizeof buf97,"\xbb\xbb",2) - buf97 + 10;
-+// if (i < 70 && buf97[i] < 3)
-+// flip = "065"[buf97[i]]-'0';
-+// }
- if (tag == 0x10 && type == 4)
- unique_id = get4();
- if (tag == 0x11 && is_raw && !strncmp(make,"NIKON",5)) {
- fseek (ifp, get4()+base, SEEK_SET);
- parse_tiff_ifd (base);
-@@ -5007,12 +4607,12 @@
+@@ -5008,12 +4608,12 @@
if (tag == 64020) height = (getint(type)+1) & -2;
fseek (ifp, save, SEEK_SET);
}
@@ -836,7 +826,7 @@
{
unsigned entries, tag, type, len, plen=16, save;
int ifd, use_cm=0, cfa, i, j, c, ima_len=0;
-@@ -5022,11 +4622,11 @@
+@@ -5023,11 +4623,11 @@
double cc[4][4], cm[4][3], cam_xyz[4][3], num;
double ab[]={ 1,1,1,1 }, asn[] = { 0,0,0,0 }, xyz[] = { 1,1,1 };
unsigned sony_curve[] = { 0,0,0,0,0,4095 };
@@ -849,7 +839,7 @@
return 1;
ifd = tiff_nifds++;
for (j=0; j < 4; j++)
-@@ -5454,16 +5054,17 @@
+@@ -5455,16 +5055,17 @@
if (sony_length && (buf = (unsigned *) malloc(sony_length))) {
fseek (ifp, sony_offset, SEEK_SET);
fread (buf, sony_length, 1, ifp);
@@ -872,7 +862,7 @@
}
for (i=0; i < colors; i++)
FORCC cc[i][c] *= ab[i];
-@@ -5484,10 +5085,12 @@
+@@ -5485,10 +5086,12 @@
int CLASS parse_tiff (int base)
{
@@ -885,7 +875,7 @@
if (order != 0x4949 && order != 0x4d4d) return 0;
get2();
while ((doff = get4())) {
-@@ -5557,11 +5160,11 @@
+@@ -5558,11 +5161,11 @@
} slr:
switch (tiff_bps) {
case 8: load_raw = &CLASS eight_bit_load_raw; break;
@@ -898,7 +888,7 @@
}
break;
case 6: case 7: case 99:
-@@ -5664,11 +5267,11 @@
+@@ -5665,11 +5268,11 @@
*/
void CLASS parse_external_jpeg()
{
@@ -911,7 +901,7 @@
file = strrchr (ifname, '/');
if (!file) file = strrchr (ifname, '\\');
if (!file) file = ifname-1;
-@@ -5686,17 +5289,18 @@
+@@ -5687,17 +5290,18 @@
memcpy (jfile+4, file, 4);
}
} else
@@ -932,7 +922,7 @@
parse_tiff (12);
thumb_offset = 0;
is_raw = 1;
-@@ -6030,11 +5634,15 @@
+@@ -6031,11 +5635,15 @@
raw_width = get2();
}
order = get2();
@@ -949,7 +939,7 @@
}
return 1;
}
-@@ -6282,11 +5890,12 @@
+@@ -6283,11 +5891,12 @@
*/
void CLASS adobe_coeff (const char *make, const char *model)
{
@@ -963,7 +953,7 @@
{ 11438,-3762,-1115,-2409,9914,2497,-1227,2295,5300 } },
{ "Apple QuickTake", 0, 0, /* DJC */
{ 21392,-5653,-3353,2406,8010,-415,7166,1427,2078 } },
-@@ -6296,44 +5905,44 @@
+@@ -6297,44 +5906,44 @@
{ 20482,-7172,-3125,-1033,10410,-285,2542,226,3136 } },
{ "Canon EOS D30", 0, 0,
{ 9805,-2689,-1312,-5803,13064,3068,-2438,3075,8775 } },
@@ -1020,10 +1010,10 @@
+ { 6519,-772,-703,-4994,12737,2519,-1387,2492,6175 } },
{ "Canon EOS 600D", 0, 0x3510,
{ 6461,-907,-882,-4300,12184,2378,-819,1944,5931 } },
+ { "Canon EOS 650D", 0, 0x354d,
+ { 6602,-841,-939,-4472,12458,2247,-975,2039,6148 } },
{ "Canon EOS 1000D", 0, 0xe43,
- { 6771,-1139,-977,-7818,15123,2928,-1244,1437,7533 } },
- { "Canon EOS 1100D", 0, 0x3510,
-@@ -6342,12 +5951,12 @@
+@@ -6345,12 +5954,12 @@
{ 5859,-211,-930,-8255,16017,2353,-1732,1887,7448 } },
{ "Canon EOS-1Ds Mark II", 0, 0xe80,
{ 6517,-602,-867,-8180,15926,2378,-1618,1771,7633 } },
@@ -1038,7 +1028,7 @@
{ "Canon EOS-1D Mark II", 0, 0xe80,
{ 6264,-582,-724,-8312,15948,2504,-1744,1919,8664 } },
{ "Canon EOS-1DS", 0, 0xe20,
-@@ -6362,16 +5971,16 @@
+@@ -6365,16 +5974,16 @@
{ 0 } }, /* don't want the A5 matrix */
{ "Canon PowerShot A50", 0, 0,
{ -5300,9846,1776,3436,684,3939,-5540,9879,6200,-1404,11175,217 } },
@@ -1059,7 +1049,7 @@
{ "Canon PowerShot G1", 0, 0,
{ -4778,9467,2172,4743,-1141,4344,-5146,9908,6077,-1566,11051,557 } },
{ "Canon PowerShot G2", 0, 0,
-@@ -6425,11 +6034,11 @@
+@@ -6428,11 +6037,11 @@
{ "Canon PowerShot S3 IS", 0, 0, /* DJC */
{ 14062,-5199,-1446,-4712,12470,2243,-1286,2028,4836 } },
{ "Canon PowerShot SX1 IS", 0, 0,
@@ -1072,7 +1062,7 @@
{ "CASIO EX-S20", 0, 0, /* DJC */
{ 11634,-3924,-1128,-4968,12954,2015,-1588,2648,7206 } },
{ "CASIO EX-Z750", 0, 0, /* DJC */
-@@ -6502,12 +6111,12 @@
+@@ -6505,12 +6114,12 @@
{ 12440,-3954,-1183,-1123,9674,1708,-83,1614,4086 } },
{ "FUJIFILM HS20EXR", 0, 0,
{ 13690,-5358,-1474,-3369,11600,1998,-132,1554,4395 } },
@@ -1087,7 +1077,7 @@
{ "FUJIFILM X-Pro1", 0, 0,
{ 10413,-3996,-993,-3721,11640,2361,-733,1540,6011 } },
{ "FUJIFILM X-S1", 0, 0,
-@@ -6608,28 +6217,26 @@
+@@ -6611,28 +6220,26 @@
{ 7577,-2166,-926,-7454,15592,1934,-2377,2808,8606 } },
{ "NIKON D1X", 0, 0,
{ 7702,-2245,-975,-9114,17242,1875,-2679,3055,8521 } },
@@ -1124,7 +1114,7 @@
{ "NIKON D40X", 0, 0,
{ 8819,-2543,-911,-9025,16928,2151,-1329,1213,8449 } },
{ "NIKON D40", 0, 0,
-@@ -6642,14 +6249,14 @@
+@@ -6645,14 +6252,14 @@
{ 8198,-2239,-724,-4871,12389,2798,-1043,2050,7181 } },
{ "NIKON D50", 0, 0,
{ 7732,-2422,-789,-8238,15884,2498,-859,783,7330 } },
@@ -1143,7 +1133,7 @@
{ "NIKON D800", 0, 0,
{ 7866,-2108,-555,-4869,12483,2681,-1176,2069,7501 } },
{ "NIKON D80", 0, 0,
-@@ -6708,12 +6315,12 @@
+@@ -6711,12 +6318,12 @@
{ 13173,-4732,-1499,-5807,14036,1895,-2045,2452,7142 } },
{ "OLYMPUS E-300", 0, 0,
{ 7828,-1761,-348,-5788,14071,1830,-2853,4518,6557 } },
@@ -1158,7 +1148,7 @@
{ "OLYMPUS E-400", 0, 0,
{ 6169,-1483,-21,-7107,14761,2536,-2904,3580,8568 } },
{ "OLYMPUS E-410", 0, 0xf6a,
-@@ -6726,34 +6333,32 @@
+@@ -6729,30 +6336,30 @@
{ 8136,-1968,-299,-5481,13742,1871,-2556,4205,6630 } },
{ "OLYMPUS E-510", 0, 0xf6a,
{ 8785,-2529,-1033,-7639,15624,2112,-1783,2300,7817 } },
@@ -1202,14 +1192,10 @@
+ { 7041,-1794,-336,-3790,11192,2984,-1364,2625,6217 } },
{ "OLYMPUS E-PM1", 0, 0,
{ 7575,-2159,-571,-3722,11341,2725,-1434,2819,6271 } },
-- { "OLYMPUS E-M5", 0, 0,
-- { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
+ { "OLYMPUS E-M5", 0, 0,
+ { 8380,-2630,-639,-2887,10725,2496,-627,1427,5438 } },
{ "OLYMPUS SP350", 0, 0,
- { 12078,-4836,-1069,-6671,14306,2578,-786,939,7418 } },
- { "OLYMPUS SP3", 0, 0,
- { 11766,-4445,-1067,-6901,14421,2707,-1029,1217,7572 } },
- { "OLYMPUS SP500UZ", 0, 0xfff,
-@@ -6764,12 +6369,12 @@
+@@ -6767,12 +6374,12 @@
{ 11597,-4006,-1049,-5432,12799,2957,-1029,1750,6516 } },
{ "OLYMPUS SP560UZ", 0, 0xff9,
{ 10915,-3677,-982,-5587,12986,2911,-1168,1968,6223 } },
@@ -1224,7 +1210,7 @@
{ "PENTAX *ist DL", 0, 0,
{ 10829,-2838,-1115,-8339,15817,2696,-837,680,11939 } },
{ "PENTAX *ist DS2", 0, 0,
-@@ -6782,12 +6387,12 @@
+@@ -6785,12 +6392,12 @@
{ 9566,-2863,-803,-7170,15172,2112,-818,803,9705 } },
{ "PENTAX K1", 0, 0,
{ 11095,-3157,-1324,-8377,15834,2720,-1108,947,11688 } },
@@ -1239,7 +1225,7 @@
{ "PENTAX K-m", 0, 0,
{ 11057,-3604,-1155,-5152,13046,2329,-282,375,8104 } },
{ "PENTAX K-x", 0, 0,
-@@ -6840,40 +6445,42 @@
+@@ -6843,40 +6450,42 @@
{ 8128,-2668,-655,-6134,13307,3161,-1782,2568,6083 } },
{ "Panasonic DMC-LX5", 143, 0,
{ 10909,-4295,-948,-1333,9306,2399,22,1738,4582 } },
@@ -1302,7 +1288,7 @@
{ "Phase One H 20", 0, 0, /* DJC */
{ 1313,1855,-109,-6715,15908,808,-327,1840,6020 } },
{ "Phase One H 25", 0, 0,
-@@ -6930,26 +6537,24 @@
+@@ -6933,26 +6542,24 @@
{ 4950,-580,-103,-5228,12542,3029,-709,1435,7371 } },
{ "SONY DSLR-A580", 128, 0xfeb,
{ 5932,-1492,-411,-4813,12285,2856,-741,1524,6739 } },
@@ -1341,7 +1327,7 @@
{ "SONY NEX", 128, 0, /* NEX-C3, NEX-F3 */
{ 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 } },
{ "SONY SLT-A33", 128, 0,
-@@ -6959,15 +6564,15 @@
+@@ -6962,15 +6569,15 @@
{ "SONY SLT-A37", 128, 0,
{ 5991,-1456,-455,-4764,12135,2980,-707,1425,6701 } },
{ "SONY SLT-A55", 128, 0,
@@ -1360,7 +1346,7 @@
char name[130];
int i, j;
-@@ -7211,17 +6816,26 @@
+@@ -7214,17 +6821,26 @@
hlen = get4();
fseek (ifp, 0, SEEK_SET);
fread (head, 1, 32, ifp);
@@ -1389,7 +1375,7 @@
} else if (!memcmp (head,"\xff\xd8\xff\xe1",4) &&
!memcmp (head+6,"Exif",4)) {
fseek (ifp, 4, SEEK_SET);
-@@ -7262,10 +6876,11 @@
+@@ -7265,10 +6881,11 @@
}
load_raw = &CLASS unpacked_load_raw;
fseek (ifp, 100+28*(shot_select > 0), SEEK_SET);
@@ -1401,7 +1387,7 @@
fseek (ifp, 0, SEEK_SET);
parse_riff();
} else if (!memcmp (head,"\0\001\0\001\0@",6)) {
-@@ -7359,11 +6974,11 @@
+@@ -7362,11 +6979,11 @@
if (height == 2624 && width == 3936) /* Pentax K10D and Samsung GX10 */
{ height = 2616; width = 3896; }
if (height == 3136 && width == 4864) /* Pentax K20D and Samsung GX20 */
@@ -1414,7 +1400,7 @@
if (width == 4736 && !strcmp(model,"K-7"))
{ height = 3122; width = 4684; filters = 0x16161616; top_margin = 2; }
if (width == 7424 && !strcmp(model,"645D"))
-@@ -7757,11 +7372,11 @@
+@@ -7766,11 +7383,11 @@
height -= top_margin;
width -= left_margin;
} else if (is_canon && raw_width == 5920) {
@@ -1427,7 +1413,7 @@
cam_mul[0] *= 256/527.0;
cam_mul[2] *= 256/317.0;
} else if (!strcmp(model,"D1X")) {
-@@ -7786,11 +7401,11 @@
+@@ -7795,11 +7412,11 @@
width -= 42;
} else if (!strcmp(model,"D5100") ||
!strcmp(model,"D7000")) {
@@ -1440,7 +1426,7 @@
width -= 52;
left_margin = 2;
} else if (!strncmp(model,"D40",3) ||
-@@ -8681,198 +8296,11 @@
+@@ -8690,198 +8307,11 @@
quit:
cmsCloseProfile (hInProfile);
}
@@ -1640,7 +1626,7 @@
ushort tag, type;
int count;
union { char c[4]; short s[2]; int i; } val;
-@@ -8892,572 +8320,13 @@
+@@ -8901,572 +8331,13 @@
int rat[10];
unsigned gps[26];
char desc[512], make[64], model[64], soft[32], date[20], artist[64];
@@ -2141,7 +2127,7 @@
- colorcheck();
-#endif
- if (is_foveon) {
-- if (document_mode || model[0] == 'D') {
+- if (document_mode || load_raw == &CLASS foveon_dp_load_raw) {
- for (i=0; i < height*width*4; i++)
- if ((short) image[0][i] < 0) image[0][i] = 0;
- } else foveon_interpolate();
diff --git a/rtengine/imagedata.cc b/rtengine/imagedata.cc
index 4a41209cc..2a8419494 100644
--- a/rtengine/imagedata.cc
+++ b/rtengine/imagedata.cc
@@ -57,7 +57,7 @@ ImageData::ImageData (Glib::ustring fname, RawMetaDataLocation* ri) {
extractInfo ();
}
}
- else if (dotposgetTag ("FocalLength")->toDouble ();
if (exif->getTag ("FocalLengthIn35mmFilm"))
focal_len35mm = exif->getTag ("FocalLengthIn35mmFilm")->toDouble ();
- rtexif::Tag* pDst=exif->getTag("SubjectDistance"); // EXIF, set by Adobe. MakerNote ones are scattered and partly encrypted
+
+ // Focus distance from EXIF or XMP. MakerNote ones are scattered and partly encrypted
+ int num=-3, denom=-3;
+
+ // First try, offical EXIF. Set by Adobe on some DNGs
+ rtexif::Tag* pDst=exif->getTag("SubjectDistance");
if (pDst) {
int num, denom;
pDst->toRational(num,denom);
+ } else {
+ // Second try, XMP data
+ char sXMPVal[64];
+ if (root->getXMPTagValue("aux:ApproximateFocusDistance",sXMPVal)) { sscanf(sXMPVal,"%d/%d",&num,&denom); }
+ }
+
+ if (num!=-3) {
if ((denom==1 && num>=10000) || num<0 || denom<0)
focus_dist=10000; // infinity
else if (denom>0) {
diff --git a/rtengine/imageio.cc b/rtengine/imageio.cc
index 47e014b2c..c9f216174 100644
--- a/rtengine/imageio.cc
+++ b/rtengine/imageio.cc
@@ -911,9 +911,11 @@ int ImageIO::load (Glib::ustring fname) {
return IMIO_FILETYPENOTSUPPORTED;
if (!fname.casefold().compare (lastdot, 4, ".png"))
return loadPNG (fname);
- else if (!fname.casefold().compare (lastdot, 4, ".jpg"))
+ else if (!fname.casefold().compare (lastdot, 4, ".jpg") ||
+ !fname.casefold().compare (lastdot, 5, ".jpeg"))
return loadJPEG (fname);
- else if (!fname.casefold().compare (lastdot, 4, ".tif"))
+ else if (!fname.casefold().compare (lastdot, 4, ".tif") ||
+ !fname.casefold().compare (lastdot, 5, ".tiff"))
return loadTIFF (fname);
else return IMIO_FILETYPENOTSUPPORTED;
}
@@ -925,9 +927,11 @@ int ImageIO::save (Glib::ustring fname) {
return IMIO_FILETYPENOTSUPPORTED;
if (!fname.casefold().compare (lastdot, 4, ".png"))
return savePNG (fname);
- else if (!fname.casefold().compare (lastdot, 4, ".jpg"))
+ else if (!fname.casefold().compare (lastdot, 4, ".jpg") ||
+ !fname.casefold().compare (lastdot, 5, ".jpeg"))
return saveJPEG (fname);
- else if (!fname.casefold().compare (lastdot, 4, ".tif"))
+ else if (!fname.casefold().compare (lastdot, 4, ".tif") ||
+ !fname.casefold().compare (lastdot, 5, ".tiff"))
return saveTIFF (fname);
else return IMIO_FILETYPENOTSUPPORTED;
}
diff --git a/rtexif/rtexif.cc b/rtexif/rtexif.cc
index da4fdc8b7..9bab4de2b 100644
--- a/rtexif/rtexif.cc
+++ b/rtexif/rtexif.cc
@@ -213,6 +213,51 @@ Tag* TagDirectory::findTag (const char* name) const {
return NULL;
}
+// Searches a simple value, as either attribute or element
+// only for simple values, not for entries with special chars or free text
+bool TagDirectory::getXMPTagValue(const char* name, char* value) const {
+ *value=0;
+
+ if (!getTag("ApplicationNotes")) return false;
+ char *sXMP = (char*)getTag("ApplicationNotes")->getValue();
+
+ // Check for full word
+ char *pos=sXMP;
+
+ bool found=false;
+ do {
+ pos=strstr(pos,name);
+ if (pos) {
+ char nextChar=*(pos+strlen(name));
+ if (nextChar==' ' || nextChar=='>' || nextChar=='=')
+ found=true;
+ else
+ pos+=strlen(name);
+ }
+ } while (pos && !found);
+ if (!found) return false;
+
+ char *posTag =strchr(pos,'>');
+ char *posAttr=strchr(pos,'"');
+
+ if (!posTag && !posAttr) return false;
+
+ if (posTag && (!posAttr || posTaggetID()==ID) tags[i]->setKeep(true);
diff --git a/rtexif/rtexif.h b/rtexif/rtexif.h
index 020062c5d..185aee9fc 100644
--- a/rtexif/rtexif.h
+++ b/rtexif/rtexif.h
@@ -83,6 +83,7 @@ class TagDirectory {
virtual Tag* getTag (const char* name) const;
virtual Tag* getTag (int ID) const;
virtual Tag* findTag (const char* name) const;
+ bool getXMPTagValue(const char* name, char* value) const;
void keepTag (int ID);
virtual void addTag (Tag* a);
diff --git a/rtgui/thumbnail.cc b/rtgui/thumbnail.cc
index 81518cc3b..517d44dc4 100644
--- a/rtgui/thumbnail.cc
+++ b/rtgui/thumbnail.cc
@@ -95,7 +95,7 @@ void Thumbnail::_generateThumbnailImage () {
cfs.exifValid = false;
cfs.timeValid = false;
- if (ext.lowercase()=="jpg") {
+ if (ext.lowercase()=="jpg" || ext.lowercase()=="jpeg") {
tpp = rtengine::Thumbnail::loadFromImage (fname, tw, th, 1, infoFromImage (fname));
if (tpp)
cfs.format = FT_Jpeg;