Re: [libdc1394-devel] memory problems
Capture and control API for IIDC compliant cameras
Brought to you by:
ddouxchamps,
gordp
From: Jon S. <jon...@ho...> - 2007-02-01 14:32:23
|
On Thu, 2007-02-01 at 09:12 -0500, Daniel Drake wrote: > On Wed, 2007-01-31 at 13:51 -0600, Jon Schewe wrote: > > Ok, I did some more looking into this and it really looks like asking > > for more than one register at a time is probably not going to do what > > you want, GetCameraControlRegisters. The num_regs value that is passed > > in is sent directly to the raw1394 driver in the linux kernel as the > > length of the data requested. If this length is equal to 4, then a quad > > read is done, otherwise a block read is done. This is probably why 4 > > times the actual length is passed into various functions in many places > > as the quad read is probably what you want in most places. So I'd > > suggest removing the ability to read multiple registers at once and read > > them one at a time. I don't see this functionality being used much > > inside the library, can we just remove it? > > It's used extensively for uploading shading images to AVT cameras. > Removing it and doing it reg-by-reg would make this reaaaaalllly > sllooooow :) > > I haven't been keeping up with the discussions, but the patch I wrote to > enable reading of multiple registers didn't change any behaviour for the > single register read case. I'm not sure which problems you are trying to > solve but I doubt that removing this functionality would fix anything. > > Here's the original patch: > http://www.reactivated.net/patches/libdc1394/2.0.0-rc3/multi-reg-access.patch Does reading of multiple registers actually work? I've been through the kernel source and I don't see how it could as the kernel is checking for a length of exactly 4 to decide which type of read to use. So if you specify you want to read 1 register, the length is 4 and a quad read is used. If you specify anything else, then length will not be 4 and a block read will be used. ________________________________________________________________________ http://lug.htc.honeywell.com/people/jschewe [Honeywell Intranet Only] *My views may not represent those of my employers |