9 个版本

0.4.0-alpha.72024年8月17日
0.4.0-alpha.62024年6月23日
0.4.0-alpha.32024年1月21日
0.1.2 2022年12月29日
0.1.1 2022年11月7日

图像 中排名第 90

Download history 7/week @ 2024-05-18 1/week @ 2024-05-25 100/week @ 2024-06-01 15/week @ 2024-06-08 97/week @ 2024-06-15 91/week @ 2024-06-22 3/week @ 2024-06-29 6/week @ 2024-07-27 109/week @ 2024-08-17

每月下载量 115 次
用于 miniaturo

LGPL-3.0 或更高版本

1.5MB
37K SLoC

Rust 30K SLoC // 0.1% comments C++ 2.5K SLoC // 0.1% comments C 2.5K SLoC // 0.1% comments M4 1K SLoC // 0.4% comments Python 371 SLoC // 0.3% comments Automake 254 SLoC Perl 130 SLoC // 0.2% comments Shell 102 SLoC // 0.2% comments

包含 (模糊的autoconf代码,7KB) configure.ac

版权

libopenraw版权所有(c)2005-2024 Hubert Figuière及其他贡献者。参见相应文件。它根据LGPLv3或更高版本授权。参见文件COPYING和COPYING.LESSER

src/mp4/parse下的代码根据MPL-2.0许可证发布。参见MPL-2.0文件。这是https://github.com/mozilla/mp4parse-rust的修改版本。

某些文件可能根据LGPL-2.1或更高版本单独授权。参见内置的SPDX许可证信息。

行为准则

此项目的贡献者同意Freedesktop.org行为准则

https://www.freedesktop.org/wiki/CodeOfConduct/

构建前提条件

- a C++ 11 compiler (tested on gcc 4.7 and up)
- libboost 1.33.1 (Boost.String, Boost.Test, Boost.Variant)
- libjpeg
- libxml > 2.5.0 (for the test suite)
- libcurl (option for the test suite bootstrap)
- Rust 1.64

如果从git树构建,还需要

- automake/autoconf
- autoconf-archive
- pkg-config for the associated m4 macros

可选的Gnome支持

- gdkpixbuf

Rust crate

从0.4.0版本开始,libopenraw作为带有C API的Rust原生crate进行开发。那里适用Rust crate的标准布局,而lib/包含用于构建C API动态库的crate部分。

支持的文件格式

以下是支持的文件格式。有关每个相机的详细信息,请参阅以下内容

- Canon CR2
- Canon CR3
- Canon CRW (not those coming from CHDK firmware like A610)
- Nikon NEF and NRW
- Olympus ORF
- Pentax PEF
- Epson ERF
- DNG
- GoPro GPR
- Sony ARW and SR2
- Minolta MRW
- Panasonic RAW and RW2
- Fujifilm RAF

如何构建

使用automake/autoconf

$ ./autogen.sh
$ ./configure --prefix=...
$ make
$ make install DESTDIR=...

支持的格式

T 测试并证明可以工作。(我有样本。)Y 是的,它在那里。(未测试,因为我没有样本,但格式已知相似)是,它是整个格式的。N 不支持。B 已知在某些型号上损坏。(需要修复。需要进一步工作)X 不需要。

需要样本文件。

                      Thumbnail
                     /  Raw bitstream
                     | /  Raw decompression
                     | | /  Orientation Tag
                     | | | /  Bayer Type
                     | | | | /  Type ID
                     | | | | | /  Active Area (ROI)
                     | | | | | | /  Color Matrices
                     | | | | | | | /  Exif and MakerNotes
                     | | | | | | | | /  Rendering
                     | | | | | | | | | /  White Balance
                     | | | | | | | | | | /

佳能CR2 Y Y Y Y Y Y Y Y Y Y Y 佳能CR3 Y Y N Y Y Y Y Y Y N N 佳能CRW Y Y Y Y Y Y Y Y Y B Y 佳能CRW CHDK N N N N N N N N N N N (非官方固件) 尼康NEF Y B Y Y Y Y N Y Y B B 尼康NRW Y Y Y N Y Y B B 奥林巴斯ORF Y Y Y Y Y Y N Y Y Y Y Adobe DNG Y Y Y Y Y Y Y Y Y Y Y GoPro GPR Y Y N Y Y Y Y Y X N Y 索尼SR2 Y Y N Y N Y N Y Y Y 索尼ARW Y Y N Y N Y N Y Y 宾得PEF Y Y Y Y Y Y N Y Y B Y 爱普生ERF Y Y X Y Y Y N Y Y Y Y 美能达MRW Y Y X N Y Y N Y Y Y 松下RAW Y Y N Y Y Y Y N Y B Y 松下RW2 Y Y N Y Y Y Y N Y N 富士胶片RAF Y Y Y Y N Y Y Y Y B Y

不支持

索尼SRF N N N N N N N N 柯达DCR N N N N N N N N 柯达KDC N N N N N N N N 富士通X3F N N N N N N N N 拍立得MEF N N N N N N N N 三星SRW N N N N N N N N

测试套件

有一个由XML文件驱动的测试套件。它需要您提供自己的RAW文件并对其进行配置。testsuite/testsuite.xml是我本地机器上有效XML配置文件的示例。

TODO2:提供对测试文件的更好描述。

TODO3:修复ordiag以允许以XML格式输出测试用例。

运行测试套件

$ make check

这将自动运行。

如果您需要引导测试套件,可以按照以下步骤操作

警告:引导过程将从互联网下载“随机”文件。目前它们尚未经过验证。

$ make $ cd testsuite $ ./testsuite -b -d 目录

这里目录是文件将要下载的现有目录。如果您在不同于源目录的目录中构建,则需要将srcdir环境变量设置为测试套件二进制文件构建的路径。

参考资料

使用了许多在线资源,包括开源软件(非详尽列表)

dcraw是第一个开源项目。我们所有人都应该感谢它的作者和贡献者。

CR3

Mozilla MP4 Rust解析器,目前正在使用:https://github.com/mozilla/mp4parse-rust/ Laurent Clevy CR3文档,提供了大量信息:https://github.com/lclevy/canon_cr3

Exif & MakerNote

ExifTool用于提供文档和标记表:https://exiftool.org/ https://exiftool.org/makernote_types.html Exiv2知识:https://www.exiv2.org/makernote.html libexif:https://libexif.github.io/ exifprobe:https://github.com/hfiguiere/exifprobe/

依赖项

~7–19MB
~187K SLoC