libraw1394

Bruce M Simpson bms at incunabulum.net
Wed Oct 18 14:31:38 PDT 2006


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




More information about the freebsd-firewire mailing list