What is libdc1394?
libdc1394 is a library that provides a complete high level application programming interface (API) for developers who wish to control IEEE 1394 based cameras that conform to the 1394-based Digital Camera Specifications (also known as the IIDC or DCAM Specifications). The library currently works on Linux, Mac OSX and (soon) Windows.
libdc1394 provides a complete API that includes camera detection (hotplug coming soon), broadcast commands, bus ressource management (basic), full feature controls (including absolute values), memory channels, external and software trigger, support for all video modes (including 16bit modes and 1394B modes at 800Mb/s), video capture using DMA and full Format_7 control. Moreover, libdc1394 also includes a number extras such as the support of vendor specific features for Allied Vision Technologies (AVT), Basler and PixelInk. The library also includes video conversion tools such as color space conversion (YUV, RGB, MONO, etc...) and the demosaicing of Bayer color pattern images (with 8 different algorithms and including 16bit modes). All these features in combination with the multi-platform compatibility makes libdc1394 the most versatile and performant SDK for IIDC cameras. Moreover, it's open source (license: LGPL) and it's free! Several examples are also provided to put you quickly on the right tracks.
libdc1394 works with (almost) every camera that follows the IIDC standard, which is about 500 models. Check the IEEE1394 Digital Camera List for more information.
Historical note
The libdc1394 project was started by Gord Peters in July 2000. At the time the offer of IIDC cameras was very limited but the advantages of Firewire cameras quickly brought help from other early developers such as Chris Urmson, Dan Dennedy and myself. At the time, it was the only API available that was not vendor dependent. The project lived its little quiet life for four years, adapting to new version of the IIDC standard. Version 1.0 was released in September 2004. In March 2005 I started to work on "version 2", first alone for the big phatt changes, then followed by everyone as soon as something usable was there. In August 2006, David Moore ported the library to Mac OSX: at last we're multiplatform! Then in 2007 a Windows port was proposed. 2.0.0 was released in early January 2008.
| |