Appendix A. Digital Media Conversion Libraries
Prev |  | Next

## Appendix A. Digital Media Conversion Libraries

This appendix contains the APIs of the individual image and audio conversion libraries. These libraries are not discussed in detail. As discussed in Chapter 6, “Digital Media Data Conversion,” most developers need only use the Image Conversion Library and the Audio Conversion Library. Those two libraries call the libraries described in this appendix as needed.

## The Color Space Library

The Color Space Library (CSL) provides developers with the ability to convert the color spaces, packings, subsamplings, and data types of images. It also enables them to perform operations on image data, such as adjusting contrast. Like the Image Conversion Library, the CSL uses parameters describing the source and destination images as well as the conversion settings to create a color converter The image parameters are set using a `DMparams` structure using `dmColorSetSrcParams()` and `dmColorSetDstParams()`. The conversion parameters are set with `dmColorSetConvParams()`. In most cases, only the source and destination packings need to be specified; all other values will default to appropriate values. The CSL supports the RGB, YCrCb, and Y (Luminance) color spaces.

Table A-1. The Color Space Library API

Function | Description
--- | ---
DMstatus `dmColorConvert` ( const DMcolorconverter converter, void *srcImage, void *dstImage ) | Perform the image conversion See also `dmColorConvert(3dm)`.
DMstatus `dmColorCreate` ( DMcolorconverter *converter ) | Create and initialize the color converter. See also `dmColorCreate(3dm)`.
DMstatus `dmColorDestroy` ( const DMcolorconverter converter ) | Destroy the color converter. See also `dmColorDestroy(3dm)`.
DMstatus `dmColorGetError` ( const DMcolorconverter converter, int *error ) | Return the value of the error flag. See also `dmColorGetError(3dm)`.
const char * `dmColorGetErrorString` ( const int error ) | Returns a text error message. See also `dmColorGetErrorString(3dm)`.
DMstatus `dmColorGetSrcSize` ( const DMcolorconverter converter, int *size ) | Get the source image size in bytes. See also `dmColorGetSrcSize(3dm)`.
DMstatus `dmColorGetDstSize` ( const DMcolorconverter converter, int *size ) | Get the destination image size in bytes. See also `dmColorGetSrcSize(3dm)`.
DMstatus `dmColorPrecompute` ( const DMcolorconverter converter ) | Perform any required early computations. See also `dmColorPrecompute(3dm)`.
DMstatus `dmColorSetBrightness` ( const DMcolorconverter converter, const float brightness ) | Set the brightness delta value. See also `dmColorSetBrightness(3dm)`.
DMstatus `dmColorGetBrightness` ( const DMcolorconverter converter, float *brightness ) | Get brightness delta value. See also `dmColorSetBrightness(3dm)`.
DMstatus `dmColorSetContrast` ( const DMcolorconverter converter, const float contrast ) | Set the contrast multiplier. See also `dmColorSetContrast(3dm)`.
DMstatus `dmColorGetContrast` ( const DMcolorconverter converter, float *contrast ) | Get the contrast multiplier. See also`dmColorSetContrast(3dm)`.
DMstatus `dmColorSetDefaultAlpha` ( const DMcolorconverter converter, const float defaultAlpha ) | Set the default alpha value of the source image. See also `dmColorSetDefaultAlpha(3dm)`.
DMstatus `dmColorGetDefaultAlpha` ( const DMcolorconverter converter, float *defaultAlpha ) | Get the default alpha value of the source image. See also `dmColorSetDefaultAlpha(3dm)`.
DMstatus `dmColorSetHue` ( const DMcolorconverter converter, const float hue ) | Set the hue rotation. See also `dmColorSetHue(3dm)`.
DMstatus `dmColorGetHue` ( const DMcolorconverter converter, float *hue ) | Get the hue rotation. See also `dmColorSetHue(3dm)`.
DMstatus `dmColorSetSaturation` ( const DMcolorconverter converter, const float saturation ) | Set the saturation multiplier. See also `dmColorSetSaturation(3dm)`.
DMstatus `dmColorGetSaturation` ( const DMcolorconverter converter, float *saturation ) | Get the saturation multiplier. See also `dmColorGetSaturation(3dm)`.
DMstatus `dmColorSetSrcParams` ( const DMcolorconverter converter, DMparams *scrParams ) | Set the source image parameters. See also `dmColorSetSrcParams(3dm)`.
DMstatus `dmColorSetConvParams` ( const DMcolorconverter converter, DMparams *convParams ) | Set the image conversion parameters. See also `dmColorSetConvParams(3dm)`.
DMstatus `dmColorSetDstParams` ( const DMcolorconverter converter, DMparams *dstParams ) | Set the destination image parameters. See also `dmColorSetSrcParams(3dm)`.
DMstatus `dmColorGetSrcParams` ( const DMcolorconverter converter, DMparams *scrParams ) | Get the source image parameters. See also`dmColorSetSrcParams(3dm)`.
DMstatus `dmColorGetConvParams` ( const DMcolorconverter converter, DMparams *convParams ) | Get the image conversion parameters. See also `dmColorGetConvParams(3dm)`.
DMstatus `dmColorGetDstParams` ( const DMcolorconverter converter, DMparams *dstParams ) | Get the destination image parameters. See also `dmColorSetSrcParams(3dm)`.
DMstatus `dmColorSetSubsamplingFilter` ( const DMcolorconverter converter, const int subsamplingFilter ) | Set the subsampling filter type. See also `dmColorSetSubsamplingFilter(3dm)`.
DMstatus `dmColorGetSubsamplingFilter` ( const DMcolorconverter converter, int *subsamplingFilter ) | Get the subsampling filter type. See also `dmColorSetSubsamplingFilter(3dm)`.

