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>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi all,

Mikhail Teterin wrote:
> =D3=C5=D2=C5=C4=C1 18 =D6=CF=D7=D4=C5=CE=D8 2006 16:08, Buzz Slye =CE=C1=
=D0=C9=D3=C1=D7:
>  =20
>> 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.
>>    =20
>
> Yeah, I figured that out... It seems, however, you understand how Linux=
'=20
> ioctls should be translated to FreeBSD's ioctls and other system calls =
(read,=20
> write?). Would you be able to help with the reallignments and cleanups?=

>  =20
 From what I understand, Buzz's port does not deal with isochronous=20
streams. There is a rough mapping of Linux raw1394 APIs to=20
firewire(4)'s, based on code inspection, although they are not=20
documented in the FreeBSD man pages.
> Right, they don't exist. But libraw1394's own little client utilities c=
all=20
> them, and so, likely, will some other clients of the library. This mean=
s, our=20
> port will need to provide these functions, even if they are going to be=
=20
> simple wrappers around system calls...
>  =20
It looks like a kqueue event pump will be needed to emulate libraw1394's =

callback semantics.
>  =20
> Thanks, I'm thinking about it too. My Makefile will be using bsd.lib.mk=
, of=20
> course :-)
>  =20
That would reduce the chances of having the patches taken upstream given =

the makefile churn.
>  =20
>> This code does not support multiple cameras.
>>    =20
>
> If the Linux code does, and the FreeBSD kernel code does, the port will=
 have=20
> to as well...
>  =20
It looks like a mapping of /dev/raw1394 -> /dev/fwN.N should work; vlc=20
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.
>>    =20
spook is going to require isochronous streaming.
>
> Buzz, I have NO IDEA how to do this :-( I can put the port together, bu=
t the=20
> 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;
>  =20
This is going to need libavc1394. libraw1394 is certainly a prerequisite.=


Regards,
BMS





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