comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Passing file LUN to C routine
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Passing file LUN to C routine [message #35117 is a reply to message #34993] Mon, 12 May 2003 09:33 Go to previous messageGo to previous message
btt is currently offline  btt
Messages: 345
Registered: December 2000
Senior Member
Stein Vidar Hagfors Haugan wrote:
> Ben Tupper <btupper@bigelow.org> writes:
>
> [..]
>
>> (1) pass C the LUN and have the C write each frame: best rate about 15
>> frames per second (fps)
>>
>> (2) pass C a predefined array into which it stores the latest frame
>> and return to IDL, then have IDL store the frame: best rate about 15
>> fps
>>
>> No difference!
>>
>> Each of these are performed in a event driven loop where the events
>> are simple timer events with TIMER = verySmallValue. I think I'll try
>> it in just a simple loop for fun.
>>
>>
>> Ultimately, I would like to access the video at full frame rate (30
>> fps) - not that I need all the frames, but rather I can be sure I am
>> getting the every Nth frame. I seem to have other problems right now;
>> if I have C grab N frames as fast as it can without sending each frame
>> back to IDL
>> then I see frame rates as high as 22.5 fps. Hmmm. The promotional
>> stuff that came with the frame grabber says I can get full frame rate.
>> Dang.
>
>
> With your problem above (22.5 fps max), are you still writing to disk?
> Uncompressed, full-framerate video to disk is quite a challenge for a
> number of hardware configurations...
>

Hello,

I can get up to 22.5 fps (not consistently) when *not* writing to disk.
It is this fast when I get a stack of N images within C and return the
stack to IDL - the timing is done in C, as per the following C pseudocode:

//start

stack is a bytearr(width, height, n)
t0 = mytimer()

for i = 0 to N -1 Do

stack[i] = getTheData()

endfor

elapsedtime = mytimer() - t0

//end

frames per second (fps) is simply elapsedTime/N


Cleearly, the bottle neck is in the getTheData part, which I have
written myself. It is a series of "Start Frame" - "Make Sure It's Done"
- "Copy The Frame Data to Stack" steps. Mea culpa!

Cheers,
Ben
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: bug(s) in IDL5.6?
Next Topic: RFC 1: Common functions for beginners

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Thu Oct 09 22:09:53 PDT 2025

Total time taken to generate the page: 0.55566 seconds