QuickTime 4 Reference. For Macintosh and Windows

Similar documents
Apple Core Audio Format Specification 1.0

VISUAL QUICKSTART GUIDE QUICKTIME PRO 4. Judith Stern Robert Lettieri. Peachpit Press

Lesson 5: Multimedia on the Web

For Mac and iphone. James McCartney Core Audio Engineer. Eric Allamanche Core Audio Engineer

Graphical User Interfaces. QuickTime for Java. Presentation of the Semester Thesis' Toolkit within the Context of Graphical User Interfaces (MSc.

User's Guide.

Preparing and Capturing 2D Animations from FlipBook: A Primer By: Krishna M. Sadasivam and Trina Pinkney Revision 1.0.

ITP 342 Mobile App Dev. Audio

Revision 4.1.x /2.x.x [ ] Creating Media for Modulo Player & Kinetic

Lesson 5: Multimedia on the Web

Quicktime Player Error Codec For Avi Per

Inside QuickTime: QuickTime File Format

3.01C Multimedia Elements and Guidelines Explore multimedia systems, elements and presentations.

AVID - How to Make a 1920 x Surround Sound QuickTime Using Your Surround Sound Mix

TriMedia Motion JPEG Decoder (VdecMjpeg) API 1

Core Audio. MSDOSX : Lecture 20

SoundCode Exchange MXF Users Guide

AVC-Intra QT v1.0 Manual

Optimizing A/V Content For Mobile Delivery

Audio issues in MIR evaluation

MEDIA RELATED FILE TYPES

Media 100 Suite Version Release Notes

UNDERSTANDING MUSIC & VIDEO FORMATS

Quicktime Player Error Codec For Mac Avi

Audio Queue Services. Dave

Symphony By Numbers. Symphony By Numbers is a work of Visual Music. Visual Music can be

WMV Studio & Studio Pro WMV Player & Player Pro User s Guide WMV Export User s Guide. Version 1.0

ITP 342 Mobile App Dev. Audio

Skill Area 325: Deliver the Multimedia content through various media. Multimedia and Web Design (MWD)

Robin Dittwald Institut für Linguistik Universität zu Köln June Subtitles with ELAN An Easy Guide

Instruction Manual Rosendahl bonsailan.

Matrox Mojito MAX Release Notes (Mac OS version)

Digital Video Act III Importing, Editing, & Distribution Tips. University of Utah Student Computing Labs Macintosh Support

R&S VENICE Supported File Formats. Supplement

OneClick Video Converter Free Version

Digital Video. Part III: Importing, Editing, & Distribution Tips

Reel Delivery: Design for Media Distribution Spring Class 11

Operating Instructions

Matrox MXO2 Release Notes (Mac OS version) March 18, vy

Streaming Technologies Glossary

WavPack 5 Library Documentation

Caching and Buffering in HDF5

Start with the highest resolution source files available. This will ensure that you get the best possible quality of compression.

DeckLink SDI. DeckLink SDI. No other capture cards have more video and audio connections than DeckLink!

Core Components of Policy-based Telemetry Streaming

Lecture 19 Media Formats

Matrox MXO2 Release Notes (Mac OS version)

About MPEG Compression. More About Long-GOP Video

Basic Compression Library

About sounds and Animate CC

RAW WORKFLOWS: CINEFORM TOOLSET. Copyright 2008, Jason Rodriguez, Silicon Imaging, Inc.

_APP B_549_10/31/06. Appendix B. Producing for Multimedia and the Web

ADOBE 9A Certified Macromedia Flash MX 2004 Designer.

ADDING MUSIC TO YOUR itunes LIBRARY

Helix DNA Framework. Yann Cadic Quentin Désert. Multimedia Programming Helsinki University of Technology

ford residence southampton, ny Mjpeg sample files

Switch 2.0 Release Notes. Switch. System Requirements

Cisco AnyRes Video on Demand Analysis Node

Media Formats. Sound. Image. Video. WAV (uncompressed, PCM) MIDI. BMP XML dia MPEG

Premiere Pro Export Settings

Media 100 Release Notes

