
EE-320-v01| Application Note
Engineer-to-Engineer Note
EE-320
a
Introduction
Technical notes on using Analog Devices DSPs, processors and development tools
Visit our Web resources http://www.analog.com/ee-notes and http://www.analog.com/processors or e-mail processor.support@analog.com or processor.tools.support@analog.com for technical support.
Implementing an Ogg Vorbis Decoder on SHARC Processors
Contributed by Jeyanthi Jegadeesan and Kulin Seth Rev 1 June 10, 2008
This EE-Note discusses the real-time implementation of an Ogg-Vorbis decoder on SHARC processors. The Ogg Vorbis decoder is implemented on the ADSP-21364 and ADSP-21369 SHARC processors, although the same concepts apply for all ADSP-2136x SHARC processors. The ADSP-21364 and ADSP21369 EZ-KIT Lite boards are used as the hardware platform, and the VisualDSP++ development tools are used for the software development of the application. The VisualDSP++ source code for the decoder application is provided with this EE-Note in the associated .ZIP file. Throughout this document, details about the following items will be broadly addressed: Ogg Vorbis codecs Visual C++ as a cross-reference tool Architectural advantages of ADSP-2136x SHARC processors Decoder workflow Implementation on ADSP-2136x SHARC processors Features of VisualDSP++ tools Optimization MIPS calculation
Ogg Vorbis Codecs
Ogg is the Xiph.org foundation's container format that holds multimedia data. Vorbis is a fully open, patent-free, royalty-free audio compression format, which uses Ogg format to store its bit streams as files. In many respects, Vorbis is similar in function to the MPEG-1/2 layer 3 (MP3) format and the newer MPEG-4 (AAC) format. This codec was designed for mid-to-high quality (8-kHz to 48-kHz bandwidth, >16-bit, polyphonic) audio at variable bit rates from 16 to 128 Kbps/channel, so it is an ideal format for music. The Ogg transport bit stream is designed to provide framing, error protection and seeking structure for higher-level codec streams that consist of raw, unencapsulated data packets, such as the Vorbis audio codec or Tarkin video codec. Vorbis encodes short-time blocks of PCM data into raw packets of bitpacked data. These raw packets may be used directly by transport mechanisms that provide their own framing and packet-separation mechanisms (such as UDP datagrams). For stream-based storage (such as
files) and transport (such as TCP streams or pipes), Vorbis uses the Ogg bit stream format to provide framing/sync, sync recapture after error, landmarks during seeking, and enough information to properly
Copyright 2008, Analog Devices, Inc. All rights reserved. Analog Devices assumes no responsibility for customer product design or the use or application of customers' products or for any infringements of patents or rights of others which may result from Analog Devices assistance. All trademarks and logos are property of their respective holders. Information furnished by Analog Devices applications and development tools engineers is believed to be accurate and reliable, however no responsibility is assumed by Analog Devices regarding technical accuracy and topicality of the content provided in Analog Devices Engineer-to-Engineer Notes.
EE-320-v01 Application Note analog Download PDF
Add this permalink to your bookmarks for future download of EE-320-v01 ApplicationNote
Permalink: http://application.emcelettronica.com/analog/EE-320-v01