## The DVI Audio Compression Library

The DVI Audio Compression Library is based on Intel's Digital Video Interactive audio compression technology for multimedia applications. It implements the IMA (Interactive Multimedia Association) recommendations for ADPCM compression and decompression based on Intel's DVI algorithm.

Table A-2. The DVI Audio Library API

Function | Description
--- | ---
DMstatus `dmDVIAudioDecode` ( DMDVIaudiodecoder handle, unsigned char *ibuf, short *obuf, int nsamples ) | Do ADPCM decompression based on Intel's DVI algorithm. See also `dmDVIAudioDecode(3dm)`.
DMstatus `dmDVIAudioDecoderCreate` ( DMDVIaudiodecoder *decoder ) | Allocate a new DMDVIaudiodecoder structure. See also `dmDVIAudioDecoderCreate(3dm)`.
DMstatus `dmDVIAudioDecoderDestroy` ( DMDVIaudiodecoder handle ) | Deallocate a DMDVIaudiodecoder. See also `dmDVIAudioDecoderDestroy(3dm)`.
DMstatus `dmDVIAudioDecoderSetParams` ( DMDVIaudiodecoder handle, DMparams *params ) | Set parameter values for a DMDVIaudiodecoder structure. See also `dmDVIAudioDecoderSetParams(3dm)`.
DMstatus `dmDVIAudioDecoderGetParams` ( DMDVIaudiodecoder handle, DMparams *params ) | Get parameter values for a DMDVIaudiodecoder structure. See also `dmDVIAudioDecoderGetParams(3dm)`.
DMstatus `dmDVIAudioDecoderReset` ( DMDVIaudiodecoder handle ) | Fill buffers of a DMDVIaudiodecoder structure with zeroes. See also `dmDVIAudioDecoderReset(3dm)`.
DMstatus `dmDVIAudioEncode` ( DMDVIaudioencoder handle, short *ibuf, unsigned char *obuf, int nsamples ) | Do ADPCM compression based on Intel's DVI algorithm. See also `dmDVIAudioEncode(3dm)`.
DMstatus `dmDVIAudioEncoderCreate` ( DMDVIaudioencoder *encoder ) | Allocate a new DMDVIaudioencoder structure. See also`dmDVIAudioEncoderCreate(3dm)`.
DMstatus `dmDVIAudioEncoderDestroy` ( DMDVIaudioencoder handle ) | Deallocate a DMDVIaudioencoder structure. See also `dmDVIAudioEncoderDestroy(3dm)`.
DMstatus `dmDVIAudioEncoderSetParams` ( DMDVIaudioencoder handle, DMparams *params ) | Set parameter values for DMDVIaudioencoder structure. See also `dmDVIAudioEncoderSetParams(3dm)`.
DMstatus `dmDVIAudioEncoderGetParams` ( DMDVIaudioencoder handle, DMparams *params ) | Get parameter values for DMDVIaudioencoder structure. See also `dmDVIAudioEncoderGetParams(3dm)`.
DMstatus `dmDVIAudioEncoderReset` ( DMDVIaudioencoder handle ) | Fill buffers of a DMDVIaudioencoder structure with zeroes. See also `dmDVIAudioEncoderReset(3dm)`.

