Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Oct 2006 22:31:18 +0100
From:      Bruce M Simpson <bms@incunabulum.net>
To:        Mikhail Teterin <mi+mx@aldan.algebra.com>
Cc:        firewire@freebsd.org
Subject:   Re: libraw1394
Message-ID:  <45369D26.6060807@incunabulum.net>
In-Reply-To: <200610181636.12516.mi%2Bmx@aldan.algebra.com>
References:  <Pine.GSO.4.62.0610181257200.8352@tioga.arc.nasa.gov> <200610181636.12516.mi%2Bmx@aldan.algebra.com>

index | next in thread | previous in thread | raw e-mail

Hi all,

Mikhail Teterin wrote:
> середа 18 жовтень 2006 16:08, Buzz Slye написав:
>   
>> This library was written to conform to an older version of libdc1394.
>> The latest version of libdc1394, I have discovered, has many routine
>> name changes so there will require some reallignment and cleanup.
>>     
>
> Yeah, I figured that out... It seems, however, you understand how Linux' 
> ioctls should be translated to FreeBSD's ioctls and other system calls (read, 
> write?). Would you be able to help with the reallignments and cleanups?
>   
 From what I understand, Buzz's port does not deal with isochronous 
streams. There is a rough mapping of Linux raw1394 APIs to 
firewire(4)'s, based on code inspection, although they are not 
documented in the FreeBSD man pages.
> Right, they don't exist. But libraw1394's own little client utilities call 
> them, and so, likely, will some other clients of the library. This means, our 
> port will need to provide these functions, even if they are going to be 
> simple wrappers around system calls...
>   
It looks like a kqueue event pump will be needed to emulate libraw1394's 
callback semantics.
>   
> Thanks, I'm thinking about it too. My Makefile will be using bsd.lib.mk, of 
> course :-)
>   
That would reduce the chances of having the patches taken upstream given 
the makefile churn.
>   
>> This code does not support multiple cameras.
>>     
>
> If the Linux code does, and the FreeBSD kernel code does, the port will have 
> to as well...
>   
It looks like a mapping of /dev/raw1394 -> /dev/fwN.N should work; vlc 
in particular allows you to specify the device used, though I'm not sure 
if this is passed down to libraw1394 -- haven't looked that far yet.
>> Asychronous tramsmissions only support quadlet (4 byte) read/write for
>> reading and writing camera registers.
>>
>> Our applications mostly use cameras to take single images at timed
>> intervals.  If you will be using stream transfer, you may want to
>> change the buffering setup.
>>     
spook is going to require isochronous streaming.
>
> Buzz, I have NO IDEA how to do this :-( I can put the port together, but the 
> firewire details are not my thing. I just want it to work, so I can:
>
> 	a) transfer my own videos from Sony's HDV camera;
>   
This is going to need libavc1394. libraw1394 is certainly a prerequisite.

Regards,
BMS




home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45369D26.6060807>