SGI audio/video syncrony check & serial i/o control

SGI audio/video syncrony check & serial i/o control

Post by Klaus Riedere » Sat, 30 Dec 2000 23:39:55



Hello all!

I was just reading the story of "Uncompressed video capture on O2" on
"comp.sys.sgi.hardware" newsgroup, which is related to my stuff, and
those opionions given before all well acceptable on my behalf as well.
But as I'd be mostly using own-made (simple) synthetic video, my problem
has a bit different tone, which is in my special case very severe.

Ive been trying to get further insight on my problem explained below,
unluckily with little success, so now I turn to the world wide help :-)

I work at the Helsinki University of Technology at the Laboratory of
Computational engineering. We have a number of SGIs, e.g. 02, Octane,
Onyx among others.
Im making my PhD Thesis on audiovisual perception, therefore I need to
construct a system controlling a number of devices tru serial i/o
(rs-232) (ie lights, turntables, relays etc), and most of all, I need to
play simultaneously videofiles (with or without sound) & soundfiles (1
to multichannel) with good (< 1ms asyncrony) syncrony. This 1 ms is
because of many reasons, two are the following: the MEG
(magnetoenchelogram) method has an accuracy of 1 ms, according to
British telecom research studies, humans can perceive audio/video
asyncrony   -80ms..+40ms (audio related to video) - I want to study
these fundamental issues, so my equipment should be at least a decade
(10 times) better. You understand, a dropped frame would yield to a 40
ms asyncrony between audio and video, and frames are so easily dropped..
,-)

Im not a coder, unfortanetely, but Ive been scripting Matlab > 5
years, so Id really prefer a system which softwarecore would be Matlab,
as Im doing 3-D sound file calculation also in there.

Also, Id prefer a portable system running in a laptop, but due to the
inherent asyncrony problems in Windows & Mac based OS and hardware, the
SGI seems to be the only solution. I think that with this fact many
people can agree, if not, I'd be really greatful to hear possible
win/mac solutions.

Thus, Im asking you, is that whether the +/- 200 us asyncrony is really
true, what is presented in SGIs O2 white paper? Does in apply also under
"medium-heavy loads", meaning running Matlab below can you still play
video or still images in accurate sync with the audio? Also, what Id
need would be a audio/video syncrony checker. Ive been studying hard
www-pages and asking wise friends and colleagues, we could find the
stuff relating vlGetFrontierMSC etc., so is this a problem solved by a
good C-coder ,-), right?

Im searching a most ready solution that I could control from Matlab, so
does this mean that I need to find some whos is capabable of coding a
C-routine and convert it to matlab mex-file, that would check the time
stamps when audio and video frames are getting out of the ports?  I.e.
is there no ready-made stuff, even though many basic functions exist??

If you tell me that I can do this with program X which costs 30,000 USD,
ok, but let me know it anyway. In "Uncompressed video capture on O2" on
"comp.sys.sgi.hardware" newsgroup Emmanuel Florac recommended
Alias|Wavefront saying that "it can
read bunches of still images from a directory and play it out directly
without processing, real time and uncompressed.... ". Is it scribtable?
What is real time?
="Generally not dropping frames, but.. "?

I thank you all most humbly and wish you all

an unforgettably good Millenium!!

sincerely,

klaus riederer


Orbis
non sufficit In vivo veritas

 
 
 

SGI audio/video syncrony check & serial i/o control

Post by Ruud van Ga » Sun, 31 Dec 2000 02:18:56


On Fri, 29 Dec 2000 16:39:55 +0200, Klaus Riederer

...

Quote:>Im making my PhD Thesis on audiovisual perception, therefore I need to
>construct a system controlling a number of devices tru serial i/o
>(rs-232) (ie lights, turntables, relays etc), and most of all, I need to
>play simultaneously videofiles (with or without sound) & soundfiles (1
>to multichannel) with good (< 1ms asyncrony) syncrony.

Although you're not a coder, you might want to note 'man tserialio'.
Not supported on all machines, but IIRC on O2's at least. For timed
serial i/o (more used for frame-accurate betacam controlling).

Quote:>Thus, Im asking you, is that whether the +/- 200 us asyncrony is really
>true, what is presented in SGIs O2 white paper? Does in apply also under
>"medium-heavy loads", meaning running Matlab below can you still play
>video or still images in accurate sync with the audio?