Computing in the Modern World

Export Audio Mixdown

Cinegy Desktop 10.5 System Recommendations. Cinegy GmbH. Document version: 12346f0

FRACTAL COMPRESSION USAGE FOR I FRAMES IN MPEG4 I MPEG4

Introducing EyeTV 200

Preparing Video Files for the Aja Ki Pro

Audio>Sound Manager: IVR Prompts

AVID - AMA Explained. First thing is to look at what plug ins are installed. Open up the Console Tool. Type in ama_listplugins

All available panels can be found under the Window pull-down menu. Timeline Main panel. Where media clips are combined and edited

CSC 101: Lab #8 Digital Video Lab due date: 5:00pm, day after lab session

Standard File Formats

Installing the driver software USB Audio Driver Installation Manual (Mac)

Compression and File Formats

GETTING STARTED DAC-100. What s in the Box? ADAPTER S-VIDEO CABLE VIDEO & AUDIO CABLE 6 PIN MALE TO 6 PIN MALE DAC-100 AC ADAPTER S-VIDEO CABLE

TriMedia Motion JPEG Encoder (VencMjpeg) API 1

Contents. Introduction To QuickTime Overview 4. QuickTime Overview 5. Document Revision History 33. Organization of This Document 4

Multiscale Electrophysiology File Format Version 3.0 (MEF3)

Matrox Mojito MAX. Release Notes (Mac OS version) April 22, 2015 USO RESTRITO Y

the gamedesigninitiative at cornell university Lecture 15 Game Audio

File Format Specification MMPLD Version: 1.2 Release Author: Sebastian Grottel Date:

My Media Hub Quick Start Guide for Windows or Mac

Using Movie Clips in PowerPoint Presentations: Part 1, Compatibility Issues

Online Help Browser Requirements Safari *Please note: Episode 7 does not support OS X or previous versions of Mac OS X.

BMP file format - Wikipedia

Extracting Quantitative Data from Video Recordings. Steve Preston

OptimiData. JPEG2000 Software Development Kit for C/C++ Reference Manual. Version 1.6. from

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

PowerPoint with Voice-over-slides

Page 1 3/6/08 How to make a 4:3 DVD from High Def or Standard Def Media

Switch Release Notes. Switch

Getting Started AudiLogo application Version 1.0 for Mac OS X and Windows

3.0.1 Version history Issues resolved & undocumented features. March, 2012 Steinberg Media Technologies GmbH

How an MPEG-1 Codec Works

Digital Video Act II Introduction to Editing and Distribution. University of Utah Student Computing Labs Macintosh Support

GETTING STARTED DAC-100. What s in the Box? ADAPTER S-VIDEO CABLE VIDEO & AUDIO CABLE 6 PIN MALE TO 6 PIN MALE DAC-100 AC ADAPTER S-VIDEO CABLE

Digital Video. Part II: Introduction to Editing and Distribution

OpenGL Status - November 2013 G-Truc Creation

Media 100 Suite Version Release Notes. Boris FX - Media 100 is pleased to offer Media 100 Suite Version

STEP 1: DOWNLOAD THE PROGRAM

Transcription:

apple QuickTime 4 Reference For Macintosh and Windows apple Apple Computer, Inc. Technical Publications July, 1999

C H A P T E R 2 0 Figure 20-0 Listing 20-0 Table 20-0 20 This chapter discusses new features of QuickTime audio. For information about audio support and the uses of the Sound Manager, refer to Chapter 2 of Inside Macintosh: Sound. This chapter focuses on issues that are relevant to QuickTime. Note that Sound Manager sources are now multi-platform, so that the same manager is available on all platforms where QuickTime is available, and contains the same API and features. This chapter also discusses how QuickTime 3 handles compressed audio, in addition to the two recent extensions defined for the SoundDescription sample description record. The first extension is the addition of slope, intercept, minclip, and maxclip parameters for audio. The second is the ability to store data specific to a given audio decompressor in the SoundDescription record. New Features of 20 QuickTime 3 automatically installs the latest version of the Sound Manager. Multi-platform Support 20 The Sound Manager sources are now multi-platform, i.e., built for the Mac OS, Windows 95 and NT, and any other platform that supports QuickTime. This means the same Sound Manager software is available for each platform, containing the same API and features. New Features of 663

