About the QuickTime Handler
QuickTime Datatype Handler for BeOS
This is a movie datatype that plays Apple's very popular QuickTime
format. The format supports a wide range of codecs, and has a
advanced multi-track approach to it's files. For information on first time usage, please look at the FAQ later in this document.
For more information please check out http://quicktime.apple.com
This handler supports the following video codecs.
Video Codec |
Support Loading |
Support Saving |
Cinepak |
Yes |
No |
Apple Video |
Yes |
No |
Apple Animation |
Yes |
No |
Apple Uncompressed |
Yes |
Yes |
Photo JPEG |
Yes |
No |
This handler supports the following audio codecs.
Audio Codec |
Support Loading |
Support Saving |
Raw Signed |
Yes |
No |
Raw Unsigned |
Yes |
No |
More loading and saving codecs are on their way soon, the highest priority being Motion JPEG, and MPEG I Frame with other types of audio, including IMA4 compressed.
Understanding the Preferences
You can access the preference dialogue directly by double clicking on /boot/home/config/add-ons/Datatypes/QTHandler or where ever you have set your datatypes to be
located - see the FAQ for more information.
There you can configure all the input and saving options for the QTHandler. Programmers can also make this dialogue appear within their own applications, so you might often see this panel in other programs.
It is worth remember that whenever the dialogue is closed your settings will be automatically saved for you, and become active immediately.
8-bit Dithering allows you to select what kind of dithering pattern you like the most, and is fastest on your machine when the QTHandler is outputting 8-bit data. When you
select None, the QTHandler asks the BeOS to make a colour selection for it. Pixel Correction is a poor quality but fast dithering routine. Please note you will
only see your selected dithering if the application you are running has asked for the image data predithered for it.
Sound is a switch to shut off the parsing of the audio data within the QuickTime movie when it is present. Turning Sound to Off
will use less memory and start the movie playing quicker. It is worth noting that you might have to turn Sound On manually if you
want to hear sound from your application.
Display movies as fast as possible is really a bit of a waste of time, but is fun to see how fast QuickTime movies will play
through your system. When this switch is on, Sound is automatically disabled.
Movie Saving: Video Codec lets you pick which codec (compressor/decompressor) you wish to compress the source movie with.
Movie Saving: Depth let you set what colour depth the output movie will appear in.
Programmers Information
It is very important to tell the QTHandler how you want it to return
data. By default, it will return data as B_RGB_32_BIT - so as you
can imagine it is having to pass a lot of data around. If you only
want to display a movie, it is best to ask for it in the depth of
the current_workspace, which is most likely to be B_COLOR_8_BIT.
However, if you are in a 32-bit workspace or your program wants to
do some processing on the QuickTime output, then don't bother sending
it a color_space ioExtension.
This datatype supports the standard /frame and /time ioExtensions as
well as header and data.
Program History
0.70
Be Masters Release
0.81
DR9 AA version. First public beta.
0.85
Fixed memory leak in Cinepak player. Default output depth was set
to 8-bit by accident, changed to 32-bit. Reorganized lots of source
to make code more efficent, especially for saving. Will not crash
if a headerless movie is played. Added save menu item to preference
application. Fixed palette problems for Apple Animation 8-bit playing.
Fixed alignment problem in 8-bit for RPZA. Added 24-bit colour saving
to Apple Uncompressed. Fixed Apple Uncompressed 32-bit movies in 8-bit
display. Fixed problems with colour depths over 40. Fixed alignment
problems for 8-bit display in 16-bit and 24-bit Apple Animation movies.
Ported to DR9 Preview and Datatypes 1.6.1. Indexed video streaming loop
for simpler frame location.
0.90
Fixed pointer problems that might cause the handler to crash at startup.
Faster and simpler identify method. Photo JPEG codec support. Fixed
countless bugs. Rewrote the documentation in HTML.
Future Plans
Speed, Speed, Speed! Faster data reading using Async IO. More codecs.
Use and set LOAD atoms.
Special Thanks To
William Adams, Peter Barrett, Hubert Figuiere, Mark Hall, Kevin Hendrickson,
Jeremy Moskovish, Ron Theis, Frederic Tessier, Philippe Thomas and Jon Watte.
My sincere thanks to Ralf Smolarek for all the time, effort and money he
spent producing vast (and I mean vast) amounts of test data for me to use.
License
There is no warranty with this program, and I have no liability for any consequential
damage arising from the use of or inability to use this program. In no
event shall I be liable for any damages whatsoever.
Distribution with any commerical software is strictly forbidden, either in full or demo form without a license agreement. Distribution is
also forbidden on any software collections costing over 50USD.
By reading this file and using the handler you are agreeing to the terms listed here.
Q: How do I install it?
A: You need to place it in your datatypes directory. As default this is /boot/home/config/add-ons/Datatypes, but you
need also set it manually. See the Datatypes manual, which came with your install of the Datatypes package for more details.
Q: What is the QTHandler used for? Will it allow me to view QuickTime movies in any program?
A: The QTHandler allows programs which support media datatypes to load and save QuickTime
movies in all of the formats listed above. You can use ShowApp which is included with the Datatypes package to view QuickTime movies.
Q: Will NetPositive use the QTHandler?
A: No, NetPositive has its own QuickTime viewer which can only display Cinepak movies and does not support audio
and does not use media datatypes yet.
Q:You say you support sound. I want to hear some!
A: Sound is supported - however the application you are using to play the QuickTime movie needs to support this
feature, and at present I know of no apps that do support sound.
Contact Details
Simon Clarke (S.J.Clarke@herts.ac.uk)
If you want to distribute this handler and a user help version of this document with your application, please email me.
If there are any files which this handler does not display correctly, please let me know, and I can try and fix the
problem.