File indexing completed on 2025-01-05 03:57:12

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2005-11-06
0007  * Description : list of RAW file extensions supported by libraw
0008  *
0009  * SPDX-FileCopyrightText: 2005-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0010  *
0011  * SPDX-License-Identifier: GPL-2.0-or-later
0012  *
0013  * ============================================================ */
0014 
0015 #include "drawfiles.h"
0016 
0017 // KDE includes
0018 
0019 #include <klocalizedstring.h>
0020 
0021 namespace Digikam
0022 {
0023 
0024 QString s_rawFileExtensions()
0025 {
0026     QList<QString> list = s_rawFileExtensionsdWithDesc().keys();
0027     QString ret;
0028 
0029     Q_FOREACH (const QString& mime, list)
0030     {
0031         ret.append(QString::fromLatin1("*.%1 ").arg(mime));
0032     }
0033 
0034     return ret;
0035 }
0036 
0037 QMap<QString, QString> s_rawFileExtensionsdWithDesc()
0038 {
0039     QMap<QString, QString> map;
0040 
0041     /**
0042      * NOTE: extension list Version 1 and 2 are taken from www.cybercom.net/~dcoffin/dcraw/rawphoto.c
0043      *
0044      *                        Ext           Descriptions From
0045      *                                      www.file-extensions.org
0046      *                                      en.wikipedia.org/wiki/RAW_file_format
0047      *                                      filext.com
0048      */
0049 
0050     /**
0051      * NOTE: VERSION 1
0052      */
0053     map.insert(QLatin1String("bay"),  i18n("Casio Digital Camera Raw File Format"));
0054     map.insert(QLatin1String("bmq"),  i18n("NuCore Raw Image File"));
0055 
0056     /**
0057      * These images are based on the TIFF image standard.
0058      */
0059     map.insert(QLatin1String("cr2"),  i18n("Canon Digital Camera RAW Image Format version 2.0"));
0060 
0061     map.insert(QLatin1String("crw"),  i18n("Canon Digital Camera RAW Image Format version 1.0"));
0062     map.insert(QLatin1String("cs1"),  i18n("Capture Shop Raw Image File"));
0063     map.insert(QLatin1String("dc2"),  i18n("Kodak DC25 Digital Camera File"));
0064 
0065     /**
0066      * For these models: Kodak DSC Pro SLR/c, Kodak DSC Pro SLR/n, Kodak DSC Pro 14N, Kodak DSC PRO 14nx.
0067      */
0068     map.insert(QLatin1String("dcr"),  i18n("Kodak Digital Camera Raw Image Format"));
0069 
0070     /**
0071      * DNG is publicly available archival format for the raw files generated by digital cameras.
0072      * By addressing the lack of an open standard for the raw files created by individual camera models,
0073      * DNG helps ensure that photographers will be able to access their files in the future.
0074      */
0075     map.insert(QLatin1String("dng"),  i18n("Adobe Digital Negative"));
0076 
0077     map.insert(QLatin1String("erf"),  i18n("Epson Digital Camera Raw Image Format"));
0078     map.insert(QLatin1String("fff"),  i18n("Imacon Digital Camera Raw Image Format"));
0079     map.insert(QLatin1String("hdr"),  i18n("Leaf Raw Image File"));
0080     map.insert(QLatin1String("k25"),  i18n("Kodak DC25 Digital Camera Raw Image Format"));
0081     map.insert(QLatin1String("kdc"),  i18n("Kodak Digital Camera Raw Image Format"));
0082     map.insert(QLatin1String("mdc"),  i18n("Minolta RD175 Digital Camera Raw Image Format"));
0083     map.insert(QLatin1String("mos"),  i18n("Mamiya Digital Camera Raw Image Format"));
0084     map.insert(QLatin1String("mrw"),  i18n("Minolta Dimage Digital Camera Raw Image Format"));
0085     map.insert(QLatin1String("nef"),  i18n("Nikon Digital Camera Raw Image Format"));
0086     map.insert(QLatin1String("orf"),  i18n("Olympus Digital Camera Raw Image Format"));
0087     map.insert(QLatin1String("pef"),  i18n("Pentax Digital Camera Raw Image Format"));
0088     map.insert(QLatin1String("pxn"),  i18n("Logitech Digital Camera Raw Image Format"));
0089     map.insert(QLatin1String("raf"),  i18n("Fuji Digital Camera Raw Image Format"));
0090     map.insert(QLatin1String("raw"),  i18n("Panasonic Digital Camera Image Format"));
0091     map.insert(QLatin1String("rdc"),  i18n("Digital Foto Maker Raw Image File"));
0092     map.insert(QLatin1String("sr2"),  i18n("Sony Digital Camera Raw Image Format"));
0093 
0094     /**
0095      * For DSC-F828 8 megapixel digital camera or Sony DSC-R1.
0096      */
0097     map.insert(QLatin1String("srf"),  i18n("Sony Digital Camera Raw Image Format"));
0098 
0099     /**
0100      * For devices based on Foveon X3 direct image sensor.
0101      */
0102     map.insert(QLatin1String("x3f"),  i18n("Sigma Digital Camera Raw Image Format"));
0103 
0104     /**
0105      * For Alpha devices.
0106      */
0107     map.insert(QLatin1String("arw"),  i18n("Sony Digital Camera Raw Image Format"));
0108 
0109     /**
0110      * NOTE: VERSION 2
0111      */
0112 
0113     map.insert(QLatin1String("3fr"),  i18n("Hasselblad Digital Camera Raw Image Format"));
0114     map.insert(QLatin1String("cine"), i18n("Phantom Software Raw Image File"));
0115     map.insert(QLatin1String("ia"),   i18n("Sinar Raw Image File"));
0116     map.insert(QLatin1String("kc2"),  i18n("Kodak DCS200 Digital Camera Raw Image Format"));
0117     map.insert(QLatin1String("mef"),  i18n("Mamiya Digital Camera Raw Image Format"));
0118     map.insert(QLatin1String("nrw"),  i18n("Nikon Digital Camera Raw Image Format"));
0119     map.insert(QLatin1String("qtk"),  i18n("Apple Quicktake 100/150 Digital Camera Raw Image Format"));
0120     map.insert(QLatin1String("rw2"),  i18n("Panasonic LX3 Digital Camera Raw Image Format"));
0121     map.insert(QLatin1String("sti"),  i18n("Sinar Capture Shop Raw Image File"));
0122 
0123     /**
0124      * NOTE: VERSION 3
0125      */
0126 
0127     map.insert(QLatin1String("rwl"),  i18n("Leica Digital Camera Raw Image Format"));
0128 
0129     /**
0130      * NOTE: VERSION 4
0131      */
0132 
0133     map.insert(QLatin1String("srw"),  i18n("Samsung Raw Image Format"));
0134 
0135     /**
0136      * NOTE: VERSION 5
0137      */
0138     map.insert(QLatin1String("cr3"),  i18n("Canon Digital Camera RAW Image Format version 3.0"));
0139 
0140     /**
0141      * NOTE: VERSION 6
0142      */
0143     map.insert(QLatin1String("ori"),  i18n("Olympus Digital Camera Raw Image Format"));
0144 
0145     /**
0146      * NOTE: VERSION 7
0147      */
0148     map.insert(QLatin1String("iiq"),  i18n("Phase One Digital Camera Raw Image Format"));
0149 
0150     /**
0151      * NOTE: VERSION 8
0152      */
0153     map.insert(QLatin1String("ari"),  i18n("Arriflex Camera Raw Image Format"));
0154     map.insert(QLatin1String("cap"),  i18n("Phase One Digital Camera Raw Image Format"));
0155     map.insert(QLatin1String("fff"),  i18n("Hasselblad Digital Camera Raw Image Format"));
0156     map.insert(QLatin1String("cin"),  i18n("Phantom Software Raw Image File"));
0157 
0158 /*
0159     TODO: check if these format are supported
0160 
0161     map.insert(QLatin1String("drf"),  i18n("Kodak Digital Camera Raw Image Format"));
0162     map.insert(QLatin1String("dsc"),  i18n("Kodak Digital Camera Raw Image Format"));
0163     map.insert(QLatin1String("ptx"),  i18n("Pentax Digital Camera Raw Image Format"));
0164     map.insert(QLatin1String("rwz"),  i18n("Rawzor Digital Camera Raw Image Format"));
0165 */
0166 
0167     return map;
0168 }
0169 
0170 int s_rawFileExtensionsVersion()
0171 {
0172     /**
0173      * NOTE: increment this number whenever you change the above strings
0174      */
0175     return 8;
0176 }
0177 
0178 } // namespace Digikam