Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ANN: Sequence Grabber + OpenGL texture example code



Hi Rob,

Thanks for the example code, everything helps. I was interested in your comment,
"the Macbook is much faster than the Powerbook", can you be more specific?
I'm looking for an excuse to buy a mactel, and went to a store recently, but was
a little disappointed. The only video app which was easily accessible was something
called "photobooth", it ran at 15 fps max, with stutters, and had a video latency of
at least 1/4 second. Of course, that program may have extra buffering, etc.

Hm. Well, regarding latency, you really won't be able to get very far with current hardware because of the way imaging devices are attached (USB, FireWire). Since part of the design goals of previous times (synchronization to video clocks of incoming signals and/or outgoing signals) are not applicable to current hardware. These days you have TFT displays that refresh portions of the screen at intervals not strictly related to the clock signal on a DVI or VGA cord and (even more problematic) not controllable or even detectable from the machine. On the input side, you oftentimes have camera CCDs that are read by a microcontroller that moves the data over a digital bus at later times and has to share the bus with other devices. This means that there is a 1 frame delay until a USB or FireWire device even starts communicating. There is no interrupt driven direct access to the data in the buffers and sometimes (think core image) the data has to be moved even one device further (GPU), back to the CPU and forth to the GPU again. Depending on the processing pipeline.


So there is really only the option to use frame grabber cards and a CRT display if you intend to go towards minimum latency.

What current hardware provides in sense of "much faster than the Powerbook" is the amount of processing and throughput that you can have. There is no substantial additional delay or reduced throughput to the simple 'acquire -> present' variant if you go for modifying your images. What you can do with Core Image is immense.

Further, current fast software video decoders use altivec to do the required
byte swapping quickly and in parallel. It is my understanding that any intel SSE replacement
is half the speed of altivec on a clock cycle basis, there are no appropriate byte swapping
instructions, and it is harder to use. So in what sense can the mactel machines be "faster"?.

Depending on what you do, your code will benefit from the faster video chipsets in the MacBook Pro or iMac for example. Regarding image processing, the current CPUs are not magnitudes faster, compared with good hand crafted G4 or G5 assembler. The increased bus bandwidth makes a difference if you process large amounts of data.


When developing, you will notice that tools like compilers, etc. are really more snappy than on PPC. They can't make use of AltiVec and are the domain that has always been faster on intel.

There seem to be a few
PCI express frame grabber cards available, but for many thousands of dollars, in
contrast to the less than 100 dollars for which you can get a standard PCI frame grabber
card for a linux box.

If you're in need of low latency, just by a cheap linux machine with a PCI card. You won't be able to beat that with any other solution (regarding latency). However, if you want to play with the video material, I'd recommend to go for an intel mac. Did you ever use the QuartzComposer? The possibilities with Core Image and Core Video are amazing. In principle it would be possible to do the same with GLSL on linux, but in practice I found that all the uninteresting parts of that (interfacing to the GPU, moving image data, general house keeping) are very tedious and error prone. Your time might be better invested in playing with all those new toys that really work without hassle on OS X than in fiddling with driver details, kernel interfaces, etc.


Take a look at

http://www.quartonian.net
http://www.zugakousaku.com/index.cgi?quartz&samples&en
http://www.samkass.com/blog

http://developer.apple.com/graphicsimaging/quartz/quartzcomposer.html

Yours,

Mark
--
  Dipl.-Ing. Mark Asbach                      Tel +49 (0)241 80-27677
  Institute of Communications Engineering     Fax +49 (0)241 80-22196
  RWTH Aachen University, Germany      http://www.ient.rwth-aachen.de



_______________________________________________
Do not post admin requests to the list. They will be ignored.
QuickTime-API mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quicktime-api/email@hidden

This email sent to email@hidden
References: 
 >Re: ANN: Sequence Grabber + OpenGL texture example code (From: "David Cairns" <email@hidden>)
 >Re: ANN: Sequence Grabber + OpenGL texture example code (From: Rob Shaw <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.