Giter VIP home page Giter VIP logo

rawspeed's Introduction

rawspeed travis-ci appveyor-ci OBS codecov coverity status

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 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 for more info on how to contribute samples!
  • open source under the LGPL v2 license.

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.

Getting Source Code

You can get access to the lastest version using from here. 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 to do testing, benchmarking, performance tracking. For quick overview please see LLVM LNT / Test-Suite Integration

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 and submit your (pull)requests and issues there.

rawspeed's People

Contributors

lebedevri avatar klauspost avatar pedrocr avatar axxel avatar schenlap avatar pmjdebruijn avatar abrander avatar robbieab avatar stloeffler avatar shoffmeister avatar dtorop avatar mazhe avatar houz avatar parafin avatar xen2 avatar hanatos avatar nathanielw avatar bieber avatar berb avatar serval2412 avatar mcourteaux avatar mgehre avatar nijel avatar peterbud avatar dabbill avatar macrat avatar muessel avatar anarsoul avatar aferrero2707 avatar bobobo1618 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.