## The G.711 Audio Compression Library

This library implements International Telecommunication Union Standard (ITU-T, formerly CCITT) G.711 for compression and decompression. The standard is for 64 Kb/s, 8 kHz, 16-bit pulse code modulation (PCM) audio encoding of voice frequencies.

Table A-3. The G.711 Audio Compression Library API

Function | Description
--- | ---
void `dmG711MulawEncode` ( short *samples, unsigned char *mulawdata, int numsamples ) | Convert a 16-bit linear PCM value to an 8-bit μ-law value. See also `dmG711(3dm)`.
void `dmG711MulawDecode` ( unsigned char *mulawdata, short *samples, int numsamples ) | Convert an 8-bit μ-law value to a 16-bit linear PCM value. See also `dmG711(3dm)`.
void `dmG711MulawZeroTrapEncode` ( short *samples, unsigned char *mulawdata, int numsamples ) | Do ITU G.711 μ-law compression with zero trap during compression. See also `dmG711(3dm)`.
void `dmG711MulawZeroTrapDecode` ( unsigned char *mulawdata, short *samples, int numsamples ) | Same as `dmG711MulawDecode()`. See also`dmG711(3dm)`.
void `dmG711AlawEncode` ( short *samples, unsigned char *Alawdata, int numsamples ) | Convert a 16-bit linear PCM value to an 8-bit Α-law value. See also `dmG711(3dm)`.
void `dmG711AlawDecode` ( unsigned char *Alawdata, short *samples, int numsamples ) | Convert an 8-bit Α-law value to a 16-bit linear PCM value. See also `dmG711(3dm)`.
void `dmG711MulawToAlaw` ( unsigned char *mulawdata, unsigned char *Alawdata, int numsamples ) | Convert μ -law data to A-law data. See also`dmG711(3dm)`.
void `dmG711AlawToMulaw` ( unsigned char *Alawdata, unsigned char *mulawdata, int numsamples ) | Convert A-law date to μ-law data. See also`dmG711(3dm)`.
void `dmSunMulawEncode` ( short *samples, unsigned char *mulawdata, int numsamples ) | Convert a 16-bit linear PCM value to an 8-bit μ-law value using the conversion tables of Sun Microsystems. See also `dmG711(3dm)`.
void `dmSunMulawDecode` ( unsigned char *mulawdata, short *samples, int numsamples ) | Convert an 8-bit μ-law value to a 16-bit linear PCM value using the conversion tables of Sun Microsystems. See also `dmG711(3dm)`.
void `dmNeXTMulawEncode` ( short *samples, unsigned char *mulawdata, int numsamples ) | Convert a 16-bit linear PCM value to an 8-bit μ-law value using the conversion tables of NeXT Computers. See also `dmG711(3dm)`.
void `dmNeXTMulawDecode` ( unsigned char *mulawdata, short *samples, int numsamples ) | Convert an 8-bit μ-law value to a 16-bit linear PCM value using the conversion tables of NeXT Computers. See also `dmG711(3dm)`.

## The G.722 Audio Compression Library

This library implements International Telecommunication Union Standard (ITU-T, formerly CCITT) G.722 for compression and decompression. The standard is for 7 kHz audio encoding within 64 Kb/s.

Table A-4. The G.722 Audio Compression Library API

