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