Embedded MP2 audio encoder

Project name:
 Embedded MP2 audio encoder
   
Language: ANSI C (all fixed point maths)
   
Target platform: Currently Ti DSP c6000, but suited to most embedded processors
   
Abstract: This software module takes data in as stereo PCM and compresses it to an MP2 audio stream
   
Key features and advantages: The software is a complete tested solution, it has been heavily optimised and all calculations are done as integer maths.
   

Full Description

MP2 Audio Encoder is a high-quality MPEG-1 Audio Layer II PCM encoder written based on ISO/IEC standard aiming embedded applications. This library was originally developed to encode audio in real-time on Ti c6000 platform. MP2 remains a dominant standard for DVD, Digital Audio Broadcasting (DAB) and Digital Video Broadcasting (DVB) used in digital television standards.

Overview of MP2 audio encoder library

PCM input
Support standard input of 16-bit PCM samples.

Stereo/Mono encoding

Supports single channel or dual channel audio encoding

Adjustable Bitrate
Bitrate can be defined as required by the application.

Constant Bit-Rate (CBR)
CBR is used for encoding to maintain highest quality audio.

Fixed-point (integer) computations
It uses integer computations rather than floating point to gain maximum performance on architectures without a floating point unit.

Implemented based on the ISO/IEC standards
MP2 Decoder is implemented based on the ISO/IEC standard and it is not a derivation of the ISO reference source code. Considerable effort has been expended on porting this for embedded applications to ensure a correct implementation.

Performance Parameters

RAM requirements: xxkB minimum, typicall xxkB

Typical code space requirements: xxkB

Typical speed: Stereo 48KHz,128Kb/s at xx% processor load (DM648 @900MHz)

Embedded MP2 audio encoder Application Programming Interface

1. void subband_initialise ( )

This function needs to be called once before using the MP2 Audio Encoder.

2. void encode_audio (short *smp_tot_I, short *smp_next_I) 

This function encodes PCM data in to a MPEG-1 Layer II stream. Parameters of this function controls the pointers of the main PCM array. The caller does not required to adjust these pointers which will be done within the encoding process of this function.

Parameters:      smp_tot_I        -           Total PCM samples in PCM buffer

smp_next_I     -           Next free memory location of the PCM buffer 

Note:

Global PCM buffer window is defined as follows. User requires to copy PCM samples to given location by smp_next_I variable.

unsigned short pcm_data[5376];

 







This page was printed from: http://www.hynav.com/index.php?pcat=2&cat=7492&lang=1

© Race Technology Ltd '24