Dealing with Endian Issues 20 Multi-platform support raises the issue of endianness. Basically, endian conversion is treated as a compression conversion. Any non-native endian format is required to be decompressed into the native format. How QuickTime 3 Handles Compressed Audio 20 QuickTime 3 defines version 1 of the SoundDescription sample description record. Note that for purposes of this discussion, a QuickTime sound sample description chunk describes the format of a collection of audio samples. The existing description is shown in Listing 20-1 for reference. Listing 20-1 The original SoundDescription sample description struct SoundDescription { long descsize; /* total size of SoundDescription including extra data */ long dataformat; /* sound format */ long resvd1; /* reserved for apple use. set to zero */ short resvd2; /* reserved for apple use. set to zero */ short datarefindex; short version; /* which version is this data */ short revlevel; /* what version of that codec did this */ long vendor; /* whose codec compressed this data */ short numchannels; /* number of channels of sound */ short samplesize; /* number of bits per sample */ short compressionid; /* unused. set to zero. */ short packetsize; /* unused. set to zero. */ UnsignedFixed samplerate; /* sample rate sound is captured at */ }; typedef struct SoundDescription SoundDescription; Version 1 of this record includes four extra fields to store information about compression ratios. It also defines how other extensions are added to the SoundDescription record. 664 New Features of

