QuickTime 6.6 to support high-resolution audio, B-Frame videoThe next version of Apple Computer's QuickTime media software will include major new features for users, developers, and content creators, while introducing improvements to the QuickTime architecture, file format, and API, AppleInsider has learned.
More specifically, the new version of QuickTime will boast significant improvements to Audio, Video, and Metadata, as well as add new Cocoa APIs, and numerous other enhancements.
Apple first seeded the software to developers last month as "QuickTime 6.6 Developer Preview." The release was bundled as part of the first external build of Mac OS X 10.4 "Tiger," which was available to select Apple partners and developers who pay annual fees to receive developmental software builds from the company.
QuickTime 6.6 will break free of the limitations of the Sound Manager, adding many new features that support high-quality audio, including a high-resolution audio, a new sound description, a new audio media handler, and new audio sequence grabber components and compressor components.
For developers, the software will offer new APIs for movie audio, sound conversion, audio extraction, movie export, and level and frequency metering. Support has also been added for use of Core Audio input/output units in QuickTime.
The changes will result in a much richer approach to sound in QuickTime, with support for higher sampling rates, such as 96 kHz and 192 kHz, multiple channels and multiple channel layouts, including 5.1 surround sound and 8 or more discrete channels. Additionally, the release will introduce support for a variety of more accurate audio representations, such as 24-bit uncompressed audio, during capture, playback, and export.
QuickTime 6.6 audio will also feature improve synchronization and access to uncompressed audio on a per-sample basis, including access to raw PCM audio samples from VBR-compressed audio sources.
Along with support for high-resolution audio, the new version of QuickTime will deliver a more flexible architecture for connecting audio components, letting developers capture multiple sequence grabber channels from a single device at the same time, even if the device doesnt permit multiple clients directly.
Additionally, sources said the new QuickTime software will convert audio from one format to another on the fly, performing channel mix-down or remapping, upsampling or downsampling, and sample conversion as needed.
QuickTime 6.6 will also feature several video enhancements, such as support for B-Frame and H.264 video compression. The release will also introduce a new visual context that provides an abstraction layer decoupling QuickTime from GWorlds.
B-Frame video compression is a major advancement that involves new sample tables for video, allowing video frames to have independent decode and display times. This will result in improved display, editing, and capture in H.264 and other advanced video codec formats. The implementation will reportedly include a new API for working with media sample times, adding and finding samples, and a new Image Compression Manager API.
The H.264 codec is the latest standards-based video codec. Also known as the Advanced Video Codec (AVC) and as MPEG-4 Part 10, the H.264 codec promises to deliver better live streaming characteristics and better image quality at lower bit rates than the current MPEG-4 video codec.
Meanwhile, a new QuickTime visual context will provide an abstraction layer, decoupling QuickTime movies from GWorlds. The context allows programmers to work in QuickTime without needing to understand QuickDraw concepts and structures, and making it easier to render QuickTime output using engines such as OpenGL.
Likewise, QuickTime 6.6 with also mark the debut of an OpenGL texture context, a specific implementation of the aforementioned visual context that will provide a movie's visual data to a client applications as OpenGL textures. These textures can then be rendered to the screen using OpenGL, composited with other graphics, or run through CoreImage filters.
QuickTime Metadata Enhancements and API's
Another feature of QuickTime 6.6 is a new extensible metadata storage format that allows more flexible and efficient storage of metadata, including encapsulated storage of metadata without translating to and from a defined QuickTime format, sources said.
QTKit Framework for QuickTime
Also bundled with the new version of QuickTime is a Cocoa framework that provides developers with support for displaying and editing QuickTime movies. It uses abstractions and data types that are already familiar to Cocoa programmers, such as delegation and notification, and it will introduce new data types for QuickTime-related operations only when necessary.
Apple has designed this framework to encapsulates a tremendous amount of QuickTime functionality in a small, easily-mastered API with a handful of new objects, classes, and methods. The company hopes that the new API will introduce QuickTime programming to new groups of developers without requiring them to learn the large, complex C/C++ QuickTime API.
New API's for QuickTime Developers
Rounding out the list of enhancements contained within QuickTime 6.6 is the addition of two new developer APIs: New Movie from Properties and QT Sample Table.
The New Movie from Properties API will let developers set up properties before creating a movie. This will also allow developers to create movies that are not necessarily associated with a GWorld and movies that can render their output to a visual context.
Meanwhile, the new QT Sample Table API can be used to obtain or set sample attributes such as their size, location, and sample descriptions.
Requirements and Availability
The QuickTime 6.6 Developer Preview requires Mac OS X 10.4 "Tiger" Developer Preview, a PowerPC G3 or better processor running at 400 MHz or higher, and at least 128 MB of RAM.
Although the software is only available for pre-release builds of Mac OS X 10.4 at the moment, sources expect several of the new QuickTime features to be made available for Mac OS X 10.3 "Panther."