| Index: speex/include/speex/speex_stereo.h | 
| =================================================================== | 
| --- speex/include/speex/speex_stereo.h	(revision 0) | 
| +++ speex/include/speex/speex_stereo.h	(revision 0) | 
| @@ -0,0 +1,91 @@ | 
| +/* Copyright (C) 2002 Jean-Marc Valin*/ | 
| +/** | 
| +   @file speex_stereo.h | 
| +   @brief Describes the handling for intensity stereo | 
| +*/ | 
| +/* | 
| +   Redistribution and use in source and binary forms, with or without | 
| +   modification, are permitted provided that the following conditions | 
| +   are met: | 
| + | 
| +   - Redistributions of source code must retain the above copyright | 
| +   notice, this list of conditions and the following disclaimer. | 
| + | 
| +   - Redistributions in binary form must reproduce the above copyright | 
| +   notice, this list of conditions and the following disclaimer in the | 
| +   documentation and/or other materials provided with the distribution. | 
| + | 
| +   - Neither the name of the Xiph.org Foundation nor the names of its | 
| +   contributors may be used to endorse or promote products derived from | 
| +   this software without specific prior written permission. | 
| + | 
| +   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 
| +   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 
| +   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | 
| +   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR | 
| +   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | 
| +   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 
| +   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 
| +   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | 
| +   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | 
| +   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 
| +   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| +*/ | 
| + | 
| +#ifndef STEREO_H | 
| +#define STEREO_H | 
| +/** @defgroup SpeexStereoState SpeexStereoState: Handling Speex stereo files | 
| + *  This describes the Speex intensity stereo encoding/decoding | 
| + *  @{ | 
| + */ | 
| + | 
| +#include "speex/speex_types.h" | 
| +#include "speex/speex_bits.h" | 
| + | 
| +#ifdef __cplusplus | 
| +extern "C" { | 
| +#endif | 
| + | 
| +/** If you access any of these fields directly, I'll personally come and bite you */ | 
| +typedef struct SpeexStereoState { | 
| +   float balance;      /**< Left/right balance info */ | 
| +   float e_ratio;      /**< Ratio of energies: E(left+right)/[E(left)+E(right)]  */ | 
| +   float smooth_left;  /**< Smoothed left channel gain */ | 
| +   float smooth_right; /**< Smoothed right channel gain */ | 
| +   float reserved1;    /**< Reserved for future use */ | 
| +   float reserved2;    /**< Reserved for future use */ | 
| +} SpeexStereoState; | 
| + | 
| +/** Deprecated. Use speex_stereo_state_init() instead. */ | 
| +#define SPEEX_STEREO_STATE_INIT {1,.5,1,1,0,0} | 
| + | 
| +/** Initialise/create a stereo stereo state */ | 
| +SpeexStereoState *speex_stereo_state_init(); | 
| + | 
| +/** Reset/re-initialise an already allocated stereo state */ | 
| +void speex_stereo_state_reset(SpeexStereoState *stereo); | 
| + | 
| +/** Destroy a stereo stereo state */ | 
| +void speex_stereo_state_destroy(SpeexStereoState *stereo); | 
| + | 
| +/** Transforms a stereo frame into a mono frame and stores intensity stereo info in 'bits' */ | 
| +void speex_encode_stereo(float *data, int frame_size, SpeexBits *bits); | 
| + | 
| +/** Transforms a stereo frame into a mono frame and stores intensity stereo info in 'bits' */ | 
| +void speex_encode_stereo_int(spx_int16_t *data, int frame_size, SpeexBits *bits); | 
| + | 
| +/** Transforms a mono frame into a stereo frame using intensity stereo info */ | 
| +void speex_decode_stereo(float *data, int frame_size, SpeexStereoState *stereo); | 
| + | 
| +/** Transforms a mono frame into a stereo frame using intensity stereo info */ | 
| +void speex_decode_stereo_int(spx_int16_t *data, int frame_size, SpeexStereoState *stereo); | 
| + | 
| +/** Callback handler for intensity stereo info */ | 
| +int speex_std_stereo_request_handler(SpeexBits *bits, void *state, void *data); | 
| + | 
| +#ifdef __cplusplus | 
| +} | 
| +#endif | 
| + | 
| +/** @} */ | 
| +#endif | 
|  | 
| Property changes on: speex/include/speex/speex_stereo.h | 
| ___________________________________________________________________ | 
| Name: svn:executable | 
| + * | 
|  | 
|  |