All Projects → darktable-org → Rawspeed

darktable-org / Rawspeed

Licence: lgpl-2.1
fast raw decoding library

Programming Languages

cpp
1120 projects
cpp11
221 projects
cpp14
131 projects

Projects that are alternatives of or similar to Rawspeed

Tinf
Tiny inflate library (inflate, gzip, zlib)
Stars: ✭ 57 (-68.16%)
Mutual labels:  zlib, library
Vrt
🔅 Ray tracing library for Vulkan API (indev)
Stars: ✭ 111 (-37.99%)
Mutual labels:  cmake, library
Hazelcast Cpp Client
Hazelcast IMDG C++ Client
Stars: ✭ 67 (-62.57%)
Mutual labels:  cmake, library
Stegify
🔍 Go tool for LSB steganography, capable of hiding any file within an image.
Stars: ✭ 927 (+417.88%)
Mutual labels:  decoding, jpeg
Raz
Modern & multiplatform game engine in C++17
Stars: ✭ 161 (-10.06%)
Mutual labels:  cmake, library
Camodet
Lightweight Simple CAmera MOtion DETection application.
Stars: ✭ 26 (-85.47%)
Mutual labels:  cmake, camera
Libbrotli
meta project to build libraries from the brotli source code
Stars: ✭ 110 (-38.55%)
Mutual labels:  decoding, library
Leanify
lightweight lossless file minifier/optimizer
Stars: ✭ 694 (+287.71%)
Mutual labels:  xml, jpeg
Ffmpeg Video Player
An FFmpeg and SDL Tutorial.
Stars: ✭ 149 (-16.76%)
Mutual labels:  cmake, decoding
Jeelizfacefilter
Javascript/WebGL lightweight face tracking library designed for augmented reality webcam filters. Features : multiple faces detection, rotation, mouth opening. Various integration examples are provided (Three.js, Babylon.js, FaceSwap, Canvas2D, CSS3D...).
Stars: ✭ 2,042 (+1040.78%)
Mutual labels:  camera, library
Zlib Ng
zlib replacement with optimizations for "next generation" systems.
Stars: ✭ 807 (+350.84%)
Mutual labels:  zlib, library
Otpview
A custom view to enter otp/pin of different sizes used usually in cases of authentication.
Stars: ✭ 172 (-3.91%)
Mutual labels:  xml, library
Textfieldboxes
Material Design text field that comes in a box, based on (OLD) Google Material Design guidelines.
Stars: ✭ 760 (+324.58%)
Mutual labels:  xml, library
Fast ber
A C++11 ASN.1 BER Encoding and Decoding Library
Stars: ✭ 54 (-69.83%)
Mutual labels:  cmake, decoding
Cxf
Apache CXF
Stars: ✭ 697 (+289.39%)
Mutual labels:  xml, library
Internettools
XPath/XQuery 3.1 interpreter for Pascal with compatibility modes for XPath 2.0/XQuery 1.0/3.0, custom and JSONiq extensions, XML/HTML parsers and classes for HTTP/S requests
Stars: ✭ 82 (-54.19%)
Mutual labels:  xml, library
Libgphoto2
The libgphoto2 camera access and control library.
Stars: ✭ 637 (+255.87%)
Mutual labels:  camera, library
Pinview
A pinview library for android. ✨
Stars: ✭ 650 (+263.13%)
Mutual labels:  xml, library
Rttr
C++ Reflection Library
Stars: ✭ 2,031 (+1034.64%)
Mutual labels:  cmake, library
Cdt
C++ library for constrained Delaunay triangulation (CDT)
Stars: ✭ 165 (-7.82%)
Mutual labels:  cmake, library

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

.. |github actions| image:: https://github.com/darktable-org/rawspeed/workflows/CI/badge.svg :target: https://github.com/darktable-org/rawspeed/actions?query=workflow%3ACI

.. |travis-ci| image:: https://travis-ci.com/darktable-org/rawspeed.svg?branch=develop :target: https://travis-ci.com/darktable-org/rawspeed

.. _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…

  • is capable of decoding various images in RAW file format.
  • is intended to provide the fastest decoding speed possible.
  • supports the most common DSLR and similar class brands.
  • supplies unmodified RAW data, optionally scaled to 16 bit, or normalized to 0->1 float point data.
  • supplies CFA layout for all known cameras.
  • provides automatic black level calculation for cameras having such information.
  • optionally crops off “junk” areas of images, containing no valid image information.
  • can add support for new cameras by adding definitions to an xml file.
  • decodes images from memory, not a file stream.
  • is being continuously fuzzed |oss-fuzz| as part of the oss-fuzz_ project.
  • is currently tested on |rpu-button-cameras| unique cameras, on |rpu-button-samples| unique samples. Please read this <rpu-post_>_ for more info on how to contribute samples!
  • open source under the LGPL v2_ license.

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

  • read metadata information, beside whitebalance information.
  • do any color correction or whitebalance correction.
  • de-mosaic the image.
  • supply a viewable image or thumbnail.
  • crop the image to the same sizes as manufactures, but supplies biggest possible images.

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

  • Support for Sigma foveon cameras.
  • Support for Fuji cameras.
  • Support old Minolta, Panasonic, Sony cameras (contributed by Pedro Côrte-Real)
  • Arbitrary CFA definition sizes.
  • Use pugixml_ for xml parsing to avoid depending on libxml.

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

Please see https://rawspeed.org/ for documentation. Doxygen-generated documentation is available at https://rawspeed.org/doxygen

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].