Function | Description
--- | ---
DMstatus `dmG722Decode` ( DMG722decoder handle, unsigned char *ibuf, short *obuf, int nsamples ) | Do G.722 decompression. See also`dmG722Decode(3dm)`.
DMstatus `dmG722DecoderCreate` ( DMG722decoder *decoder, int maxsamples, int decodemode ) | Allocate a new DMG722decoder structure. See also `dmG722DecoderCreate(3dm)`.
DMstatus `dmG722DecoderDestroy` ( DMG722decoder handle) | Deallocate a DMG722decoder structure. See also `dmG722DecoderDestroy(3dm)`.
DMstatus `dmG722DecoderGetParams` ( DMG722decoder handle, DMparams *params ) | Get parameter values for a DMG722decoder structure. See also`dmG722DecoderGetParams(3dm)`.
DMstatus `dmG722DecoderReset` ( DMG722decoder handle) | Fill buffers of a DMG722decoder structure with zeroes. See also `dmG722DecoderReset(3dm)`.
DMstatus `dmG722Encode` ( DMG722encoder handle, short *ibuf, unsigned char *obuf, int nsamples ) | Do G.722 compression. See also`dmG722Encode(3dm)`.
DMstatus `dmG722EncoderCreate` ( DMG722encoder *encoder, int maxsamples) | Allocate a new DMG722encoder structure. See also `dmG722EncoderCreate(3dm)`.
DMstatus `dmG722EncoderDestroy` ( DMG722encoder handle ) | Deallocate a DMG722Encoder structure. See also`dmG722EncoderDestroy(3dm)`.
DMstatus `dmG722EncoderGetParams` ( DMG722encoder handle, DMparams *params ) | Get parameter values for aDMG722encoder structure. See also`dmG722EncoderGetParams(3dm)`.
DMstatus `dmG722EncoderReset` ( DMG722encoder handle) | Fill buffers of a DMG722encoder structure with zeroes. See also `dmG722EncoderReset(3dm)`.

## The G.726 Audio Compression Library

This library implements International Telecommunication Union Standard (ITU-T, formerly CCITT) G.726 for ADPCM compression and decompression. The standard is for a compressed data bit stream of 40, 32, 24, or 16 Kb/s and a decompressed A-law, μ-law, or linear PCM data stream of 64 Kb/s.

Table A-5. The G.726 Audio Compression Library API

Function | Description
--- | ---
DMstatus `dmG726Decode` ( DMG726decoder handle, unsigned char *inBuffer, short *outBuffer, int numSamples ) | Do G.726 ADPCM decompression. See also`dmG726Decode(3dm)`.
DMstatus `dmG726DecoderCreate` ( DMG726decoder *decoder, int bitRate, int outputMode ) | Allocate a new DMG726decoder structure. See also `dmG726DecoderCreate(3dm)`.
DMstatus `dmG726DecoderDestroy` ( DMG726decoder handle ) | Deallocate a DMG726decoder structure. See also`dmG726DecoderDestroy(3dm)`.
DMstatus `dmG726DecoderSetParams` ( DMG726decoder handle, DMparams *params ) | Set a DMG726decoder structure's parameter values. See also`dmG726DecoderSetParams(3dm)`.
DMstatus `dmG726DecoderGetParams` ( DMG726decoder handle, DMparams *params ) | Get a DMG726decoder structure's parameter values. See also`dmG726DecoderGetParams(3dm)`.
DMstatus `dmG726DecoderReset` ( DMG726decoder handle ) | Fill a DMG726decoder structure's internal buffers with zeroes. See also`dmG726DecoderReset(3dm)`.
DMstatus `dmG726Encode` ( DMG726encoder handle, short *ibuf, unsigned char *obuf, int numSamples ) | Do G.726 ADPCM compression. See also`dmG726Encode(3dm)`.
DMstatus `dmG726EncoderCreate` ( DMG726encoder *encoder, int bitRate, int outputMode ) | Allocate a new DMG726encoder structure. See also `dmG726EncoderCreate(3dm)`.
DMstatus `dmG726EncoderDestroy` ( DMG726encoder handle ) | Deallocate a DMG726Encoder structure. See also `dmG726EncoderDestroy(3dm)`.
DMstatus `dmG72EncoderSetParams` ( DMG726encoder handle, DMparams *params ) | Set a DMG726encoder structure's parameter values. See also`dmG726EncoderSetParams(3dm)`.
DMstatus `dmG726EncoderGetParams` ( DMG726encoder handle, DMparams *params ) | Get a DMG726decoder structure's parameter values. See also`dmG726EncoderGetParams(3dm)`.
DMstatus `dmG726EncoderReset` ( DMG726encoder handle ) | Fill a DMG726encoder structure's internal buffers with zeroes. See also`dmG726EncoderReset(3dm)`.