I've played video's and starting photoshop under that, no problems.
It's a matter of giving your process enough priority though.
Also, get an external disk, which is faster than doing things on the
internal HD's often (the 4.2Gb in my O2 is constantly very crowded,
and I have an external 60Gb RAID here that does thing oh so much
faster). This is to ensure throughput in your movie reader.
Also, it would help then to run Matlab nice. Ehm, 'nice Matlab'
(anyone ever seen the application 'doggy'? ;-)).

Quote:> Also, what Id
>need would be a audio/video syncrony checker. Ive been studying hard
>www-pages and asking wise friends and colleagues, we could find the
>stuff relating vlGetFrontierMSC etc., so is this a problem solved by a
>good C-coder ,-), right?

vlGetFrontierMSC() is old and buggy on O2's, IIRC. It seems the first
few frames or so the MSC doesn't mean anything. Anyway, syncing is a
bit of a matter of how big your clips are. Hm, probably you're doing
endless playback. In practice, I must say movie playback is fast
enough, when buffered enough, to require no syncing at all actually.
You may want to watch VLevents to signal dropped frames though, and
drop the same amount of audio data (or rather, ADD the amount).

Quote:>Im searching a most ready solution that I could control from Matlab, so
>does this mean that I need to find some whos is capabable of coding a
>C-routine and convert it to matlab mex-file, that would check the time
>stamps when audio and video frames are getting out of the ports?  I.e.
>is there no ready-made stuff, even though many basic functions exist??

I don't know Matlab, so I can't comment much on that.
Do realise that a lot is buffering. I believe the function which
calculates/predicts the time that a given frame will be present on the
jack doesn't work correctly on the O2 (see man vlintro/man mvp and
beyond). So it might give you/the programmer a hard time. In practice,
I use empirical values to estimate the timeouts.

Quote:>If you tell me that I can do this with program X which costs 30,000 USD,
>ok, but let me know it anyway. In "Uncompressed video capture on O2" on
>"comp.sys.sgi.hardware" newsgroup Emmanuel Florac recommended
>Alias|Wavefront saying that "it can
>read bunches of still images from a directory and play it out directly
>without processing, real time and uncompressed.... ". Is it scribtable?
>What is real time?

Realtime means usable to output to video and be considered
professional. :) So 30fps NTSC, 25fps PAL. It's more a matter of your
HD's being fast enough (4 HD's striped).

Quote:>="Generally not dropping frames, but.. "?

If it's dropping frames than it's a nice try but just not usable.

Quote:>I thank you all most humbly and wish you all
>an unforgettably good Millenium!!

Again? Oh, my God, not the 2001 or 2000 threads again! ;-)

Ruud van Gaal, GPL Rank +53.25
Pencil art    : http://www.marketgraph.nl/gallery/
Car simulation: http://www.marketgraph.nl/gallery/racer/

 
 
 

SGI audio/video syncrony check & serial i/o control

Post by Scott Elya » Sun, 31 Dec 2000 03:13:34




> >I thank you all most humbly and wish you all
> >an unforgettably good Millenium!!

> Again? Oh, my God, not the 2001 or 2000 threads again! ;-)

No, but I will insist that people spell millennium properly.  Geez.  What
would Han Solo say?

--
.oO=-"The picture of a faithful alligator boundin' into-=Oo.
|      daddy's lap ain't one the public is ready for."     |
|              --Walt Kelly (Beauregard)                   |
| Comic:         www.oscarquillandcoyle.org                |
`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'

 
 
 

1. Controlling Modem-Control Signals on Serial Port?

Does anyone know how to read and write the modem-control signals on an SGI? I
am particularly interested in how to read and write the RTS, CTS, and CD lines
of an RS232 serial port. On a Sun this is done with ioctl() and the TIOCMBIS,
TIOCMBIC, and TIOCMGET arguments, but I have not been able to find references
in SGI's documentation on how to do this. Maybe I just haven't looked hard
enough. Does anyone have a pointer for me?
--
                Todd Litwin
                Jet Propulsion Laboratory
                (818) 354-5028

2. What do you think?

3. Digital Audio Card DA1100 540 Audio control panel won't open!

4. Service Pack question

5. FA: SGI O2 R10K w/analog video & digital audio options + MIDI

6. Problems compiling VC++ 5 DirectX examples

7. Simultaneous Audio, Video, and Serial I/O on an Indy

8. Network Connectivity Drops

9. Effects of 5.2 ==> 5.3 migration on INDY admin, serial & audio I/O?

10. Checking SGI serial number

11. Can I control the Audio in SGI from other system ??