RealAudio 8 Fixed-Point Encoder

Contents

RealAudio 8 Fixed-Point Encoder

RealAudio 8 is an efficient, high-quality audio codec for low- to mid-bitrates (8 - 96 kbps). Both floating-point and fixed-point encoder implementations are available. The fixed-point encoder is optimized especially for ARM processors but can run on any 32-bit fixed-point processor which can perform a long multiply operation (two 32-bit inputs generating a 64-bit result) and long multiply-accumulate (long multiply with 64-bit accumulator).


Key Features

  • Pure 32-bit fixed-point implementation
  • High-quality C reference code for porting to new platforms
  • Optimized for ARM processors
  • Fully reentrant and statically linkable
  • Optional C++ API for compatibility with Helix applications (e.g. Producer)
  • Designed for high performance and low power consumption in handheld and mobile devices
  • Sample voice recorder application available for PocketPC
  • Robust encoding of voice, music, and mixed content

Applications

  • Recording meetings, interviews, personal dictation
  • Sending voice e-mail from PDA's and cell phones (faster than creating text messages with stylus or mini-keyboard)
  • Live music recording on portable players with line input
  • Audio blogging

Technical Specifications

Average CPU Usage

Sample Rate
Channels
Bit Rate
Processor Model (1)
On-Device Tests (2)
ARM7TDMI
ARM9TDMI-REV2
ARM920T
ARM926EJ-S
StrongARM1
XScale
StrongARM 1110
11025 Hz
mono
11 Kbps
7 MHz
6 MHz
6 MHz
5 MHz
4 MHz
4 MHz
8 MHz
22050 Hz
mono
20 Kbps
12 MHz
10 MHz
10 MHz
8 MHz
7 MHz
7 MHz
11 MHz
44100 Hz
mono
32 Kbps
20 MHz
18 MHz
19 MHz
15 MHz
13 MHz
13 MHz
18 MHz
44100 Hz
stereo (dual)
96 Kbps
43 MHz
37 MHz
41 MHz
33 MHz
29 MHz
29 MHz
38 MHz
44100 Hz
stereo (joint)
96 Kbps
42 MHz
36 MHz
40 MHz
32 MHz
28 MHz
28 MHz
37 MHz

(1) Tested with ARMulator, simulated zero-wait-state memory
(2) Tested on iPaq 3650, 206 Mhz, PPC 3.0

Memory Usage

  • ROM = 30621 Bytes (const globals)
  • RAM = 29856 Bytes (heap)
    • Total Data Memory = 60477 Bytes
  • Code Size = 13000 Bytes (approximately - depends on compiler)

Frequently Asked Questions

Where is the code in CVS?

  • See the Helix RealAudio encoder project page: http://rarvencode-audio.helixcommunity.org

Where does the build system put the code in my local source tree?

  • datatype-restricted/rm/audio/codec/ra8lbr/fixpt/encoder

How does the build system decide whether to build the fixed-point or floating-point RealAudio 8 encoder?

  • If HELIX_CONFIG_FIXEDPOINT is defined in your profile, it will build the fixed-point encoder. Otherwise it will build the floating-point version.

How does the build system decide whether to build the RealAudio 8 encoder or just the decoder?

  • If HELIX_FEATURE_AUDIO_CODEC_ENCODER is defined in your profile, it will build the encoder. Otherwise it will build the decoder only.

Is there an optimized fixed-point version of the RealAudio 8 decoder too?


Copyright © 1995-2004 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.