On Wednesday, 27 July 2016 04:36:31 UTC+2, Jonathan Pittman wrote:
>
> Well me too!  I am looking to see what level of interest there is in the 
> Go community to see this happen.  I am also looking for people who are 
> interested in working on this.
>

(a bit late to the party)

I am the author of RawSpeed - https://github.com/klauspost/rawspeed - which 
is a RAW decoding library which currently supports >700 cameras. It decodes 
to CFA-level images, so processing is still required to make the image 
"viewable". It is used by "Darktable" as well as other open source 
projects. It has even been stolen (oh sorry - converted) by raw.pics.io for 
their browser based decoding.

In my own humble opinion the code quality is way above dcraw, and I and 
other people have spent a lot of time trying to work out what goes on under 
the hood. Metadata is in a readable separate XML file (yes, this was 
designed in 2008), and not scattered around a single CPP file. Furthermore 
it is LGPL v2, but with a rewrite to Go, it should probably be MIT or 
similar. 

The code should translate rather well to Go - there is no big problems with 
it. Finding a decoder, parsing file structure and decoding images are 
nicely separated. Only the "RawImageData" seems to have accumulated a lot 
of fields and methods over time. It is rather sparsely commented, but I 
think the code should be pretty clear for a Gopher.

There are some design decision made that makes it faster by design. It 
decodes from raw memory and not a stream which makes it much faster to 
"jump around" without having to seek in the input stream. It decodes to 
unpadded memory which makes it use less memory and generally faster. 
Decoders have been heavily optimized for speed, while always maintaining 
full quality.

I have considered converting it to Go almost since I started programming, 
but since the demand for it is probably pretty small and I don't have a few 
months to spend on it, I have not done so. I am willing to help out the 
extent my knowledge

/Klaus

>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to