Mercurial > audlegacy
diff Plugins/Input/aac/libfaad2/sbr_dec.h @ 1010:29feaace84d0 trunk
[svn] - synchronize audacious-faad with FAAD2 CVS.
author | nenolod |
---|---|
date | Mon, 08 May 2006 06:56:47 -0700 |
parents | 0a2ad94e8607 |
children | 1e6c0a3f2d15 |
line wrap: on
line diff
--- a/Plugins/Input/aac/libfaad2/sbr_dec.h Mon May 08 06:00:19 2006 -0700 +++ b/Plugins/Input/aac/libfaad2/sbr_dec.h Mon May 08 06:56:47 2006 -0700 @@ -1,19 +1,19 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding ** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. -** +** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. -** +** ** You should have received a copy of the GNU General Public License -** along with this program; if not, write to the Free Software +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly @@ -22,7 +22,7 @@ ** Commercial non-GPL licensing of this software is possible. ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. ** -** $Id: sbr_dec.h,v 1.35 2004/09/04 14:56:28 menno Exp $ +** $Id: sbr_dec.h,v 1.23 2004/02/04 20:07:24 menno Exp $ **/ #ifndef __SBR_DEC_H__ @@ -43,27 +43,24 @@ #define MAX_NTSRHFG 40 #define MAX_NTSR 32 /* max number_time_slots * rate, ok for DRM and not DRM mode */ -/* MAX_M: maximum value for M */ -#define MAX_M 49 -/* MAX_L_E: maximum value for L_E */ -#define MAX_L_E 5 typedef struct { real_t *x; - int16_t x_index; uint8_t channels; } qmfa_info; typedef struct { - real_t *v; - int16_t v_index; + real_t *v[2]; + uint8_t v_index; uint8_t channels; +#ifdef USE_SSE + void (*qmf_func)(void *a, void *b, void *c, void *d); +#endif } qmfs_info; typedef struct { uint32_t sample_rate; - uint32_t maxAACLine; uint8_t rate; uint8_t just_seeked; @@ -101,33 +98,27 @@ uint8_t L_E_prev[2]; uint8_t L_Q[2]; - uint8_t t_E[2][MAX_L_E+1]; + uint8_t t_E[2][6]; uint8_t t_Q[2][3]; - uint8_t f[2][MAX_L_E+1]; + uint8_t f[2][6]; uint8_t f_prev[2]; real_t *G_temp_prev[2][5]; real_t *Q_temp_prev[2][5]; - int8_t GQ_ringbuf_index[2]; - int16_t E[2][64][MAX_L_E]; + int16_t E[2][64][5]; int16_t E_prev[2][64]; -#ifndef FIXED_POINT - real_t E_orig[2][64][MAX_L_E]; -#endif - real_t E_curr[2][64][MAX_L_E]; + real_t E_orig[2][64][5]; + real_t E_curr[2][64][5]; int32_t Q[2][64][2]; -#ifndef FIXED_POINT - real_t Q_div[2][64][2]; - real_t Q_div2[2][64][2]; -#endif int32_t Q_prev[2][64]; + real_t Q_orig[2][64][2]; int8_t l_A[2]; int8_t l_A_prev[2]; - uint8_t bs_invf_mode[2][MAX_L_E]; - uint8_t bs_invf_mode_prev[2][MAX_L_E]; + uint8_t bs_invf_mode[2][5]; + uint8_t bs_invf_mode_prev[2][5]; real_t bwArray[2][64]; real_t bwArray_prev[2][64]; @@ -151,10 +142,6 @@ int8_t prevEnvIsShort[2]; int8_t kx_prev; - uint8_t bsco; - uint8_t bsco_prev; - uint8_t M_prev; - uint16_t frame_len; uint8_t Reset; uint32_t frame; @@ -165,21 +152,24 @@ qmfs_info *qmfs[2]; qmf_t Xsbr[2][MAX_NTSRHFG][64]; + qmf_t Xcodec[2][MAX_NTSRHFG][32]; #ifdef DRM + int8_t lcstereo_flag; + uint8_t bs_dataextra; uint8_t Is_DRM_SBR; #ifdef DRM_PS - drm_ps_info *drm_ps; + drm_ps_info drm_ps; #endif #endif - uint8_t numTimeSlotsRate; - uint8_t numTimeSlots; - uint8_t tHFGen; - uint8_t tHFAdj; + uint8_t numTimeSlotsRate; + uint8_t numTimeSlots; + uint8_t tHFGen; + uint8_t tHFAdj; #ifdef PS_DEC - ps_info *ps; + ps_info ps; #endif #if (defined(PS_DEC) || defined(DRM_PS)) uint8_t ps_used; @@ -225,20 +215,20 @@ } sbr_info; sbr_info *sbrDecodeInit(uint16_t framelength, uint8_t id_aac, - uint32_t sample_rate, uint8_t downSampledSBR + uint32_t sample_rate #ifdef DRM - , uint8_t IsDRM + , uint8_t IsDRM #endif - ); + ); void sbrDecodeEnd(sbr_info *sbr); uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_chan, - const uint8_t just_seeked, const uint8_t downSampledSBR); + const uint8_t just_seeked, const uint8_t upsample_only); uint8_t sbrDecodeSingleFrame(sbr_info *sbr, real_t *channel, - const uint8_t just_seeked, const uint8_t downSampledSBR); + const uint8_t just_seeked, const uint8_t upsample_only); #if (defined(PS_DEC) || defined(DRM_PS)) uint8_t sbrDecodeSingleFramePS(sbr_info *sbr, real_t *left_channel, real_t *right_channel, - const uint8_t just_seeked, const uint8_t downSampledSBR); + const uint8_t just_seeked, const uint8_t upsample_only); #endif