darktable-org / rawspeed

fast raw decoding library
GNU Lesser General Public License v2.1
362 stars 115 forks source link
bayer camera cmake cpp cpp17 cr2 decoding dng dslr gpr jpeg library nef openmp raw vc5 x-trans xml zlib

rawspeed |github actions| OBS_ |codecov| |oss-fuzz|

.. |github actions| image:: https://github.com/darktable-org/rawspeed/actions/workflows/CI.yml/badge.svg :target: https://github.com/darktable-org/rawspeed/actions/workflows/CI.yml

.. _OBS: https://build.opensuse.org/project/monitor/graphics:darktable:master

.. |codecov| image:: https://codecov.io/gh/darktable-org/rawspeed/branch/develop/graph/badge.svg :target: https://codecov.io/gh/darktable-org/rawspeed

.. |oss-fuzz| image:: https://oss-fuzz-build-logs.storage.googleapis.com/badges/librawspeed.svg :target: https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:librawspeed

================================================================================ RawSpeed Developer Information

What is RawSpeed?

RawSpeed…

.. _oss-fuzz: https://github.com/google/oss-fuzz

.. |rpu-button-cameras| image:: https://raw.pixls.us/button-cameras.svg :target: https://raw.pixls.us/

.. |rpu-button-samples| image:: https://raw.pixls.us/button-samples.svg :target: https://raw.pixls.us/

.. _rpu-post: https://discuss.pixls.us/t/raw-samples-wanted/5420?u=lebedevri

.. _LGPL v2: https://choosealicense.com/licenses/lgpl-2.1/

RawSpeed does NOT

So 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.

Version 2, new cameras and features

.. _pugixml: http://pugixml.org/

Getting Source Code

You 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.

CMake-based build system is provided.

Integration into LLVM LNT / Test-Suite

It is possible to natively integrate the RawSpeed into LLVM test-suite, and use LLVM LNT <http://llvm.org/docs/lnt/> to do testing, benchmarking, performance tracking. For quick overview please see LLVM LNT / Test-Suite Integration <lnt>

Background of RawSpeed

The 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.

RawSpeed is not at the moment a separate library, so you have to include it in your project directly.

Submitting Requests and Patches

Please go to the github page <rawspeed_>_ and submit your (pull)requests and issues there.

.. _rawspeed: https://github.com/darktable-org/rawspeed