## The G.728 Audio Compression Library

This library implements International Telecommunication Union Standard (ITU-T, formerly CCITT) G.728 for the audio encoding used in videoconferencing. The standard controls the coding of speech at 16 Kb/s using Low-Delay Code Excited Linear Prediction (LD-CELP).

Table A-6. The G.728 Audio Compression Library API

Function | Description
--- | ---
DMstatus `dmG728Decode` ( DMG728decoder handle, unsigned char *ibuf, short *obuf, int nsamples ) | Do ITU G.728 decompression (LD-CELP). See also `dmG728Decode(3dm)`.
DMstatus `dmG728DecoderCreate` ( DMG728decoder *decoder ) | Allocate a new DMG728decoder structure. See also `dmG728DecoderCreate(3dm)`.
DMstatus `dmG728DecoderDestroy` ( DMG728decoder handle ) | Deallocate a DMG728decoder structure. See also`dmG728DecoderDestroy(3dm)`.
DMstatus `dmG728DecoderGetParams` ( DMG728decoder handle, DMparams *params ) | Get the parameter values of a DMG728decoder structure. See also`dmG728DecoderGetParams(3dm)`.
DMstatus `dmG728DecoderSetParams` ( DMG728decoder handle, DMparams *params ) | Set the parameter values of a DMG728decoder structure. See also`dmG728DecoderSetParams(3dm)`.
DMstatus `dmG728DecoderReset` ( DMG728decoder handle ) | Fill internal buffers of a DMG728decoder structure with zeroes. See also`dmG728DecoderReset(3dm)`.
DMstatus `dmG728Encode` ( DMG728encoder handle, short *ibuf, unsigned char *obuf, int nsamples ) | Do G.728 compression (LD-CELP). See also`dmG728Encode(3dm)`.
DMstatus `dmG728EncoderCreate` ( DMG728encoder *encoder ) | Allocate a new DMG728encoder structure. See also `dmG728EncoderCreate(3dm)`.
DMstatus `dmG728EncoderDestroy` ( DMG728encoder handle ) | Deallocate a DMG728Encoder structure. See also `dmG728EncoderDestroy(3dm)`.
DMstatus `dmG728EncoderGetParams` ( DMG728encoder handle, DMparams *params ) | Get the parameter values of a DMG728encoder structure. See also `dmG728EncoderGetParams(3dm)`.
DMstatus `dmG728EncoderReset` ( DMG728encoder handle ) | Fill the internal buffers of a DMG728encoder structure with zeroes. See also `dmG728EncoderReset(3dm)`.

## The GSM Audio Compression Library

This library implements the European Global System for Mobile telecommunication (GSM) 06.10 provisional standard used for digital cellular phones. The standard, prI-ETS 300 036, describes full-rate speech transcoding which uses RPE–LTP (Regular–Pulse Excitation Long–Term Predictor)) coding at 13 Kb/s.

Table A-7. The GSM Audio Compression Library API

