Retired Document
Important: This document may not represent best practices for current development. Links to downloads and other resources may no longer be valid.
Introduction to QuickTime Compression and Decompression Guide
This book introduces you to the QuickTime Image Compression Manager and its associated components, which provide image-compression and image-decompression services to applications and to other QuickTime components. The components used to compress and decompress movies, images, and image sequences fall into these classes:
The Image Compression Manager, which lets your application
use a common interface for all image-compression and image-decompression operations;
take advantage of any compression software or hardware that may be present in a given Macintosh configuration;
store compressed image data in pictures;
temporally compress sequences of images, further reducing the storage requirements of movies;
display compressed PICT files without the need to modify your application; and
use an interface that is appropriate for your application: a high-level interface if you do not need to manipulate many compression parameters or a low-level interface that provides you greater control over the compression operation.
Codec components, code resources that provides image compression or decompression services for image data. For historical reasons, these components are sometimes referred to as image compressor components, rather than codec components, as a generic term for both compressors and decompressors. To make it easier for you to create new decompressor components, Apple provides a Base Image Decompressor component. You can use this component to perform most of the services that are common to all decompressors, allowing you to focus on the tasks that are specific to your decompressor.
Data codecs, which enable you to compress and decompress media data from tracks other than sound and video tracks, such as sprites or 3D models, that are not compressed and decompressed automatically. Data codecs also allow you to compress or decompress arbitrary blocks of data from other sources.
Image compression dialog components, which provide user interfaces for setting the parameters that control the compression of still images and sequences.
Image transcoders, which translate compressed image data from one format to another. Image transcoders are typically used when a movie has been compressed in a format for which there is no decompressor on the playback machine, or when an application provides an export function.
To get the whole story of QuickTime compression and decompression, read this whole book; or you can read only parts of this book, depending on your immediate task or interest:
If you are developing an application that works with images (including sequences of images), you should read the first seven chapters (which describe the Image Compression Manager) plus the chapters About Image Compressor Components and Using Image Compressor Components.
If you are going to write your own codec components, you should also read Codec Components API and About the Base Image Decompressor.
If you need to work with compressed data outside of the normal capture, storage, import, export, and playback of sound and video, you should read Using Data Codec Components.
If your application creates movies, you should read about image-compression dialog components in the chapters Standard Image Compression Dialog Components, Working With Standard Image Compression Dialog Components, and Image Compression Dialog Types and Functions.
If you intend to use or create image transcoder components, you need to read the chapters Using Image Transcoder Components and Creating Image Transcoder Components.
Organization of This Document
This book consists of the following chapters:
The Image Compression Manager provides an overview of the Image Compression Manager.
Extensions to the Image Compression Manager describes the extensions to the Image Compression Manager introduced in various releases of QuickTime, including support for ColorSync, asynchronous decompression, timecodes, and compressed fields of video data.
Image Compression Characteristics provides a brief overview of the characteristics of image compression algorithms, including discussions of compression ratios, compression speed, and image quality.
Compressors Supplied by Apple discusses the compressors that Apples supplies with the Image Compression Manager. Included also is a detailed discussion of which types of images are most suitable for which compressors, with illustrative graphs of compression ratios.
Working with the Image Compression Manager which describes how to use the Gestalt Manager to determine what version of the Image Compression Manager is available. Various functions you can use to gather information about the Image Compression Manager and the installed compressor components are also discussed.
How to Compress and Decompress Sequences of Images provides a sample program illustrating the processes used to compress and decompress image sequences.
ICM Functions, Data Types, and Constants describes the various functions, data types, and constants your application can take advantage of in working with the Image Compression Manager.
About Image Compressor Components describes the general characteristics of an image compressor component, including its component type.
Using Image Compressor Components describes what the Image Compression Manager does that affects compressors. It also provides sample code that shows how the compressor components prepare for image compression, and how to compress an image or a horizontal band from an image.
Codec Components API lists the data types, functions, and constants in QuickTime that support image compression and decompression.
About the Base Image Decompressor describes the base image decompressor, an Apple-supplied component that makes it easier for developers to create new decompressors.
Using Data Codec Components describes the features of data codec components and shows how to find and control them. A list of useful codec component functions is provided.
Standard Image Compression Dialog Components introduces the standard image compression dialog component and illustrates the two standard dialog boxes.
Working With Standard Image Compression Dialog Components describes in detail how you can use the standard image compression dialog component.
Image Compression Dialog Types and Functions describes the request types and functions associated with the standard image compression dialog components and an application-defined function.
Using Image Transcoder Components describes what image transcoding is and why it is useful, providing an overview of the relationship between applications, QuickTime services, and transcoder components. This chapter also describes the process of creating an image transcoding sequence for the Image Compression Manager and lists the functions applications use to access transcoding services.
Creating Image Transcoder Components describes when and how to create image transcoder components, and provides a code listing with an example transcoder for component authors.
See Also
The following Apple books cover related aspects of QuickTime programming:
QuickTime Overview gives you the starting information you need to do QuickTime programming.
QuickTime Movie Basics introduces you to some of the basic concepts you need to understand when working with QuickTime movies.
QuickTime Guide for Windows provides information specific to programming for QuickTime on the Windows platform.
QuickTime Media Types and Media Handlers Guide introduces the idea of QuickTime media handler components and provides details of the video, sound, text, timecode, and tween media handlers.
QuickTime API Reference provides encyclopedic details of all the functions, callbacks, data types and structures, atom types, and constants in the QuickTime API.
Copyright © 2005, 2006 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2006-01-10