summaryrefslogtreecommitdiff
path: root/Software/libopenraw.mdwn
blob: 5a304e682d15021d0244fc7968c021230f67ba71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

See [[http://libopenraw.freedesktop.org/|http://libopenraw.freedesktop.org/]] for up to date information. 



---

 

libopenraw is an ongoing project to provide a free software implementation for camera RAW files decoding. One of the main reason is that [[dcraw|http://www.cybercom.net/~dcoffin/dcraw/]] is not suited for easy integration into applications, and there is a need for an easy to use API to build free software digital image processing application. 

It also has the goal to address missing feature from [[dcraw|http://www.cybercom.net/~dcoffin/dcraw/]] like meta-data decoding and easy thumbnail extraction. 


# Status

This is currently a work in progress. The only code available is in git. Once a release will be made, it will be announced here. 


# Planned feature

* Support for as much file format as possible. NEF, CRW, CR2 and DNG obviously as they are the most common (well DNG not really but it is "standard"). 
* Modular low level API that allow: 
   * Identify the file 
   * Parse the file 
   * Extract the meta-data and the previews 
   * Allow processing the RAW data in different way, including having them extracted for an application custom processor. 
* High level API that allow: 
   * Provide and standard thumbnail - **Done** 
   * Preprocess the file using standard parameters 
   * Extract the metadata as EXIF (and XMP) 
   * Convert to a DNG file 

# Plans

* Get a basic thumbnail extractor for CR2, CRW, DNG, NEF, ORF - **Done** 
* Get a basic metadata extractor for CR2, CRW, DNG, NEF, ORF 
* Get a basic RAW processor for CR2, CRW, DNG, NEF, ORF 

# Getting code from git

                     * Anonymous git 
                                             * `git clone git://anongit.freedesktop.org/git/libopenraw.git` 
                     * For developers (needs authorization). 
                                             * Get a username if you don't have one: See [[http://www.freedesktop.org/wiki/AccountRequests|http://www.freedesktop.org/wiki/AccountRequests]] for details. 
                                             * Check out the tree: `git clone git+ssh://git.freedesktop.org/git/libopenraw.git` 

# Links to documentation

Given how manufacturer document these formats, we have to reverse-engineer or use documentation issued from reverse engineering. 


## Implementation

* [[dcraw|http://www.cybercom.net/~dcoffin/dcraw/]] the current reference implementation for RAW decoding. 
* [[jrawio|http://www.tidalwave.it/infoglueDeliverLive/ViewPage.action?siteNodeId=180&languageId=1&contentId=206]] a Java library that implements RAW image decoding 

## File format

* [[RAW file standards|http://www.rags-int-inc.com/PhotoTechStuff/RawStandards/]] try to match current standard with currently undocumented file formats and its [[summary|http://www.rags-int-inc.com/PhotoTechStuff/RawStandards/RawSummary.html]]. 
* [[TIFF|http://partners.adobe.com/public/developer/tiff/index.html]] on which DNG and apparently other RAW format are based on. 
* [[Adobe DNG|http://www.adobe.com/products/dng/main.html]] a "standard" format that Adobe tries to push. 
* [[X3F Foveon|http://www.x3f.info/spp/v2_1/english.html#Format]], the Foveon partial documentation. 
* [[MRW Minolta RAW|http://www.dalibor.cz/minolta/raw_file_format.htm]] 
* [[RAWpository|http://www.glasslantern.com/RAWpository/]] archive of sample image data in RAW formats 

## Metadata

TBD 

-- [[HubertFiguiere|HubertFiguiere]] 


## Communication

There is mailing list for developers available now. Visit [[http://lists.freedesktop.org/mailman/listinfo/libopenraw-dev|http://lists.freedesktop.org/mailman/listinfo/libopenraw-dev]] to subscribe