Function | Description
--- | ---
DMstatus `dmGSMDecode` ( DMGSMdecoder handle, unsigned char *ibuf, short *obuf, int numSamples ) | Do GSM decoding. See also`dmGSMDecode(3dm)`.
DMstatus `dmGSMDecoderCreate` ( DMGSMdecoder *decoder ) | Allocate a new DMGSMdecoder structure. See also `dmGSMDecoderCreate(3dm)`.
DMstatus `dmGSMDecoderDestroy` ( DMGSMdecoder handle ) | Deallocate a DMGSMdecoder structure. See also`dmGSMDecoderDestroy(3dm)`.
DMstatus `dmGSMDecoderGetParams` ( DMGSMdecoder handle, DMparams *params ) | Get the parameter values of a DMGSMdecoder structure. See also`dmGSMDecoderGetParams(3dm)`.
DMstatus `dmGSMDecoderReset` ( DMGSMdecoder handle ) | Fill internal buffers of a DMGSMdecoder structure with zeroes. See also `dmGSMDecoderReset(3dm)`.
DMstatus `dmGSMEncode` ( DMGSMencoder handle, short *ibuf, unsigned char *obuf, int numSamples ) | Do GSM encoding. See also`dmGSMEncode(3dm)`.
DMstatus `dmGSMEncoderCreate` ( DMGSMencoder *encoder ) | Allocate a new DMGSMencoder structure. See also `dmGSMEncoderCreate(3dm)`.
DMstatus `dmGSMEncoderDestroy` ( DMGSMencoder handle ) | Deallocate a DMGSMEncoder structure. See also`dmGSMEncoderDestroy(3dm)`.
DMstatus `dmGSMEncoderGetParams` ( DMGSMencoder handle, DMparams *params ) | Get the parameter values of a DMGSMencoder structure. See also`dmGSMEncoderGetParams(3dm)`.
DMstatus `dmGSMEncoderReset` ( DMGSMencoder handle ) | Fill internal buffers of a DMGSMencoder structure with zeroes. See also `dmGSMEncoderReset(3dm)`.

## The MPEG-1 Audio Compression Library

This library implements the Moving Pictures Experts Group MPEG-1 audio standard. The standard is designed for encoding non-interlaced material and is optimized for single-speed CD-ROM bit rates (about 1.5 Mb/s). The compression is based on subband coding with adaptive quantization. Input data is divided into different frequency bands which are weighted by their perceptual importance. Mono and stereo sources are supported at sampling rates of 32, 44.1 and 48 kHz. Allowable bit rates range from 32 to 448 Kb/s.

Table A-8. The MPEG-1 Audio Compression Library API