struct SoundDescriptionV1 { // original fields SoundDescription desc; // fixed compression ratio information unsigned long samplesperpacket; unsigned long bytesperpacket; unsigned long bytesperframe; unsigned long bytespersample; // additional atom-based fields -- // ([long size, long type, some data], repeat) }; The version 1 sound description is a superset of the version 0 sound description. The new fields are taken directly from the CompressionInfo structure currently used by the Sound Manager to describe the compression ratio of fixed ratio audio compression algorithms. They are described in detail in Inside Macintosh: Sound. If these fields are not used, they are set to 0. File readers only need to check to see if samplesperpacket is 0. The fields have been added to support compression algorithms which can be run at different compression ratios and to support more generic parsing of QuickTime sound tracks IMPORTANT It is necessary to know the compression ratio to rechunk or flatten the media. In the past, the only way to know the compression ratio was to directly query the audio decompressor. If this process was running on a computer without the decompressor (such as a server), it would not have enough information to correctly rechunk the audio.s All other additions to the SoundDescription record are made using QT atoms. That means one or more atoms can be appended to the end of the SoundDescription record using the standard [size, type] mechanism used throughout the QuickTime movie resource architecture. Extensions to the SoundDescription Record 20 Two extensions are defined to the SoundDescription record. The first is the slope, intercept, minclip, and maxclip parameters for audio as defined in Appendix D. This is represented as an atom of type sislopeandintercept. The contents of the atom are: New Features of 665

struct SoundSlopeAndInterceptRecord { Float64 slope; Float64 intercept; Float64 minclip; Float64 maxclip; }; typedef struct SoundSlopeAndInterceptRecord SoundSlopeAndInterceptRecord; The second extension is the ability to store data specific to a given audio decompressor in the SoundDescription record. Some audio decompression algorithms, such as Microsoft s ADPCM, require a set of out-of-stream values to configure the decompressor. These are stored in a sidecompressorsettings. The contents of the sidecompressorsettings atom are dependent on the audio decompressor. If the QuickTime movie was created from a WAVE (.WAV) or AVI (.avi) file, the sidecompressorsettings atom is automatically created and set to the contents of the WAVEFORMATEX structure from that file. In this case, the sidecompressorsettings atom contains little-endian data. At runtime, the contents of the type sislopeandintercept and sidecompressorsettings atoms are provided to the decompressor component through the standard SetInfo mechanism of the Sound Manager. The samplesperpacket, bytesperpacket, bytesperframe, and bytespersample fields are also passed to the decompressor component via SetInfo in a CompressionInfo structure with the sicompressionfactor selector. Constants for Additional Audio Compression Formats 20 QuickTime 3 defines constants for several additional audio compression formats. These include kfloat32format and kfloat64format for single and double precision (i.e., big endian IEEE) floating-point audio. It also defines 'alaw' for alaw audio. All DV audio from NTSC (format 60) DVC streams is 'dvca', regardless of the format of the data in the frame. In addition, a standard mapping for audio formats present in the Windows Audio Compression Manager is defined. All ACM audio formats are defined with a 16-bit integer. These are mapped into a QuickTime four-character code by putting 'ms' in the first two characters and the ACM 16-bit value in the second two characters. So the Microsoft ADPCM algorithm (ACM value of 1) has a QuickTime audio compression code of (('MS' << 16) 1). This enables standard mapping of ACM audio into the QuickTime movie format. 666 New Features of

QuickTime 3 has built-in support to decompress the following additional audio formats: single-precision floating point double-precision floating point Microsoft ADPCM (ACM code 1) Intel/DVI IMA (ACM code 7), DV alaw Both floating-point decompressors support the type sislopeandintercept atom to provide scaling and DC-offset support. QuickTime 3 has the ability to compress the following additional audio formats: single-precision floating point double-precision floating point alaw QuickTime 3 correctly imports compressed audio from AVI (.avi) and WAVE (.WAV) files. The AU file importer has also been enhanced to import alaw, 8- and 16-bit uncompressed, and single- and double-precision floating point audio in addition to the ulaw that it handled previously. A Sound Designer II file importer has been added. An AU file exporter has been added which can generate alaw, ulaw, single and double precision floating point, and uncompressed AU files. (Note that most other readers can only handle ulaw, however). DV Audio Decompressor Component 20 The Sound Manager includes a DV audio decompressor component. This component, which works with Sound Manager version 3.3 or later, can decompress DV audio in any of the formats supported by DV sources. These formats are: 2 audio channels, 12-bit encoding, 32K samples per second 2 audio channels, 12-bit encoding, 44.1K samples per second 2 audio channels, 12-bit encoding, 48K samples per second 2 audio channels, 16-bit encoding, 32K samples per second 2 audio channels, 16-bit encoding, 44.1K samples per second New Features of 667

2 audio channels, 16-bit encoding, 48K samples per second 4 audio channels, 12-bit encoding, 32K samples per second The file type for all DV audio formats is kdvaudioformat. Note that the DV audio decompressor component provides the ability to decode audio data stored in a DVC stream. Using 20 Creating a 16-bit, 22K Uncompressed WAVE File Using QuickTime 3 20 The following is an example of how you can convert an 8-bit, 22K.wav file to a 16-bit, 22K IMAPCM.wav file using QuickTime 3. While QuickTime can create WAVE files, it does not support creating IMA-compressed WAVE files. It can play back WAVE files that contain IMA-compressed audio. To create a 16-bit 22k uncompressed WAVE file using QuickTime 3, you perform the following steps: 1. Open an exporter. ComponentInstance ci; ci = OpenDefaultComponent(MovieExportType, kqtfiletypewave); 2. Create a sound description for the audio format you want. If there are values you don t care about, you can leave them unspecified. In this example, the number of channels is not indicated. The exporter will base the channel count on the source movie. SoundDescriptionHandle desc; desc = (SoundDescriptionHandle )NewHandleClear(sizeof(SoundDescripion)); (**desc).descsize = sizeof(sounddescription); 668 Using

(**desc).samplesize = 16; (**desc).samplerate = 22050L << 16; (**desc).dataformat = k16bitlittleendianformat; 3. Specify the export component in which format you want the audio. MovieExportSetSampleDescription(ci, (SampleDescriptionHandle)desc, SoundMediaType); 4. Perform the export operation. ConvertMovieToFile(theMovie, nil, &outputfile, kqtfiletypewave, OSTypeConst('TVOD'), 1, nil, 0, ci); 5. After you have finished, dispose everything that you have created. CloseComponent(ci); DisposeHandle((Handle)desc); Using 669

670 Using