|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| .ci/ | H | 03-May-2022 | - | 351 | 235 |
| .github/ | H | 09-Sep-2021 | - | 1,104 | 1,083 |
| bench/librawspeed/ | H | 03-May-2022 | - | 610 | 370 |
| cmake/ | H | 09-Sep-2021 | - | 2,898 | 2,378 |
| data/ | H | 03-May-2022 | - | 12,236 | 12,100 |
| docs/ | H | 03-May-2022 | - | 3,044 | 2,274 |
| fuzz/ | H | 03-May-2022 | - | 2,054 | 1,083 |
| lnt/ | H | 03-May-2022 | - | 216 | 143 |
| src/ | H | 03-May-2022 | - | 30,685 | 19,682 |
| test/librawspeed/ | H | 03-May-2022 | - | 6,341 | 4,874 |
| .clang-format | H A D | 09-Sep-2021 | 462 | 19 | 18 |
| .clang-tidy | H A D | 09-Sep-2021 | 4.4 KiB | 55 | 54 |
| .mailmap | H A D | 09-Sep-2021 | 735 | 22 | 14 |
| LICENSE | H A D | 09-Sep-2021 | 25.9 KiB | 503 | 418 |
| README.rst | H A D | 09-Sep-2021 | 4.7 KiB | 98 | 70 |
README.rst
1rawspeed |github actions| |travis-ci| OBS_ |codecov| |oss-fuzz|
2
3.. |github actions| image:: https://github.com/darktable-org/rawspeed/workflows/CI/badge.svg
4 :target: https://github.com/darktable-org/rawspeed/actions?query=workflow%3ACI
5
6.. |travis-ci| image:: https://travis-ci.com/darktable-org/rawspeed.svg?branch=develop
7 :target: https://travis-ci.com/darktable-org/rawspeed
8
9.. _OBS: https://build.opensuse.org/project/monitor/graphics:darktable:master
10
11.. |codecov| image:: https://codecov.io/gh/darktable-org/rawspeed/branch/develop/graph/badge.svg
12 :target: https://codecov.io/gh/darktable-org/rawspeed
13
14.. |oss-fuzz| image:: https://oss-fuzz-build-logs.storage.googleapis.com/badges/librawspeed.svg
15 :target: https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:librawspeed
16
17================================================================================
18RawSpeed Developer Information
19================================================================================
20
21What is RawSpeed?
22--------------------------------------------------------------------------------
23
24RawSpeed…
25
26- is capable of decoding various images in RAW file format.
27- is intended to provide the fastest decoding speed possible.
28- supports the most common DSLR and similar class brands.
29- supplies unmodified RAW data, optionally scaled to 16 bit, or normalized to 0->1 float point data.
30- supplies CFA layout for all known cameras.
31- provides automatic black level calculation for cameras having such information.
32- optionally crops off “junk” areas of images, containing no valid image information.
33- can add support for new cameras by adding definitions to an xml file.
34- decodes images from memory, not a file stream.
35- is being continuously fuzzed |oss-fuzz| as part of the `oss-fuzz`_ project.
36- is currently tested on |rpu-button-cameras| unique cameras, on |rpu-button-samples| unique samples.
37 **Please read** `this <rpu-post_>`_ **for more info on how to contribute samples!**
38- open source under the `LGPL v2`_ license.
39
40.. _oss-fuzz: https://github.com/google/oss-fuzz
41
42.. |rpu-button-cameras| image:: https://raw.pixls.us/button-cameras.svg
43 :target: https://raw.pixls.us/
44
45.. |rpu-button-samples| image:: https://raw.pixls.us/button-samples.svg
46 :target: https://raw.pixls.us/
47
48.. _rpu-post: https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri
49
50.. _LGPL v2: https://choosealicense.com/licenses/lgpl-2.1/
51
52RawSpeed does **NOT**…
53
54- read metadata information, beside whitebalance information.
55- do any color correction or whitebalance correction.
56- de-mosaic the image.
57- supply a viewable image or thumbnail.
58- crop the image to the same sizes as manufactures, but supplies biggest possible images.
59
60So RawSpeed is not intended to be a complete RAW file display library, but only act as the first stage decoding, delivering the RAW data to your application.
61
62Version 2, new cameras and features
63--------------------------------------------------------------------------------
64- Support for Sigma foveon cameras.
65- Support for Fuji cameras.
66- Support old Minolta, Panasonic, Sony cameras (contributed by Pedro Côrte-Real)
67- Arbitrary CFA definition sizes.
68- Use pugixml_ for xml parsing to avoid depending on libxml.
69
70.. _pugixml: http://pugixml.org/
71
72Getting Source Code
73--------------------------------------------------------------------------------
74You can get access to the latest version using `from here <rawspeed_>`_. You will need to include the “RawSpeed” and “data” folder in your own project.
75
76CMake-based build system is provided.
77
78Integration into LLVM LNT / Test-Suite
79--------------------------------------
80It is possible to natively integrate the RawSpeed into LLVM test-suite, and use
81`LLVM LNT <http://llvm.org/docs/lnt/>`_ to do testing, benchmarking, performance tracking.
82For quick overview please see `LLVM LNT / Test-Suite Integration <lnt>`_
83
84Background of RawSpeed
85----------------------
86The main objectives were to make a very fast loader that worked for 75% of the cameras out there, and was able to decode a RAW file at close to the optimal speed. The last 25% of the cameras out there could be serviced by a more generic loader, or convert their images to DNG – which as a sidenote usually compresses better than your camera.
87
88RawSpeed is not at the moment a separate library, so you have to include it in your project directly.
89
90Please see <https://rawspeed.org/> for documentation.
91Doxygen-generated documentation is available at <https://rawspeed.org/doxygen>
92
93Submitting Requests and Patches
94--------------------------------------------------------------------------------
95Please go to the `github page <rawspeed_>`_ and submit your (pull)requests and issues there.
96
97.. _rawspeed: https://github.com/darktable-org/rawspeed
98