Function | Description
--- | ---
DMstatus `dmMPEG1AudioDecode` ( DMMPEG1audiodecoder decoder, unsigned char *cmpData, short *output, int fmtBytes ) | Decode a single compressed block of data created by a call to `dmMPEG1AudioEncode()`. See also `dmMPEG1AudioDecode(3dm)`.
DMstatus `dmMPEG1AudioDecoderCreate` ( DMMPEG1audiodecoder *decoder ) | Allocate a new DMMPEG1audiodecoder structure. See also`dmMPEG1AudioDecoderCreate(3dm)`.
DMstatus `dmMPEG1AudioDecoderDestroy` ( DMMPEG1audiodecoder decoder) | Deallocate an DMMPEG1audiodecoder structure. See also`dmMPEG1AudioDecoderDestroy(3dm)`.
DMstatus `dmMPEG1AudioDecoderGetParams` ( DMMPEG1audiodecoder decoder, DMparams *params ) | Get the parameter values for a DMMPEG1audiodecoder structure. See also`dmMPEG1AudioDecoderGetParams(3dm)`.
DMstatus `dmMPEG1AudioDecoderSetParams` ( DMMPEG1audiodecoder decoder, DMparams *params ) | Set the parameter values for a DMMPEG1audiodecoder structure. See also`dmMPEG1AudioDecoderSetParams(3dm)`.
DMstatus `dmMPEG1AudioDecoderReset` ( DMMPEG1audiodecoder handle ) | Fill the internal buffers of an DMMPEG1audiodecoder structure with zeros. See also `dmMPEG1AudioDecoderReset(3dm)`.
DMstatus `dmMPEG1AudioEncode` ( DMAudioRateConverter encoder, short *sampBuf, unsigned char *output, int frameBytes ) | Compress a single block of audio data using MPEG-1 audio compression algorithm. See also `dmMPEG1AudioEncode(3dm)`.
DMstatus `dmMPEG1AudioEncoderCreate` ( DMMPEG1audioencoder *encoder ) | Allocate a new DMMPEG1audioencoder structure. See also `dmMPEG1AudioEncoderCreate(3dm)`.
DMstatus `dmMPEG1AudioEncoderDestroy` ( DMMPEG1audioencoder encoder) | Deallocate a DMMPEG1audioencoder structure. See also `dmMPEG1AudioEncoderDestroy(3dm)`.
DMstatus `dmMPEG1AudioEncoderGetParams` ( DMMPEG1audioencoder encoder, DMparams *params ) | Get the parameter values for an DMMPEG1audioencoder structure. See also `dmMPEG1AudioEncoderGetParams(3dm)`.
DMstatus `dmMPEG1AudioEncoderSetParams` ( DMMPEG1audioencoder encoder, DMparams *params ) | Set the parameter values for an DMMPEG1audioencoder structure. See also `dmMPEG1AudioEncoderSetParams(3dm)`.
DMstatus `dmMPEG1AudioEncoderReset` ( DMMPEG1audioencoder handle ) | Fill the internal buffers of a DMMPEG1audioencoder with zeros. See also `dmMPEG1AudioEncoderReset(3dm)`.
DMstatus `dmMPEG1AudioFilterStateCreate` ( DMMPEG1audiofilterstate *filterState) | Allocate a new DMMPEG1audiofilterstate structure. See also `dmMPEG1AudioFilterStateCreate(3dm)`.
DMstatus `dmMPEG1AudioFilterStateDestroy` ( DMMPEG1audiofilterstate filterState) | Free a DMMPEG1audiofilterstate structure. See also `dmMPEG1AudioFilterStateDestroy(3dm)`.
DMstatus `dmMPEG1AudioFilterStateRestore` ( void *coder, DMMPEG1audiofilterstate filterState ) | Restore a DMMPEG1audiofilterstate structure. See also `dmMPEG1AudioFilterStateRestore(3dm)`.
DMstatus `dmMPEG1AudioFilterStateSave` ( void *coder, DMMPEG1audiofilterstate filterState ) | Save a DMMPEG1audiofilterstate structure. See also `dmMPEG1AudioFilterStateSave(3dm)`.
DMstatus `dmMPEG1AudioHeaderGetBlockBytes` ( DMMPEG1audiodecoder decoder, unsigned char *cmpData, int *blockSize ) | Get the expected length in bytes of a compressed data block. See also `dmMPEG1AudioHeaderGetBlockBytes(3dm)`.
DMstatus `dmMPEG1AudioHeaderGetParams` ( unsigned char *cmpData, DMparams *params ) | Get decoder parameter information from the header of a compressed MPEG-1 audio data block. See also `dmMPEG1AudioHeaderGetParams(3dm)`.

## The Audio Rate Conversion Library

This library enables the sampling rate conversion of single-channel, 32-bit, floating point audio data.

Table A-9. The Audio Rate Conversion Library API

Function | Description
--- | ---
DMstatus `dmAudioRateConvert` ( DMaudiorateconverter handle, float *inbuf, float *outbuf, int inlen, int *numout ) | Convert the data sampling rate. See also `dmAudioRateConvert(3dm)`.
DMstatus `dmAudioRateConverterCreate` ( DMaudiorateconverter *converter ) | Allocate a new DMaudiorateconverter structure. See also `dmAudioRateConverterCreate(3dm)`.
DMstatus `dmAudioRateConverterDestroy` ( DMaudiorateconverter handle) | Deallocate an DMaudiorateconverter structure. See also `dmAudioRateConverterDestroy(3dm)`.
DMstatus `dmAudioRateConverterGetParams` ( DMaudiorateconverter handle, DMparams *params ) | Get the parameter values of a DMaudiorateconverter structure. See also `dmAudioRateConverterGetParams(3dm)`.
DMstatus `dmAudioRateConverterSetParams` ( DMaudiorateconverter handle, DMparams *params ) | Set the parameter values of a DMaudiorateconverter structure. See also `dmAudioRateConverterSetParams(3dm)`.
DMstatus `dmAudioRateConverterReset` ( DMaudiorateconverter handle, float resetval ) | Fill the internal buffers of a DMaudiorateconverter structure with a constant value. See also `dmAudioRateConverterReset(3dm)`.

Prev | Table of Contents | Next
Chapter 7. Digital Media Audio File Operations |  | Index