Vendor rawler 0.7.2 unmodified
The crate as crates.io publishes it, minus .cargo-ok, its Cargo.lock and data/testdata (13 MB of sample files only its own tests read). Not yet routed through [patch.crates-io]; the next commit is the patch.
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"git": {
|
||||
"sha1": "ff7a4524cc7187554544269482e5fd5e68a6b4ab"
|
||||
},
|
||||
"path_in_vcs": "rawler"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
target
|
||||
Cargo.lock
|
||||
Vendored
+177
@@ -0,0 +1,177 @@
|
||||
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
|
||||
#
|
||||
# When uploading crates to the registry Cargo will automatically
|
||||
# "normalize" Cargo.toml files for maximal compatibility
|
||||
# with all versions of Cargo and also rewrite `path` dependencies
|
||||
# to registry (e.g., crates.io) dependencies.
|
||||
#
|
||||
# If you are reading this file be aware that the original Cargo.toml
|
||||
# will likely look very different (and much more reasonable).
|
||||
# See Cargo.toml.orig for the original contents.
|
||||
|
||||
[package]
|
||||
edition = "2024"
|
||||
rust-version = "1.88"
|
||||
name = "rawler"
|
||||
version = "0.7.2"
|
||||
authors = [
|
||||
"Daniel Vogelbacher <daniel@chaospixel.com>",
|
||||
"Pedro Côrte-Real <pedro@pedrocr.net>",
|
||||
]
|
||||
build = "data/join.rs"
|
||||
autolib = false
|
||||
autobins = false
|
||||
autoexamples = false
|
||||
autotests = false
|
||||
autobenches = false
|
||||
description = "A library to extract images and metadata from camera raw formats"
|
||||
homepage = "https://github.com/dnglab/dnglab"
|
||||
readme = "README.md"
|
||||
keywords = [
|
||||
"camera",
|
||||
"raw",
|
||||
]
|
||||
categories = ["multimedia::images"]
|
||||
license = "LGPL-2.1"
|
||||
repository = "https://github.com/dnglab/dnglab"
|
||||
resolver = "2"
|
||||
|
||||
[features]
|
||||
clap = ["dep:clap"]
|
||||
inspector = []
|
||||
samplecheck = []
|
||||
|
||||
[lib]
|
||||
name = "rawler"
|
||||
path = "src/lib.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "benchmark"
|
||||
path = "src/bin/benchmark.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "identify"
|
||||
path = "src/bin/identify.rs"
|
||||
|
||||
[[test]]
|
||||
name = "mod"
|
||||
path = "tests/mod.rs"
|
||||
|
||||
[[bench]]
|
||||
name = "perf"
|
||||
path = "benches/perf.rs"
|
||||
harness = false
|
||||
|
||||
[[bench]]
|
||||
name = "raw_decoder"
|
||||
path = "benches/raw_decoder.rs"
|
||||
harness = false
|
||||
|
||||
[dependencies.backtrace]
|
||||
version = "0.3"
|
||||
|
||||
[dependencies.bitstream-io]
|
||||
version = "4.1"
|
||||
|
||||
[dependencies.byteorder]
|
||||
version = "1"
|
||||
|
||||
[dependencies.chrono]
|
||||
version = "0.4"
|
||||
|
||||
[dependencies.clap]
|
||||
version = "4.4.0"
|
||||
optional = true
|
||||
|
||||
[dependencies.enumn]
|
||||
version = "0.1"
|
||||
|
||||
[dependencies.hex]
|
||||
version = "0.4"
|
||||
|
||||
[dependencies.image]
|
||||
version = "0.25"
|
||||
features = ["jpeg"]
|
||||
default-features = false
|
||||
|
||||
[dependencies.itertools]
|
||||
version = "0.14"
|
||||
|
||||
[dependencies.jxl-oxide]
|
||||
version = "0.12.2"
|
||||
|
||||
[dependencies.lazy_static]
|
||||
version = "1"
|
||||
|
||||
[dependencies.libflate]
|
||||
version = "2.0"
|
||||
|
||||
[dependencies.log]
|
||||
version = "0.4"
|
||||
|
||||
[dependencies.md5]
|
||||
version = "0.8"
|
||||
|
||||
[dependencies.memmap2]
|
||||
version = "0.9.4"
|
||||
|
||||
[dependencies.multiversion]
|
||||
version = "0.8"
|
||||
|
||||
[dependencies.num]
|
||||
version = "0.4"
|
||||
|
||||
[dependencies.num_enum]
|
||||
version = "0.7"
|
||||
|
||||
[dependencies.rayon]
|
||||
version = "1"
|
||||
|
||||
[dependencies.serde]
|
||||
version = "1.0"
|
||||
features = ["derive"]
|
||||
|
||||
[dependencies.thiserror]
|
||||
version = "2.0"
|
||||
|
||||
[dependencies.toml]
|
||||
version = "0.8"
|
||||
|
||||
[dependencies.uuid]
|
||||
version = "1.0"
|
||||
features = [
|
||||
"serde",
|
||||
"v4",
|
||||
]
|
||||
|
||||
[dependencies.weezl]
|
||||
version = "0.1.7"
|
||||
|
||||
[dependencies.zerocopy]
|
||||
version = "0.8.26"
|
||||
features = ["derive"]
|
||||
|
||||
[dev-dependencies.anyhow]
|
||||
version = "1.0"
|
||||
|
||||
[dev-dependencies.approx]
|
||||
version = "0.5.1"
|
||||
|
||||
[dev-dependencies.criterion]
|
||||
version = "0.7"
|
||||
features = ["html_reports"]
|
||||
|
||||
[dev-dependencies.env_logger]
|
||||
version = "0.11"
|
||||
|
||||
[dev-dependencies.serde_yaml]
|
||||
version = "=0.8"
|
||||
|
||||
[build-dependencies.glob]
|
||||
version = "0.3"
|
||||
|
||||
[build-dependencies.rustc_version]
|
||||
version = "0.4"
|
||||
|
||||
[build-dependencies.toml]
|
||||
version = "=0.8"
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
[package]
|
||||
authors = ["Daniel Vogelbacher <daniel@chaospixel.com>", "Pedro Côrte-Real <pedro@pedrocr.net>"]
|
||||
categories = ["multimedia::images"]
|
||||
description = "A library to extract images and metadata from camera raw formats"
|
||||
readme = "README.md"
|
||||
edition = "2024"
|
||||
homepage = "https://github.com/dnglab/dnglab"
|
||||
keywords = ["camera", "raw"]
|
||||
license = "LGPL-2.1"
|
||||
name = "rawler"
|
||||
repository = "https://github.com/dnglab/dnglab"
|
||||
rust-version = "1.88"
|
||||
version = "0.7.2"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
build = "data/join.rs"
|
||||
|
||||
[features]
|
||||
# This is a developer feature, it enabled deep inspection of algorithm execution stages
|
||||
clap = ["dep:clap"]
|
||||
#default = ["samplecheck"]
|
||||
inspector = []
|
||||
samplecheck = []
|
||||
|
||||
[dependencies]
|
||||
backtrace = "0.3"
|
||||
bitstream-io = "4.1"
|
||||
byteorder = "1"
|
||||
chrono = "0.4"
|
||||
clap = { version = "4.4.0", optional = true }
|
||||
enumn = "0.1"
|
||||
hex = "0.4"
|
||||
image = { version = "0.25", default-features = false, features = ["jpeg"] }
|
||||
itertools = "0.14"
|
||||
lazy_static = "1"
|
||||
jxl-oxide = "0.12.2"
|
||||
libflate = "2.0"
|
||||
log = "0.4"
|
||||
md5 = "0.8"
|
||||
num = "0.4"
|
||||
multiversion = "0.8"
|
||||
num_enum = "0.7"
|
||||
rayon = "1"
|
||||
zerocopy = { version = "0.8.26", features = ["derive"] }
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
thiserror = "2.0"
|
||||
toml = "0.8"
|
||||
uuid = { version = "1.0", features = ["serde", "v4"] }
|
||||
weezl = "0.1.7"
|
||||
memmap2 = "0.9.4"
|
||||
|
||||
[dev-dependencies]
|
||||
criterion = { version = "0.7", features = ["html_reports"] }
|
||||
env_logger = "0.11"
|
||||
serde_yaml = "=0.8" # TODO - breaks camera tests, update to 0.9 when fixed
|
||||
anyhow = "1.0"
|
||||
approx = "0.5.1"
|
||||
|
||||
[build-dependencies]
|
||||
glob = "0.3"
|
||||
rustc_version = "0.4"
|
||||
toml = "=0.8" # TODO - Updating breaks `join.rs` build script with message - Error parsing "data/cameras/apple/quicktake100.toml": message: "unexpected content, expected nothing",
|
||||
|
||||
|
||||
|
||||
|
||||
[[bench]]
|
||||
harness = false
|
||||
name = "perf"
|
||||
|
||||
[[bench]]
|
||||
harness = false
|
||||
name = "raw_decoder"
|
||||
Vendored
+504
@@ -0,0 +1,504 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
(This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.)
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
{description}
|
||||
Copyright (C) {year} {fullname}
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
|
||||
USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random
|
||||
Hacker.
|
||||
|
||||
{signature of Ty Coon}, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
Vendored
+18
@@ -0,0 +1,18 @@
|
||||
# Rawler
|
||||
Digital camera raw format library
|
||||
|
||||
## What is Rawler?
|
||||
Rawler parses raw file formats and provides access to the pixels
|
||||
and all metadata.
|
||||
|
||||
## Why is it named rawler?
|
||||
It's a (c)rawler, just for raw file structures.
|
||||
|
||||
## Why another raw library?
|
||||
|
||||
* There are libraries dealing with metadata (exiv2) and for pixels (rawspeed, libraw),
|
||||
but not for both. Each library ships their own file structure parsers.
|
||||
* rawloader, which is basically the fundament of this library, is a pretty good library,
|
||||
but lacks of support for metadata.
|
||||
* For fun.
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
use criterion::{Criterion, criterion_group, criterion_main};
|
||||
use rawler::ljpeg92::LjpegCompressor;
|
||||
use std::hint::black_box;
|
||||
|
||||
fn generate_data(w: usize, h: usize, ncomp: usize) -> Vec<u16> {
|
||||
let mut img = vec![0; w * h * ncomp];
|
||||
|
||||
for (i, pix) in img.iter_mut().enumerate() {
|
||||
*pix = i as u16 % 4u16;
|
||||
}
|
||||
img
|
||||
}
|
||||
|
||||
fn encode_ljpeg(img: &[u16], w: usize, h: usize, ncomp: usize) {
|
||||
let pred = 1;
|
||||
let bps = 16;
|
||||
|
||||
let state = LjpegCompressor::new(img, w, h, ncomp, bps, pred, 0, 0).unwrap();
|
||||
let _result = state.encode().unwrap();
|
||||
}
|
||||
|
||||
fn copy_data(img: &[u16], w: usize, h: usize) {
|
||||
let mut result = vec![0; w * h];
|
||||
for (dst, src) in result.chunks_exact_mut(w).zip(img.chunks_exact(w)) {
|
||||
dst.copy_from_slice(src);
|
||||
}
|
||||
}
|
||||
|
||||
fn criterion_benchmark(c: &mut Criterion) {
|
||||
let mut group = c.benchmark_group("ljpeg-encoder");
|
||||
// Configure Criterion.rs to detect smaller differences and increase sample size to improve
|
||||
// precision and counteract the resulting noise.
|
||||
group.significance_level(0.1).sample_size(20); //.measurement_time(Duration::from_secs(10));
|
||||
|
||||
let x = generate_data(3000, 2000, 1);
|
||||
|
||||
group.bench_with_input("encode_3000x2000", &x, |b, data| {
|
||||
b.iter(|| encode_ljpeg(black_box(data), black_box(3000), black_box(2000), black_box(1)))
|
||||
});
|
||||
|
||||
group.bench_with_input("copy_3000x2000", &x, |b, data| {
|
||||
b.iter(|| copy_data(black_box(data), black_box(3000), black_box(2000)))
|
||||
});
|
||||
|
||||
group.finish();
|
||||
}
|
||||
|
||||
criterion_group!(benches, criterion_benchmark);
|
||||
criterion_main!(benches);
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
use criterion::{BenchmarkGroup, Criterion, criterion_group, criterion_main, measurement::WallTime};
|
||||
use rawler::{decoders::RawDecodeParams, rawsource::RawSource};
|
||||
use std::{hint::black_box, path::PathBuf, time::Duration};
|
||||
|
||||
fn rawdb_sample(sample: &str) -> PathBuf {
|
||||
let mut path = PathBuf::from(std::env::var("RAWLER_RAWDB").expect("RAWLER_RAWDB variable must be set in order to run RAW test!"));
|
||||
path.push(sample);
|
||||
if !path.exists() {
|
||||
eprintln!("Sample \"{}\" not found", path.display());
|
||||
}
|
||||
path
|
||||
}
|
||||
|
||||
fn bench_raw_image(group: &mut BenchmarkGroup<'_, WallTime>, name: &str, sample: &str) {
|
||||
let mut inner = || -> anyhow::Result<()> {
|
||||
let sample = rawdb_sample(sample);
|
||||
let rawfile = RawSource::new(&sample)?;
|
||||
let decoder = rawler::get_decoder(&rawfile)?;
|
||||
group.bench_with_input(name, &rawfile, |b, rawfile| {
|
||||
b.iter(|| {
|
||||
decoder
|
||||
.raw_image(black_box(rawfile), black_box(&RawDecodeParams::default()), black_box(false))
|
||||
.expect("Decoder failed")
|
||||
})
|
||||
});
|
||||
Ok(())
|
||||
};
|
||||
|
||||
if let Err(err) = inner() {
|
||||
eprintln!("Warning: Bench failed: {:?}", err);
|
||||
}
|
||||
}
|
||||
|
||||
fn decoding_raw_frame(c: &mut Criterion) {
|
||||
let mut group = c.benchmark_group("decoding-raw-frame");
|
||||
// Configure Criterion.rs to detect smaller differences and increase sample size to improve
|
||||
// precision and counteract the resulting noise.
|
||||
group.significance_level(0.1).sample_size(20).measurement_time(Duration::from_secs(10));
|
||||
|
||||
bench_raw_image(
|
||||
&mut group,
|
||||
"decode_canon_eos_5dmk3_raw",
|
||||
"cameras/Canon/EOS 5D Mark III/raw_modes/Canon EOS 5D Mark III_RAW_ISO_200.CR2",
|
||||
);
|
||||
|
||||
bench_raw_image(
|
||||
&mut group,
|
||||
"decode_canon_eos_5dmk3_sraw1",
|
||||
"cameras/Canon/EOS 5D Mark III/raw_modes/Canon EOS 5D Mark III_sRAW1_ISO_200.CR2",
|
||||
);
|
||||
|
||||
bench_raw_image(
|
||||
&mut group,
|
||||
"decode_canon_eos_5dmk3_sraw2",
|
||||
"cameras/Canon/EOS 5D Mark III/raw_modes/Canon EOS 5D Mark III_sRAW2_ISO_200.CR2",
|
||||
);
|
||||
|
||||
bench_raw_image(
|
||||
&mut group,
|
||||
"decode_canon_eos_r6_raw",
|
||||
"cameras/Canon/EOS R6/raw_modes/Canon EOS R6_RAW_ISO_100_nocrop_nodual.CR3",
|
||||
);
|
||||
|
||||
bench_raw_image(
|
||||
&mut group,
|
||||
"decode_canon_eos_r6_craw",
|
||||
"cameras/Canon/EOS R6/raw_modes/Canon EOS R6_CRAW_ISO_100_nocrop_nodual.CR3",
|
||||
);
|
||||
|
||||
bench_raw_image(&mut group, "decode_dng_ljpeg_tiles", "dng/compression-sets/ljpeg_tiles.dng");
|
||||
|
||||
bench_raw_image(&mut group, "decode_dng_10bit", "dng/compression-sets/10bit.dng");
|
||||
|
||||
bench_raw_image(&mut group, "decode_dng_12bit", "dng/compression-sets/12bit.dng");
|
||||
|
||||
bench_raw_image(&mut group, "decode_dng_16bit_be", "dng/compression-sets/16bit_bigend.dng");
|
||||
|
||||
bench_raw_image(&mut group, "decode_dng_8bit_lintable", "dng/compression-sets/8bit_lintable.dng");
|
||||
|
||||
bench_raw_image(&mut group, "decode_dng_ljpeg_singlestrip", "dng/compression-sets/ljpeg_singlestrip.dng");
|
||||
|
||||
bench_raw_image(&mut group, "decode_dng_lossy_jpeg_tiles", "dng/compression-sets/lossy_tiles.dng");
|
||||
|
||||
bench_raw_image(
|
||||
&mut group,
|
||||
"decode_dng_uncomp_multistrip_16rows",
|
||||
"dng/compression-sets/uncompressed_multistrip_16row.dng",
|
||||
);
|
||||
|
||||
bench_raw_image(
|
||||
&mut group,
|
||||
"decode_dng_uncomp_multistrip_1row",
|
||||
"dng/compression-sets/uncompressed_multistrip_1row.dng",
|
||||
);
|
||||
|
||||
group.finish();
|
||||
}
|
||||
|
||||
criterion_group!(benches, decoding_raw_frame);
|
||||
criterion_main!(benches);
|
||||
@@ -0,0 +1,10 @@
|
||||
make = "Apple"
|
||||
model = "QuickTake 100"
|
||||
clean_make = "Apple"
|
||||
clean_model = "QuickTake 100"
|
||||
blackpoint = 0
|
||||
whitepoint = 1023
|
||||
color_pattern = "GRBG"
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [2.1392,-0.5653,-0.3353,0.2406,0.8010,-0.0415,0.7166,0.1427,0.2078]
|
||||
@@ -0,0 +1,10 @@
|
||||
make = "Apple"
|
||||
model = "QuickTake 150"
|
||||
clean_make = "Apple"
|
||||
clean_model = "QuickTake 150"
|
||||
blackpoint = 0
|
||||
whitepoint = 16383
|
||||
color_pattern = "GRBG"
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [2.1392,-0.5653,-0.3353,0.2406,0.8010,-0.0415,0.7166,0.1427,0.2078]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "ARRI"
|
||||
model = "ALEXA"
|
||||
clean_make = "ARRI"
|
||||
clean_model = "ALEXA"
|
||||
blackpoint = 0
|
||||
whitepoint = 4095
|
||||
color_pattern = "RGGB"
|
||||
#crops = [0,0,0,0]
|
||||
|
||||
# we don't have a matrix so use sRGB
|
||||
[cameras.color_matrix]
|
||||
D65 = [3.24045, -1.53713, -0.49853, -0.96926, 1.87601, 0.04155, 0.05564, -0.20402, 1.05722]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "ARRI"
|
||||
model = "ALEXA65"
|
||||
clean_make = "ARRI"
|
||||
clean_model = "ALEXA 65"
|
||||
blackpoint = 0
|
||||
whitepoint = 4095
|
||||
color_pattern = "GBRG"
|
||||
#crops = [0,0,0,0]
|
||||
|
||||
# we don't have a matrix so use sRGB
|
||||
[cameras.color_matrix]
|
||||
D65 = [3.24045, -1.53713, -0.49853, -0.96926, 1.87601, 0.04155, 0.05564, -0.20402, 1.05722]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "ARRI"
|
||||
model = "ALEXALF"
|
||||
clean_make = "ARRI"
|
||||
clean_model = "ALEXA LF"
|
||||
blackpoint = 0
|
||||
whitepoint = 4095
|
||||
color_pattern = "GBRG"
|
||||
#crops = [0,0,0,0]
|
||||
|
||||
# we don't have a matrix so use sRGB
|
||||
[cameras.color_matrix]
|
||||
D65 = [3.24045, -1.53713, -0.49853, -0.96926, 1.87601, 0.04155, 0.05564, -0.20402, 1.05722]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "ARRI"
|
||||
model = "A-MINI"
|
||||
clean_make = "ARRI"
|
||||
clean_model = "ALEXA Mini"
|
||||
blackpoint = 0
|
||||
whitepoint = 4095
|
||||
color_pattern = "BGGR"
|
||||
hints = ["little-endian"]
|
||||
|
||||
# we don't have a matrix so use sRGB
|
||||
[cameras.color_matrix]
|
||||
D65 = [3.24045, -1.53713, -0.49853, -0.96926, 1.87601, 0.04155, 0.05564, -0.20402, 1.05722]
|
||||
@@ -0,0 +1,20 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 1000D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 1000D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL XS", "EOS Digital Rebel XS"],
|
||||
["Canon EOS REBEL XS", "EOS Rebel XS"],
|
||||
["Canon EOS Kiss Digital F", "EOS Kiss F"],
|
||||
["Canon EOS Kiss F", "EOS Kiss F"],
|
||||
]
|
||||
|
||||
hints = ["invalid_blacklevel"]
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 41]
|
||||
active_area = [42, 18, 0, 2]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7599, -0.2192, -0.0386, -0.6082, 1.2908, 0.3584, -0.0068, 0.0963, 0.7356] # TODO check both
|
||||
D65 = [0.6772, -0.0114, -0.0977, -0.7818, 1.5123, 0.2927, -0.1244, 0.1437, 0.7533]
|
||||
@@ -0,0 +1,20 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 100D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 100D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL SL1", "EOS Rebel SL1"],
|
||||
["Canon EOS REBEL SL1", "EOS Rebel SL1"],
|
||||
["Canon EOS Kiss Digital X7", "EOS Kiss X7"],
|
||||
["Canon EOS Kiss X7", "EOS Kiss X7"],
|
||||
]
|
||||
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 72]
|
||||
blackareah = [8, 44]
|
||||
active_area = [72, 52, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6985, -0.1611, -0.0397, -0.3596, 1.0749, 0.3295, -0.0349, 0.1136, 0.6512]
|
||||
D65 = [0.6602, -0.0841, -0.0939, -0.4472, 1.2458, 0.2247, -0.0975, 0.2039, 0.6148]
|
||||
@@ -0,0 +1,16 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "Canon EOS 10D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 10D"
|
||||
blackpoint = 124
|
||||
whitepoint = 4000
|
||||
color_pattern = "RGGB"
|
||||
active_area = [64, 12, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.912, -0.3127, -0.0453, -0.6868, 1.4138, 0.3011, -0.1708, 0.2368, 0.9501]
|
||||
D65 = [0.825, -0.2044, -0.1127, -0.8092, 1.5606, 0.2664, -0.2893, 0.3453, 0.8348]
|
||||
|
||||
[cameras.params]
|
||||
wb_offset = 1
|
||||
@@ -0,0 +1,19 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 1100D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 1100D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL T3", "EOS Rebel T3"],
|
||||
["Canon EOS REBEL T3", "EOS Rebel T3"],
|
||||
["Canon EOS Kiss Digital X50", "EOS Kiss X50"],
|
||||
["Canon EOS Kiss X50", "EOS Kiss X50"],
|
||||
]
|
||||
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 58]
|
||||
active_area = [62, 18, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6873, -0.1696, -0.0529, -0.3659, 1.0795, 0.3313, -0.0362, 0.1165, 0.7234]
|
||||
D65 = [0.6444, -0.0904, -0.0893, -0.4563, 1.2308, 0.2535, -0.0903, 0.2016, 0.6728]
|
||||
@@ -0,0 +1,21 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 1200D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 1200D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL T5", "EOS Rebel T5"],
|
||||
["Canon EOS REBEL T5", "EOS Rebel T5"],
|
||||
["Canon EOS Kiss Digital X70", "EOS Kiss X70"],
|
||||
["Canon EOS Kiss X70", "EOS Kiss X70"],
|
||||
["Canon EOS Hi", "EOS Hi"],
|
||||
]
|
||||
|
||||
color_pattern = "GBRG"
|
||||
blackareav = [0, 140]
|
||||
blackareah = [4, 44]
|
||||
active_area = [142, 51, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7164, -0.1916, -0.0431, -0.3361, 1.06, 0.32, -0.0272, 0.1058, 0.6442]
|
||||
D65 = [0.6461, -0.0907, -0.0882, -0.43, 1.2184, 0.2378, -0.0819, 0.1944, 0.5931]
|
||||
@@ -0,0 +1,20 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 1300D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 1300D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL T6", "EOS Rebel T6"],
|
||||
["Canon EOS REBEL T6", "EOS Rebel T6"],
|
||||
["Canon EOS Rebel T6", "EOS Rebel T6"],
|
||||
["Canon EOS Kiss Digital X80", "EOS Kiss X80"],
|
||||
["Canon EOS Kiss X80", "EOS Kiss X80"],
|
||||
]
|
||||
|
||||
color_pattern = "GBRG"
|
||||
blackareav = [0,140]
|
||||
active_area = [142, 51, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.77, -0.2142, -0.0096, -0.3513, 1.1072, 0.2806, -0.044, 0.1286, 0.6707]
|
||||
D65 = [0.6939, -0.1016, -0.0866, -0.4428, 1.2473, 0.2177, -0.1175, 0.2178, 0.6162]
|
||||
@@ -0,0 +1,11 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS-1D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS-1D"
|
||||
blackpoint = 0
|
||||
whitepoint = 3588
|
||||
color_pattern = "GRBG"
|
||||
hints = ["double_line"]
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [0.6806, -0.0179, -0.1020, -0.8097, 1.6415, 0.1687, -0.3267, 0.4236, 0.7690]
|
||||
@@ -0,0 +1,15 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS-1D Mark II"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS-1D Mark II"
|
||||
whitepoint = 3700
|
||||
color_pattern = "RGGB"
|
||||
active_area = [74, 12, 0, 0]
|
||||
blackareav = [0, 72]
|
||||
|
||||
[cameras.params]
|
||||
wb_offset = 34
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.718, -0.1623, -0.0246, -0.6795, 1.4095, 0.2977, -0.0978, 0.1327, 0.8537]
|
||||
D65 = [0.6264, -0.0582, -0.0724, -0.8312, 1.5948, 0.2505, -0.1743, 0.1919, 0.8664]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS-1D Mark II N"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS-1D Mark II N"
|
||||
whitepoint = 3700
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 72]
|
||||
active_area = [74, 12, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7217, -0.159, -0.0328, -0.6635, 1.3903, 0.3024, -0.0902, 0.1206, 0.8113]
|
||||
D65 = [0.6241, -0.0466, -0.0822, -0.818, 1.5825, 0.25, -0.1801, 0.1937, 0.8042]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS-1D Mark III"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS-1D Mark III"
|
||||
whitepoint = 15100
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [2, 74]
|
||||
active_area = [78, 20, 0, 2]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7063, -0.1449, -0.0503, -0.6904, 1.4334, 0.2816, -0.0821, 0.109, 0.741]
|
||||
D65 = [0.629, -0.054, -0.0976, -0.835, 1.6145, 0.2311, -0.1714, 0.1858, 0.7326]
|
||||
@@ -0,0 +1,19 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS-1D Mark IV"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS-1D Mark IV"
|
||||
color_pattern = "GBRG"
|
||||
blackareav = [0, 140]
|
||||
active_area = [142, 45, 62, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.9966, -0.4682, -0.0136, -0.28, 1.0398, 0.279, 0.0065, 0.0935, 0.643]
|
||||
D65 = [0.6014, -0.022, -0.0795, -0.4109, 1.2014, 0.2361, -0.0561, 0.1824, 0.5787]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
whitepoint = 65535
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
whitepoint = 65535
|
||||
@@ -0,0 +1,11 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS-1DS"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS-1Ds"
|
||||
blackpoint = 0
|
||||
whitepoint = 3500
|
||||
color_pattern = "GRBG"
|
||||
hints = ["double_line"]
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [0.4374, 0.3631, -0.1743, -0.7520, 1.5212, 0.2472, -0.2892, 0.3632, 0.8161]
|
||||
@@ -0,0 +1,15 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS-1Ds Mark II"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS-1Ds Mark II"
|
||||
whitepoint = 4060
|
||||
color_pattern = "GBRG"
|
||||
blackareav = [0, 96]
|
||||
active_area = [98, 13, 0, 0]
|
||||
|
||||
[cameras.params]
|
||||
wb_offset = 34
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7565, -0.1791, -0.0273, -0.6727, 1.4066, 0.2934, -0.082, 0.1093, 0.7688]
|
||||
D65 = [0.6517, -0.0602, -0.0867, -0.8181, 1.5926, 0.2378, -0.1618, 0.1771, 0.7633]
|
||||
@@ -0,0 +1,11 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS-1Ds Mark III"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS-1Ds Mark III"
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 60]
|
||||
active_area = [62, 20, 10, 2]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6705, -0.1154, -0.0458, -0.6783, 1.4191, 0.2848, -0.0853, 0.1159, 0.749]
|
||||
D65 = [0.5858, -0.0211, -0.093, -0.8254, 1.6018, 0.2354, -0.1732, 0.1888, 0.7448]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS-1D X"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS-1D X"
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 120]
|
||||
blackareah = [0, 98]
|
||||
active_area = [126, 100, 0, 2]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7151, -0.1143, -0.079, -0.3998, 1.14, 0.2975, -0.0477, 0.1398, 0.769]
|
||||
D65 = [0.6847, -0.0614, -0.1014, -0.4669, 1.2737, 0.2139, -0.1197, 0.2488, 0.6846]
|
||||
@@ -0,0 +1,22 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS-1D X Mark II"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS-1D X Mark II"
|
||||
color_pattern = "RGGB"
|
||||
active_area = [72, 38, 0, 0]
|
||||
blackareav = [0, 70]
|
||||
blackareah = [0, 36]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.8101, -0.2023, -0.0221, -0.3652, 1.0819, 0.3276, -0.0491, 0.1461, 0.6583]
|
||||
D65 = [0.7596, -0.0978, -0.0967, -0.4808, 1.2571, 0.2503, -0.1398, 0.2567, 0.5752]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 65535
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 65535
|
||||
@@ -0,0 +1,18 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS-1D X Mark III"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS-1D X Mark III"
|
||||
color_pattern = "RGGB"
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.0968, -0.4933, 0.0126, -0.3738, 1.1155, 0.2969, -0.0177, 0.1024, 0.6636]
|
||||
D65 = [0.8971, -0.2022, -0.1242, -0.5405, 1.3249, 0.238, -0.128, 0.2483, 0.6072]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "raw"
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "craw"
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "crm"
|
||||
@@ -0,0 +1,17 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 2000D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 2000D"
|
||||
color_pattern = "GBRG"
|
||||
active_area = [88, 47, 0, 0]
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS 1500D", "EOS 1500D"],
|
||||
["Canon EOS REBEL T7", "EOS Rebel T7"],
|
||||
["Canon EOS Rebel T7", "EOS Rebel T7"],
|
||||
["Canon EOS Kiss X90", "EOS Kiss X90"],
|
||||
]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.9488, -0.3999, -0.0193, -0.3863, 1.1393, 0.2826, -0.0273, 0.1161, 0.6066]
|
||||
D65 = [0.83, -0.211, -0.112, -0.4917, 1.2694, 0.2482, -0.0938, 0.2141, 0.5666]
|
||||
@@ -0,0 +1,18 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 200D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 200D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS Kiss X9", "EOS Kiss X9"],
|
||||
["Canon EOS Rebel SL2", "EOS Rebel SL2"],
|
||||
]
|
||||
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 260]
|
||||
blackareah = [0, 30]
|
||||
active_area = [264, 36, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7952, -0.1689, -0.0575, -0.3746, 1.0825, 0.3378, -0.0405, 0.1362, 0.612]
|
||||
D65 = [0.7377, -0.0742, -0.0998, -0.4235, 1.1981, 0.2549, -0.0673, 0.1918, 0.5538]
|
||||
@@ -0,0 +1,13 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 20D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 20D"
|
||||
color_pattern = "RGGB"
|
||||
active_area = [74, 12, 0, 0]
|
||||
blackpoint = 126
|
||||
whitepoint = 4095
|
||||
blackareav = [4, 70]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7565, -0.168, -0.0264, -0.6544, 1.3839, 0.2995, -0.0965, 0.1349, 0.7631]
|
||||
D65 = [0.6599, -0.0537, -0.0891, -0.8071, 1.5783, 0.2424, -0.1984, 0.2234, 0.7462]
|
||||
@@ -0,0 +1,21 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 250D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 250D"
|
||||
color_pattern = "RGGB"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS Rebel SL3", "EOS Rebel SL3"],
|
||||
["Canon EOS Kiss X10", "EOS Kiss X10"],
|
||||
["Canon EOS 200D II", "EOS 200D Mark II"]
|
||||
]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.0253, -0.3687, -0.0541, -0.3827, 1.1485, 0.2672, -0.0369, 0.1557, 0.572]
|
||||
D65 = [0.9079, -0.1923, -0.1236, -0.4677, 1.2454, 0.2492, -0.0922, 0.2319, 0.5565]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "raw"
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "craw"
|
||||
@@ -0,0 +1,25 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "Canon EOS 300D DIGITAL"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 300D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS 300D Digital", "EOS 300D"],
|
||||
["Canon EOS DIGITAL REBEL", "EOS Digital Rebel"],
|
||||
["Canon EOS REBEL", "EOS Rebel"],
|
||||
["Canon EOS Kiss Digital", "EOS Kiss Digital"],
|
||||
["Canon EOS Kiss", "EOS Kiss"],
|
||||
]
|
||||
|
||||
whitepoint = 4000
|
||||
color_pattern = "RGGB"
|
||||
active_area = [64,12,0,0]
|
||||
blackareav = [0,60]
|
||||
|
||||
[cameras.params]
|
||||
wb_offset = 13
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.912, -0.3127, -0.0453, -0.6868, 1.4138, 0.3011, -0.1708, 0.2368, 0.9501]
|
||||
D65 = [0.825, -0.2044, -0.1127, -0.8092, 1.5606, 0.2664, -0.2893, 0.3453, 0.8348]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 30D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 30D"
|
||||
color_pattern = "RGGB"
|
||||
active_area = [74, 12, 0, 0] # LTRB
|
||||
whitepoint = 3398
|
||||
blackareav = [4, 70]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7162, -0.134, -0.0464, -0.6462, 1.3802, 0.2944, -0.0838, 0.1147, 0.7183]
|
||||
D65 = [0.6256, -0.0303, -0.1, -0.7879, 1.5621, 0.2396, -0.1713, 0.1905, 0.7047]
|
||||
@@ -0,0 +1,24 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 350D DIGITAL"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 350D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS 350D Digital", "EOS 350D"],
|
||||
["Canon EOS DIGITAL REBEL XT", "EOS Digital Rebel XT"],
|
||||
["Canon EOS REBEL XT", "EOS Rebel XT"],
|
||||
["Canon EOS Kiss Digital N", "EOS Kiss Digital N"],
|
||||
["Canon EOS Kiss N", "EOS Kiss N"],
|
||||
]
|
||||
|
||||
whitepoint = 4095
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 40]
|
||||
active_area = [42, 14, 0, 0]
|
||||
|
||||
[cameras.params]
|
||||
wb_offset = 25
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.616, -0.0945, -0.0745, -0.6847, 1.3563, 0.3684, -0.0802, 0.1086, 0.7554]
|
||||
D65 = [0.6019, -0.0617, -0.0966, -0.8645, 1.5882, 0.2975, -0.153, 0.1719, 0.7642]
|
||||
@@ -0,0 +1,15 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 4000D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 4000D"
|
||||
color_pattern = "GBRG"
|
||||
active_area = [142, 51, 0, 0]
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS Rebel T100", "EOS Rebel T100"],
|
||||
["Canon EOS 3000D", "EOS 3000D"]
|
||||
]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.77, -0.2142, -0.0096, -0.3513, 1.1072, 0.2806, -0.044, 0.1286, 0.6707]
|
||||
D65 = [0.6939, -0.1016, -0.0866, -0.4428, 1.2473, 0.2177, -0.1175, 0.2178, 0.6162]
|
||||
@@ -0,0 +1,20 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 400D DIGITAL"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 400D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL XTi", "EOS Digital Rebel XTi"],
|
||||
["Canon EOS REBEL XTi", "EOS Rebel XTi"],
|
||||
["Canon EOS Kiss Digital X", "EOS Kiss Digital X"],
|
||||
["Canon EOS Kiss X", "EOS Kiss X"],
|
||||
]
|
||||
|
||||
whitepoint = 4058
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 40]
|
||||
active_area = [42, 18, 0, 2]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7623, -0.2223, -0.064, -0.6443, 1.3442, 0.3359, -0.0678, 0.0954, 0.7621]
|
||||
D65 = [0.7054, -0.1501, -0.099, -0.8156, 1.5544, 0.2812, -0.1278, 0.1414, 0.7797]
|
||||
@@ -0,0 +1,20 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 40D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 40D"
|
||||
color_pattern = "RGGB"
|
||||
real_bps = 14
|
||||
active_area = [30, 18, 6, 2]
|
||||
whitepoint = 13600
|
||||
blackareav = [0, 28]
|
||||
blackareah = [4, 18]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7104, -0.1999, -0.0206, -0.603, 1.3278, 0.3074, -0.1017, 0.1619, 0.741]
|
||||
D65 = [0.607, -0.0746, -0.0856, -0.7652, 1.5365, 0.2442, -0.2025, 0.2553, 0.7314]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
hints = ["sraw_40d"]
|
||||
real_bps = 16
|
||||
whitepoint = 65535
|
||||
@@ -0,0 +1,18 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 450D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 450D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL XSi", "EOS Digital Rebel XSi"],
|
||||
["Canon EOS REBEL XSi", "EOS Rebel XSi"],
|
||||
["Canon EOS Kiss Digital X2", "EOS Kiss X2"],
|
||||
["Canon EOS Kiss X2", "EOS Kiss X2"],
|
||||
]
|
||||
|
||||
color_pattern = "RGGB"
|
||||
active_area = [22, 18, 0, 2]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6694, -0.1429, -0.0292, -0.5762, 1.2806, 0.3334, -0.1022, 0.1789, 0.7442]
|
||||
D65 = [0.5784, -0.0261, -0.0821, -0.7539, 1.5064, 0.2673, -0.1982, 0.2681, 0.7427]
|
||||
@@ -0,0 +1,19 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 500D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 500D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL T1i", "EOS Rebel T1i"],
|
||||
["Canon EOS REBEL T1i", "EOS Rebel T1i"],
|
||||
["Canon EOS Kiss Digital X3", "EOS Kiss X3"],
|
||||
["Canon EOS Kiss X3", "EOS Kiss X3"],
|
||||
]
|
||||
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 58]
|
||||
active_area = [62, 26, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.566, -0.0436, -0.0088, -0.5034, 1.2093, 0.3347, -0.0926, 0.2289, 0.6588]
|
||||
D65 = [0.4763, 0.0712, -0.0646, -0.6821, 1.4399, 0.264, -0.1921, 0.3276, 0.6561]
|
||||
@@ -0,0 +1,23 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 50D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 50D"
|
||||
color_pattern = "GBRG"
|
||||
real_bps = 14
|
||||
active_area = [62,51,2,0]
|
||||
blackareav = [4, 42]
|
||||
blackareah = [0, 60]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.5852, -0.0578, -0.0042, -0.4691, 1.1696, 0.3427, -0.0886, 0.2323, 0.6879]
|
||||
D65 = [0.492, 0.0616, -0.0593, -0.6494, 1.3965, 0.2784, -0.1774, 0.3178, 0.7004]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
real_bps = 16
|
||||
whitepoint = 53000
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
real_bps = 16
|
||||
whitepoint = 53000
|
||||
@@ -0,0 +1,20 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 550D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 550D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL T2i", "EOS Rebel T2i"],
|
||||
["Canon EOS REBEL T2i", "EOS Rebel T2i"],
|
||||
["Canon EOS Kiss Digital X4", "EOS Kiss X4"],
|
||||
["Canon EOS Kiss X4", "EOS Kiss X4"],
|
||||
]
|
||||
|
||||
color_pattern = "GBRG"
|
||||
blackareav = [0, 140]
|
||||
blackareah = [4, 44]
|
||||
active_area = [142, 51, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7755, -0.2449, -0.0349, -0.3106, 1.0222, 0.3362, -0.0156, 0.0986, 0.6409]
|
||||
D65 = [0.6941, -0.1164, -0.0857, -0.3825, 1.1597, 0.2534, -0.0416, 0.154, 0.6039]
|
||||
@@ -0,0 +1,13 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 5D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 5D"
|
||||
color_pattern = "RGGB"
|
||||
active_area = [90,34,0,0]
|
||||
blackareav = [0, 88]
|
||||
blackareah = [2, 30]
|
||||
whitepoint = 3692
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7284, -0.1569, -0.0425, -0.6726, 1.4016, 0.2993, -0.0926, 0.1258, 0.7774]
|
||||
D65 = [0.6347, -0.0479, -0.0972, -0.8297, 1.5954, 0.248, -0.1967, 0.2132, 0.7649]
|
||||
@@ -0,0 +1,20 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 5D Mark II"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 5D Mark II"
|
||||
color_pattern = "GBRG"
|
||||
active_area = [158,51,0,0]
|
||||
blackareav = [0, 156]
|
||||
blackareah = [2, 48]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.5309, -0.0229, -0.0336, -0.6241, 1.3265, 0.3337, -0.0817, 0.1215, 0.6664]
|
||||
D65 = [0.4716, 0.0603, -0.083, -0.7798, 1.5474, 0.248, -0.1496, 0.1937, 0.6651]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
whitepoint = 64948
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
whitepoint = 64948
|
||||
@@ -0,0 +1,22 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 5D Mark III"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 5D Mark III"
|
||||
color_pattern = "RGGB"
|
||||
active_area = [122,80,2,0]
|
||||
blackareav = [0, 120]
|
||||
blackareah = [6, 78]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7234, -0.1413, -0.06, -0.3631, 1.115, 0.285, -0.0382, 0.1335, 0.6437]
|
||||
D65 = [0.6722, -0.0635, -0.0963, -0.4287, 1.246, 0.2028, -0.0908, 0.2162, 0.5668]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 55128
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 55128
|
||||
@@ -0,0 +1,23 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 5D Mark IV"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 5D Mark IV"
|
||||
color_pattern = "RGGB"
|
||||
active_area = [136,42,0,0]
|
||||
blackareav = [2, 134]
|
||||
blackareah = [2, 40]
|
||||
hints = ["double_line"]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6515, -0.0927, -0.0634, -0.4068, 1.1151, 0.3359, -0.0641, 0.1839, 0.7328]
|
||||
D65 = [0.6446, -0.0366, -0.0864, -0.4436, 1.2204, 0.2513, -0.0952, 0.2496, 0.6348]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 56032
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 56032
|
||||
@@ -0,0 +1,23 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 5DS"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 5DS"
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 150]
|
||||
blackareah = [4, 56]
|
||||
active_area = [160, 64, 0, 0]
|
||||
hints = ["double_line"]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6848, -0.1661, -0.0221, -0.3904, 1.0931, 0.3434, -0.047, 0.1251, 0.6039]
|
||||
D65 = [0.625, -0.0711, -0.0808, -0.5153, 1.2794, 0.2636, -0.1249, 0.2198, 0.561]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 52000
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 52000
|
||||
@@ -0,0 +1,23 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 5DS R"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 5DS R"
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 150]
|
||||
blackareah = [4, 56]
|
||||
active_area = [160, 64, 0, 0]
|
||||
hints = ["double_line"]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6848, -0.1661, -0.0221, -0.3904, 1.0931, 0.3434, -0.047, 0.1251, 0.6039]
|
||||
D65 = [0.625, -0.0711, -0.0808, -0.5153, 1.2794, 0.2636, -0.1249, 0.2198, 0.561]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 52000 # seems to be incorrect for ISO 50
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 52000 # seems to be incorrect for ISO 50
|
||||
@@ -0,0 +1,20 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 600D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 600D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL T3i", "EOS Rebel T3i"],
|
||||
["Canon EOS REBEL T3i", "EOS Rebel T3i"],
|
||||
["Canon EOS Kiss Digital X5", "EOS Kiss X5"],
|
||||
["Canon EOS Kiss X5", "EOS Kiss X5"],
|
||||
]
|
||||
|
||||
color_pattern = "GBRG"
|
||||
blackareav = [0, 140]
|
||||
blackareah = [4, 44]
|
||||
active_area = [142, 51, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7164, -0.1916, -0.0431, -0.3361, 1.06, 0.32, -0.0272, 0.1058, 0.6442]
|
||||
D65 = [0.6461, -0.0907, -0.0882, -0.43, 1.2184, 0.2378, -0.0819, 0.1944, 0.5931]
|
||||
@@ -0,0 +1,23 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 60D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 60D"
|
||||
color_pattern = "GBRG"
|
||||
real_bps = 14
|
||||
active_area = [142,51,0,0]
|
||||
blackareav = [2, 140]
|
||||
blackareah = [10, 48]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7428, -0.1897, -0.0491, -0.3505, 1.0963, 0.2929, -0.0337, 0.1242, 0.6413]
|
||||
D65 = [0.6719, -0.0994, -0.0925, -0.4408, 1.2426, 0.2211, -0.0887, 0.2129, 0.6051]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
real_bps = 16
|
||||
whitepoint = 65535
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
real_bps = 16
|
||||
whitepoint = 65535
|
||||
@@ -0,0 +1,20 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 650D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 650D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL T4i", "EOS Rebel T4i"],
|
||||
["Canon EOS REBEL T4i", "EOS Rebel T4i"],
|
||||
["Canon EOS Kiss Digital X6i", "EOS Kiss X6i"],
|
||||
["Canon EOS Kiss X6i", "EOS Kiss X6i"],
|
||||
]
|
||||
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 70]
|
||||
blackareah = [4, 44]
|
||||
active_area = [72, 52, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6985, -0.1611, -0.0397, -0.3596, 1.0749, 0.3295, -0.0349, 0.1136, 0.6512]
|
||||
D65 = [0.6602, -0.0841, -0.0939, -0.4472, 1.2458, 0.2247, -0.0975, 0.2039, 0.6148]
|
||||
@@ -0,0 +1,22 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 6D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 6D"
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 68]
|
||||
blackareah = [2, 36]
|
||||
active_area = [74, 40, 0, 2]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7546, -0.1435, -0.0929, -0.3846, 1.1488, 0.2692, -0.0332, 0.1209, 0.637]
|
||||
D65 = [0.7034, -0.0804, -0.1014, -0.442, 1.2564, 0.2058, -0.0851, 0.1994, 0.5758]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 48664
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 48664
|
||||
@@ -0,0 +1,24 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 6D Mark II"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 6D Mark II"
|
||||
color_pattern = "RGGB"
|
||||
hints = ["double_line"]
|
||||
blackareav = [0, 110]
|
||||
blackareah = [0, 40]
|
||||
active_area = [120, 44, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7295, -0.1664, -0.0669, -0.4871, 1.2238, 0.298, -0.0585, 0.1356, 0.6696]
|
||||
D65 = [0.6875, -0.097, -0.0932, -0.4691, 1.2459, 0.2501, -0.0874, 0.1953, 0.5809]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
active_area = [0, 3, 0, 0]
|
||||
whitepoint = 65000
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 65000
|
||||
@@ -0,0 +1,20 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 700D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 700D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL T5i", "EOS Rebel T5i"],
|
||||
["Canon EOS REBEL T5i", "EOS Rebel T5i"],
|
||||
["Canon EOS Kiss Digital X7i", "EOS Kiss X7i"],
|
||||
["Canon EOS Kiss X7i", "EOS Kiss X7i"],
|
||||
]
|
||||
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 70]
|
||||
blackareah = [4, 50]
|
||||
active_area = [72, 52, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6985, -0.1611, -0.0397, -0.3596, 1.0749, 0.3295, -0.0349, 0.1136, 0.6512]
|
||||
D65 = [0.6602, -0.0841, -0.0939, -0.4472, 1.2458, 0.2247, -0.0975, 0.2039, 0.6148]
|
||||
@@ -0,0 +1,25 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 70D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 70D"
|
||||
color_pattern = "RGGB"
|
||||
real_bps = 14
|
||||
active_area = [72,38,0,0]
|
||||
blackareav = [4, 70]
|
||||
blackareah = [4, 36]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7546, -0.1435, -0.0929, -0.3846, 1.1488, 0.2692, -0.0332, 0.1209, 0.637]
|
||||
D65 = [0.7034, -0.0804, -0.1014, -0.442, 1.2564, 0.2058, -0.0851, 0.1994, 0.5758]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
real_bps = 16
|
||||
whitepoint = 53000
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
real_bps = 16
|
||||
whitepoint = 53000
|
||||
@@ -0,0 +1,20 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 750D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 750D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL T6i", "EOS Rebel T6i"],
|
||||
["Canon EOS REBEL T6i", "EOS Rebel T6i"],
|
||||
["Canon EOS Rebel T6i", "EOS Rebel T6i"],
|
||||
["Canon EOS Kiss Digital X8i", "EOS Kiss X8i"],
|
||||
["Canon EOS Kiss X8i", "EOS Kiss X8i"],
|
||||
]
|
||||
|
||||
color_pattern = "RGGB"
|
||||
active_area = [72, 34, 0, 0]
|
||||
blackareav = [0, 68]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6671, -0.1668, -0.0272, -0.3729, 1.0665, 0.3552, -0.0409, 0.1271, 0.6293]
|
||||
D65 = [0.6362, -0.0823, -0.0847, -0.4426, 1.2109, 0.2616, -0.0743, 0.1857, 0.5635]
|
||||
@@ -0,0 +1,18 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 760D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 760D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS DIGITAL REBEL T6s", "EOS Rebel T6s"],
|
||||
["Canon EOS Rebel T6s", "EOS Rebel T6s"],
|
||||
["Canon EOS 8000D", "EOS 8000D"],
|
||||
]
|
||||
|
||||
color_pattern = "RGGB"
|
||||
active_area = [72, 34, 0, 0]
|
||||
blackareav = [0, 50]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6671, -0.1668, -0.0272, -0.3729, 1.0665, 0.3552, -0.0409, 0.1271, 0.6293]
|
||||
D65 = [0.6362, -0.0823, -0.0847, -0.4426, 1.2109, 0.2616, -0.0743, 0.1857, 0.5635]
|
||||
@@ -0,0 +1,17 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 77D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 77D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS 9000D", "EOS 9000D"],
|
||||
]
|
||||
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0,260]
|
||||
blackareah = [0,30]
|
||||
active_area = [264, 34, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7952, -0.1689, -0.0575, -0.3746, 1.0825, 0.3378, -0.0405, 0.1362, 0.612]
|
||||
D65 = [0.7377, -0.0742, -0.0998, -0.4235, 1.1981, 0.2549, -0.0673, 0.1918, 0.5538]
|
||||
@@ -0,0 +1,19 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 7D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 7D"
|
||||
color_pattern = "GBRG"
|
||||
blackareav = [8, 156]
|
||||
active_area = [158, 51, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.162, -0.635, 0.0005, -0.2558, 1.0146, 0.2813, 0.0024, 0.0858, 0.6926]
|
||||
D65 = [0.6844, -0.0996, -0.0856, -0.3876, 1.1761, 0.2396, -0.0593, 0.1772, 0.6198]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
whitepoint = 30000
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
whitepoint = 30000
|
||||
@@ -0,0 +1,21 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 7D Mark II"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 7D Mark II"
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [4, 64]
|
||||
active_area = [72, 38, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7795, -0.2196, -0.0251, -0.3391, 1.0273, 0.3632, -0.0373, 0.1283, 0.6613]
|
||||
D65 = [0.7268, -0.1082, -0.0969, -0.4186, 1.1839, 0.2663, -0.0825, 0.2029, 0.5839]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 30000
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
whitepoint = 30000
|
||||
@@ -0,0 +1,19 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 800D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 800D"
|
||||
|
||||
model_aliases = [
|
||||
["Canon EOS REBEL T7i", "EOS Rebel T7i"],
|
||||
["Canon EOS Rebel T7i", "EOS Rebel T7i"],
|
||||
["Canon EOS Kiss X9i", "EOS Kiss X9i"],
|
||||
]
|
||||
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 250]
|
||||
blackareah = [0, 30]
|
||||
active_area = [264, 34, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.7539, -0.1435, -0.0601, -0.3828, 1.0863, 0.3428, -0.042, 0.1357, 0.6196]
|
||||
D65 = [0.697, -0.0512, -0.0968, -0.4425, 1.2161, 0.2553, -0.0739, 0.1982, 0.5601]
|
||||
@@ -0,0 +1,25 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 80D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 80D"
|
||||
color_pattern = "RGGB"
|
||||
real_bps = 14
|
||||
active_area = [264,34,2,0]
|
||||
blackareav = [4, 260]
|
||||
blackareah = [0, 30]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.832, -0.1998, -0.0078, -0.3476, 1.0481, 0.348, -0.0384, 0.1349, 0.5901]
|
||||
D65 = [0.7457, -0.0671, -0.0937, -0.4849, 1.2495, 0.2643, -0.1213, 0.2354, 0.5492]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw1"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
real_bps = 16
|
||||
whitepoint = 58832
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "sRaw2"
|
||||
hints = ["invert_sraw_wb", "sraw_new"]
|
||||
real_bps = 16
|
||||
whitepoint = 58832
|
||||
@@ -0,0 +1,19 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 850D"
|
||||
model_aliases = [
|
||||
["Canon EOS Rebel T8i", "EOS Rebel T8i"],
|
||||
["Canon EOS Kiss X10i", "EOS Kiss X10i"],
|
||||
]
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 850D"
|
||||
color_pattern = "RGGB"
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.0253, -0.3687, -0.0541, -0.3827, 1.1485, 0.2672, -0.0369, 0.1557, 0.572]
|
||||
D65 = [0.9079, -0.1923, -0.1236, -0.4677, 1.2454, 0.2492, -0.0922, 0.2319, 0.5565]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "raw"
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "craw"
|
||||
@@ -0,0 +1,15 @@
|
||||
make = "Canon"
|
||||
model = "Canon EOS 90D"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS 90D"
|
||||
color_pattern = "RGGB"
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.4683, -0.7448, -0.0905, -0.4609, 1.3134, 0.1588, -0.0324, 0.1195, 0.6559]
|
||||
D65 = [1.1498, -0.3759, -0.1516, -0.5073, 1.2954, 0.2349, -0.0892, 0.1867, 0.6118]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "raw"
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "craw"
|
||||
@@ -0,0 +1,15 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "PowerShot A3300 IS"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot A3300 IS"
|
||||
blackpoint = 127
|
||||
whitepoint = 4095
|
||||
color_pattern = "GBRG"
|
||||
active_area = [16,16,56,8]
|
||||
filesize = 24724224
|
||||
raw_width = 4704
|
||||
raw_height = 3504
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [130.1431, -46.9837, -10.2652, -20.0195, 96.1551, 23.8645, -1.6441, 14.2319, 37.5979]
|
||||
@@ -0,0 +1,15 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "PowerShot A610"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot A610"
|
||||
whitepoint = 1023
|
||||
color_pattern = "RGGB"
|
||||
filesize = 6573120
|
||||
raw_width = 2672
|
||||
raw_height = 1968
|
||||
blackareav = [2632,40]
|
||||
active_area = [12, 8,44,0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [1.5591, -0.6402, -0.1592, -0.5365, 1.3198, 0.2168, -0.1300, 0.1824, 0.5075]
|
||||
@@ -0,0 +1,15 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "PowerShot A620"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot A620"
|
||||
whitepoint = 1023
|
||||
color_pattern = "RGGB"
|
||||
active_area = [36,12,4,0]
|
||||
filesize = 9219600
|
||||
raw_width = 3152
|
||||
raw_height = 2340
|
||||
blackareav = [0,30]
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [1.5265, -0.6193, -0.1558, -0.4125, 1.2116, 0.2010, -0.0888, 0.1639, 0.5220]
|
||||
@@ -0,0 +1,15 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "PowerShot A630"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot A630"
|
||||
whitepoint = 1023
|
||||
color_pattern = "RGGB"
|
||||
active_area = [12, 6,44,6]
|
||||
filesize = 10383120
|
||||
raw_width = 3344
|
||||
raw_height = 2484
|
||||
blackareav = [0,30]
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [1.4201, -0.5308, -0.1757, -0.6087, 1.4472, 0.1617, -0.2191, 0.3105, 0.5348]
|
||||
@@ -0,0 +1,15 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "PowerShot A640"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot A640"
|
||||
whitepoint = 1023
|
||||
color_pattern = "RGGB"
|
||||
active_area = [12, 6,52,6]
|
||||
filesize = 12945240
|
||||
raw_width = 3736
|
||||
raw_height = 2772
|
||||
blackareav = [3686,50]
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [1.3124, -0.5329, -0.1390, -0.3602, 1.1658, 0.1944, -0.1612, 0.2863, 0.4885]
|
||||
@@ -0,0 +1,15 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "PowerShot A650"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot A650"
|
||||
whitepoint = 1023
|
||||
color_pattern = "RGGB"
|
||||
active_area = [48,12,24,12]
|
||||
filesize = 15636240
|
||||
raw_width = 4104
|
||||
raw_height = 3048
|
||||
blackareav = [0, 45]
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [0.9427, -0.3036, -0.0959, -0.2581, 1.0671, 0.1911, -0.1039, 0.1982, 0.4430]
|
||||
@@ -0,0 +1,15 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "PowerShot A720 IS"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot A720 IS"
|
||||
whitepoint = 1023
|
||||
color_pattern = "GBRG"
|
||||
active_area = [6,5,32,3]
|
||||
filesize = 10341600
|
||||
raw_width = 3336
|
||||
raw_height = 2480
|
||||
blackareav = [3306,30]
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [1.4573, -0.5482, -0.1546, -0.1266, 0.9799, 0.1468, -0.1040, 0.1912, 0.3810]
|
||||
@@ -0,0 +1,15 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot D10"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot D10"
|
||||
whitepoint = 4095
|
||||
color_pattern = "GBRG"
|
||||
active_area = [25,22,81,8]
|
||||
filesize = 18763488
|
||||
raw_width = 4104
|
||||
raw_height = 3048
|
||||
blackareav = [4074, 28]
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [0.9427, -0.3036, -0.0959, -0.2581, 1.0671, 0.1911, -0.1039, 0.1982, 0.4430]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "EOS D2000C"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS D2000C"
|
||||
blackpoint = 96
|
||||
whitepoint = 4095
|
||||
color_pattern = "GRBG"
|
||||
active_area = [0, 0, 0, 0]
|
||||
hints = ["linearization"]
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [2.4542, -1.0860, -0.3401, -0.1490, 1.1370, -0.0297, 0.2858, -0.0605, 0.3225]
|
||||
@@ -0,0 +1,14 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "Canon EOS D30"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS D30"
|
||||
whitepoint = 4095
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0,46]
|
||||
hints = ["nocinfo2"]
|
||||
active_area = [48, 6, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.0869, -0.3665, -0.0951, -0.6503, 1.4172, 0.2543, -0.0891, 0.1236, 0.9482]
|
||||
D65 = [0.99, -0.2771, -0.1324, -0.7072, 1.4229, 0.314, -0.279, 0.3344, 0.8861]
|
||||
@@ -0,0 +1,16 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "Canon EOS D60"
|
||||
clean_make = "Canon"
|
||||
clean_model = "EOS D60"
|
||||
whitepoint = 4000
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0,60]
|
||||
active_area = [64, 12, 0, 0]
|
||||
|
||||
[cameras.params]
|
||||
wb_offset = 1
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.6385, -0.1668, -0.0631, -0.6948, 1.3734, 0.3595, -0.1629, 0.223, 0.896]
|
||||
D65 = [0.6211, -0.1358, -0.0896, -0.8557, 1.5766, 0.3012, -0.3001, 0.3507, 0.8567]
|
||||
@@ -0,0 +1,15 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G1"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G1"
|
||||
whitepoint = 1023
|
||||
color_pattern = "GMYC"
|
||||
plane_color = "GMCY"
|
||||
active_area = [4,8,52,2]
|
||||
hints = ["nolowbits"]
|
||||
blackareav = [2094,50]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [-0.4194, 0.8516, 0.277, 0.4745, -0.1228, 0.406, -0.4529, 0.8983, 0.6526, -0.1032, 0.9664, 0.1108]
|
||||
D65 = [-0.5686, 1.03, 0.2223, 0.4725, -0.1157, 0.4383, -0.6128, 1.0783, 0.6163, -0.2688, 1.2093, 0.0604]
|
||||
@@ -0,0 +1,11 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G10"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G10"
|
||||
whitepoint = 4095
|
||||
color_pattern = "GBRG"
|
||||
active_area = [12, 13, 36, 12]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.3591, -0.6592, 0.0324, -0.344, 1.0533, 0.3374, -0.0169, 0.1008, 0.5612]
|
||||
D65 = [1.1093, -0.3906, -0.1028, -0.5047, 1.2492, 0.2879, -0.1003, 0.175, 0.5561]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G11"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G11"
|
||||
whitepoint = 4095
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [3696, 48]
|
||||
active_area = [8, 16, 52, 8]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.9754, -1.3549, 0.0792, 0.0164, 0.8013, 0.2216, 0.0314, 0.0224, 0.5145]
|
||||
D65 = [1.2177, -0.4817, -0.1069, -0.1612, 0.9864, 0.2049, -0.0098, 0.085, 0.4471]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G12"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G12"
|
||||
whitepoint = 4000
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 50]
|
||||
active_area = [52, 12, 8, 12]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.4105, -0.7096, -0.0274, -0.1073, 0.9014, 0.245, 0.005, 0.0536, 0.5097]
|
||||
D65 = [1.3244, -0.5501, -0.1248, -0.1508, 0.9858, 0.1935, -0.027, 0.1083, 0.4366]
|
||||
@@ -0,0 +1,13 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G15"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G15"
|
||||
whitepoint = 4000
|
||||
color_pattern = "GBRG"
|
||||
blackareav = [0, 100]
|
||||
blackareah = [3062, 60]
|
||||
active_area = [104, 11, 8, 65]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.8204, -0.3475, 0.0326, -0.2919, 0.9461, 0.4065, 0.0159, 0.0225, 0.4291]
|
||||
D65 = [0.7474, -0.2301, -0.0567, -0.4056, 1.1456, 0.2975, -0.0222, 0.0716, 0.4181]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G16"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G16"
|
||||
whitepoint = 4000
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 80]
|
||||
active_area = [120, 18, 48, 13]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.9249, -0.4361, 0.0549, -0.2474, 0.9924, 0.2983, -0.0142, 0.0935, 0.6104]
|
||||
D65 = [0.802, -0.2687, -0.0682, -0.3704, 1.1879, 0.2052, -0.0965, 0.1921, 0.5556]
|
||||
@@ -0,0 +1,13 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G1 X"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G1 X"
|
||||
whitepoint = 16000
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 68]
|
||||
blackareah = [0, 46]
|
||||
active_area = [80, 52, 12, 4]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.8138, -0.2281, -0.0659, -0.3453, 1.1006, 0.2816, -0.0297, 0.1118, 0.6471]
|
||||
D65 = [0.7378, -0.1255, -0.1043, -0.4088, 1.2251, 0.2048, -0.0876, 0.1946, 0.5805]
|
||||
@@ -0,0 +1,13 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G1 X Mark II"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G1 X Mark II"
|
||||
whitepoint = 16000
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 68]
|
||||
blackareah = [0, 46]
|
||||
active_area = [80, 50, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.8138, -0.2281, -0.0659, -0.3453, 1.1006, 0.2816, -0.0297, 0.1118, 0.6471]
|
||||
D65 = [0.7378, -0.1255, -0.1043, -0.4088, 1.2251, 0.2048, -0.0876, 0.1946, 0.5805]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G1 X Mark III"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G1 X Mark III"
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 250]
|
||||
blackareah = [0, 30]
|
||||
active_area = [264, 36, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.9094, -0.1794, -0.0591, -0.4192, 1.1372, 0.3236, -0.0569, 0.1747, 0.8061]
|
||||
D65 = [0.8532, -0.0701, -0.1167, -0.4095, 1.1879, 0.2508, -0.0797, 0.2424, 0.701]
|
||||
@@ -0,0 +1,14 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G2"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G2"
|
||||
whitepoint = 1023
|
||||
color_pattern = "RGGB"
|
||||
active_area = [12,6,52,2]
|
||||
hints = ["nolowbits"]
|
||||
blackareav = [2326,50]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.0745, -0.45, -0.0146, -0.6812, 1.4094, 0.2999, -0.1481, 0.2054, 0.8234]
|
||||
D65 = [0.9194, -0.2787, -0.1059, -0.8098, 1.5657, 0.2608, -0.261, 0.3064, 0.7867]
|
||||
@@ -0,0 +1,15 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G3"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G3"
|
||||
whitepoint = 4095
|
||||
color_pattern = "RGGB"
|
||||
active_area = [12,6,52,2]
|
||||
blackareav = [2326,50]
|
||||
|
||||
[cameras.params]
|
||||
wb_offset = 60
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.0899, -0.4654, -0.0172, -0.6668, 1.3907, 0.3058, -0.1456, 0.2032, 0.8278]
|
||||
D65 = [0.9326, -0.2882, -0.1084, -0.794, 1.5447, 0.2677, -0.262, 0.309, 0.774]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G3 X"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G3 X"
|
||||
whitepoint = 16000
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 90]
|
||||
active_area = [96, 18, 0, 0]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.1216, -0.6046, 0.0645, -0.2008, 0.9648, 0.2774, 0.0005, 0.0793, 0.5779]
|
||||
D65 = [0.9701, -0.3857, -0.0921, -0.3149, 1.1537, 0.1817, -0.0786, 0.1817, 0.5147]
|
||||
@@ -0,0 +1,15 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G5"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G5"
|
||||
whitepoint = 4095
|
||||
color_pattern = "RGGB"
|
||||
active_area = [12,6,44,2]
|
||||
blackareav = [2632,40]
|
||||
|
||||
[cameras.params]
|
||||
wb_offset = 60
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.5457, -0.7339, 0.0248, -0.4556, 1.2507, 0.2287, -0.0947, 0.1851, 0.5501]
|
||||
D65 = [0.9869, -0.2972, -0.0942, -0.7314, 1.5098, 0.2369, -0.1898, 0.2536, 0.7282]
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G5 X"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G5 X"
|
||||
whitepoint = 16000
|
||||
color_pattern = "RGGB"
|
||||
active_area = [96, 18, 0, 0]
|
||||
blackareav = [0, 78]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.1125, -0.5937, 0.0355, -0.2979, 1.0926, 0.236, -0.0116, 0.0835, 0.6064]
|
||||
D65 = [0.9602, -0.3823, -0.0937, -0.2984, 1.1495, 0.1675, -0.0407, 0.1415, 0.5049]
|
||||
@@ -0,0 +1,15 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G5 X Mark II"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G5 X Mark II"
|
||||
color_pattern = "RGGB"
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.4076, -0.93, 0.1481, -0.1849, 0.9861, 0.233, 0.0229, 0.0399, 0.5916]
|
||||
D65 = [1.1629, -0.5713, -0.0914, -0.2706, 1.109, 0.1842, -0.0206, 0.1225, 0.5515]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "raw"
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "craw"
|
||||
@@ -0,0 +1,16 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G6"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G6"
|
||||
whitepoint = 4095
|
||||
color_pattern = "RGGB"
|
||||
active_area = [44,12,4,4]
|
||||
hints = ["wb_mangle"]
|
||||
blackareav = [0,40]
|
||||
|
||||
[cameras.params]
|
||||
wb_offset = 48
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.1775, -0.5782, 0.0232, -0.5747, 1.2842, 0.3272, -0.0695, 0.0984, 0.7174]
|
||||
D65 = [0.9876, -0.3774, -0.0871, -0.7613, 1.4807, 0.3071, -0.1448, 0.1305, 0.7485]
|
||||
@@ -0,0 +1,13 @@
|
||||
# CRW
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G7 X"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G7 X"
|
||||
whitepoint = 4000
|
||||
color_pattern = "RGGB"
|
||||
active_area = [96, 17, 0, 0]
|
||||
blackareav = [0, 94]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.1125, -0.5937, 0.0355, -0.2979, 1.0926, 0.236, -0.0116, 0.0835, 0.6064]
|
||||
D65 = [0.9602, -0.3823, -0.0937, -0.2984, 1.1495, 0.1675, -0.0407, 0.1415, 0.5049]
|
||||
@@ -0,0 +1,13 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G7 X CRW"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G7 X"
|
||||
blackpoint = 511
|
||||
whitepoint = 4000
|
||||
color_pattern = "RGGB"
|
||||
filesize = 31342080
|
||||
raw_width = 5632
|
||||
raw_height = 3710
|
||||
|
||||
[cameras.color_matrix]
|
||||
D65 = [0.9602, -0.3823, -0.0937, -0.2984, 1.1495, 0.1675, -0.0407, 0.1415, 0.5049]
|
||||
@@ -0,0 +1,11 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G7 X Mark II"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G7 X Mark II"
|
||||
color_pattern = "RGGB"
|
||||
active_area = [96, 17, 0, 0]
|
||||
blackareav = [0, 70]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.1125, -0.5937, 0.0355, -0.2979, 1.0926, 0.236, -0.0116, 0.0835, 0.6064]
|
||||
D65 = [0.9602, -0.3823, -0.0937, -0.2984, 1.1495, 0.1675, -0.0407, 0.1415, 0.5049]
|
||||
@@ -0,0 +1,15 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G7 X Mark III"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G7 X Mark III"
|
||||
color_pattern = "RGGB"
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.4076, -0.93, 0.1481, -0.1849, 0.9861, 0.233, 0.0229, 0.0399, 0.5916]
|
||||
D65 = [1.1629, -0.5713, -0.0914, -0.2706, 1.109, 0.1842, -0.0206, 0.1225, 0.5515]
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "raw"
|
||||
|
||||
[[cameras.modes]]
|
||||
mode = "craw"
|
||||
@@ -0,0 +1,12 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G9"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G9"
|
||||
whitepoint = 4095
|
||||
color_pattern = "RGGB"
|
||||
blackareav = [0, 46]
|
||||
active_area = [48, 12, 24, 12]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [0.8796, -0.377, 0.0311, -0.4148, 1.1362, 0.3197, -0.0598, 0.0983, 0.588] #TODO check, maybe wrong
|
||||
D65 = [0.7368, -0.2141, -0.0598, -0.5621, 1.3254, 0.2625, -0.1419, 0.1696, 0.5743]
|
||||
@@ -0,0 +1,13 @@
|
||||
make = "Canon"
|
||||
model = "Canon PowerShot G9 X"
|
||||
clean_make = "Canon"
|
||||
clean_model = "PowerShot G9 X"
|
||||
whitepoint = 16000
|
||||
color_pattern = "RGGB"
|
||||
active_area = [96, 17, 0, 0]
|
||||
blackareav = [0, 70]
|
||||
blackareah = [0, 16]
|
||||
|
||||
[cameras.color_matrix]
|
||||
A = [1.1125, -0.5937, 0.0355, -0.2979, 1.0926, 0.236, -0.0116, 0.0835, 0.6064]
|
||||
D65 = [0.9602, -0.3823, -0.0937, -0.2984, 1.1495, 0.1675, -0.0407, 0.1415, 0.5049]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user