From 37d4ab77290e4b906df51a7012576e6aec0fc605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Thu, 31 May 2007 20:29:27 +0200 Subject: Move libfaad in contrib/ and contextually move the plugin in src/libxineadec/. --HG-- rename : src/libfaad/Makefile.am => contrib/libfaad/Makefile.am rename : src/libfaad/analysis.h => contrib/libfaad/analysis.h rename : src/libfaad/bits.c => contrib/libfaad/bits.c rename : src/libfaad/bits.h => contrib/libfaad/bits.h rename : src/libfaad/cfft.c => contrib/libfaad/cfft.c rename : src/libfaad/cfft.h => contrib/libfaad/cfft.h rename : src/libfaad/cfft_tab.h => contrib/libfaad/cfft_tab.h rename : src/libfaad/codebook/Makefile.am => contrib/libfaad/codebook/Makefile.am rename : src/libfaad/codebook/hcb.h => contrib/libfaad/codebook/hcb.h rename : src/libfaad/codebook/hcb_1.h => contrib/libfaad/codebook/hcb_1.h rename : src/libfaad/codebook/hcb_10.h => contrib/libfaad/codebook/hcb_10.h rename : src/libfaad/codebook/hcb_11.h => contrib/libfaad/codebook/hcb_11.h rename : src/libfaad/codebook/hcb_2.h => contrib/libfaad/codebook/hcb_2.h rename : src/libfaad/codebook/hcb_3.h => contrib/libfaad/codebook/hcb_3.h rename : src/libfaad/codebook/hcb_4.h => contrib/libfaad/codebook/hcb_4.h rename : src/libfaad/codebook/hcb_5.h => contrib/libfaad/codebook/hcb_5.h rename : src/libfaad/codebook/hcb_6.h => contrib/libfaad/codebook/hcb_6.h rename : src/libfaad/codebook/hcb_7.h => contrib/libfaad/codebook/hcb_7.h rename : src/libfaad/codebook/hcb_8.h => contrib/libfaad/codebook/hcb_8.h rename : src/libfaad/codebook/hcb_9.h => contrib/libfaad/codebook/hcb_9.h rename : src/libfaad/codebook/hcb_sf.h => contrib/libfaad/codebook/hcb_sf.h rename : src/libfaad/common.c => contrib/libfaad/common.c rename : src/libfaad/common.h => contrib/libfaad/common.h rename : src/libfaad/decoder.c => contrib/libfaad/decoder.c rename : src/libfaad/decoder.h => contrib/libfaad/decoder.h rename : src/libfaad/diff_to_faad2_cvs.patch => contrib/libfaad/diff_to_faad2_cvs.patch rename : src/libfaad/drc.c => contrib/libfaad/drc.c rename : src/libfaad/drc.h => contrib/libfaad/drc.h rename : src/libfaad/drm_dec.c => contrib/libfaad/drm_dec.c rename : src/libfaad/drm_dec.h => contrib/libfaad/drm_dec.h rename : src/libfaad/error.c => contrib/libfaad/error.c rename : src/libfaad/error.h => contrib/libfaad/error.h rename : src/libfaad/faad.h => contrib/libfaad/faad.h rename : src/libfaad/filtbank.c => contrib/libfaad/filtbank.c rename : src/libfaad/filtbank.h => contrib/libfaad/filtbank.h rename : src/libfaad/fixed.h => contrib/libfaad/fixed.h rename : src/libfaad/hcr.c => contrib/libfaad/hcr.c rename : src/libfaad/huffman.c => contrib/libfaad/huffman.c rename : src/libfaad/huffman.h => contrib/libfaad/huffman.h rename : src/libfaad/ic_predict.c => contrib/libfaad/ic_predict.c rename : src/libfaad/ic_predict.h => contrib/libfaad/ic_predict.h rename : src/libfaad/iq_table.h => contrib/libfaad/iq_table.h rename : src/libfaad/is.c => contrib/libfaad/is.c rename : src/libfaad/is.h => contrib/libfaad/is.h rename : src/libfaad/kbd_win.h => contrib/libfaad/kbd_win.h rename : src/libfaad/lt_predict.c => contrib/libfaad/lt_predict.c rename : src/libfaad/lt_predict.h => contrib/libfaad/lt_predict.h rename : src/libfaad/mdct.c => contrib/libfaad/mdct.c rename : src/libfaad/mdct.h => contrib/libfaad/mdct.h rename : src/libfaad/mdct_tab.h => contrib/libfaad/mdct_tab.h rename : src/libfaad/mp4.c => contrib/libfaad/mp4.c rename : src/libfaad/mp4.h => contrib/libfaad/mp4.h rename : src/libfaad/ms.c => contrib/libfaad/ms.c rename : src/libfaad/ms.h => contrib/libfaad/ms.h rename : src/libfaad/output.c => contrib/libfaad/output.c rename : src/libfaad/output.h => contrib/libfaad/output.h rename : src/libfaad/pns.c => contrib/libfaad/pns.c rename : src/libfaad/pns.h => contrib/libfaad/pns.h rename : src/libfaad/ps_dec.c => contrib/libfaad/ps_dec.c rename : src/libfaad/ps_dec.h => contrib/libfaad/ps_dec.h rename : src/libfaad/ps_syntax.c => contrib/libfaad/ps_syntax.c rename : src/libfaad/ps_tables.h => contrib/libfaad/ps_tables.h rename : src/libfaad/pulse.c => contrib/libfaad/pulse.c rename : src/libfaad/pulse.h => contrib/libfaad/pulse.h rename : src/libfaad/rvlc.c => contrib/libfaad/rvlc.c rename : src/libfaad/rvlc.h => contrib/libfaad/rvlc.h rename : src/libfaad/sbr_dct.c => contrib/libfaad/sbr_dct.c rename : src/libfaad/sbr_dct.h => contrib/libfaad/sbr_dct.h rename : src/libfaad/sbr_dec.c => contrib/libfaad/sbr_dec.c rename : src/libfaad/sbr_dec.h => contrib/libfaad/sbr_dec.h rename : src/libfaad/sbr_e_nf.c => contrib/libfaad/sbr_e_nf.c rename : src/libfaad/sbr_e_nf.h => contrib/libfaad/sbr_e_nf.h rename : src/libfaad/sbr_fbt.c => contrib/libfaad/sbr_fbt.c rename : src/libfaad/sbr_fbt.h => contrib/libfaad/sbr_fbt.h rename : src/libfaad/sbr_hfadj.c => contrib/libfaad/sbr_hfadj.c rename : src/libfaad/sbr_hfadj.h => contrib/libfaad/sbr_hfadj.h rename : src/libfaad/sbr_hfgen.c => contrib/libfaad/sbr_hfgen.c rename : src/libfaad/sbr_hfgen.h => contrib/libfaad/sbr_hfgen.h rename : src/libfaad/sbr_huff.c => contrib/libfaad/sbr_huff.c rename : src/libfaad/sbr_huff.h => contrib/libfaad/sbr_huff.h rename : src/libfaad/sbr_noise.h => contrib/libfaad/sbr_noise.h rename : src/libfaad/sbr_qmf.c => contrib/libfaad/sbr_qmf.c rename : src/libfaad/sbr_qmf.h => contrib/libfaad/sbr_qmf.h rename : src/libfaad/sbr_qmf_c.h => contrib/libfaad/sbr_qmf_c.h rename : src/libfaad/sbr_syntax.c => contrib/libfaad/sbr_syntax.c rename : src/libfaad/sbr_syntax.h => contrib/libfaad/sbr_syntax.h rename : src/libfaad/sbr_tf_grid.c => contrib/libfaad/sbr_tf_grid.c rename : src/libfaad/sbr_tf_grid.h => contrib/libfaad/sbr_tf_grid.h rename : src/libfaad/sine_win.h => contrib/libfaad/sine_win.h rename : src/libfaad/specrec.c => contrib/libfaad/specrec.c rename : src/libfaad/specrec.h => contrib/libfaad/specrec.h rename : src/libfaad/ssr.c => contrib/libfaad/ssr.c rename : src/libfaad/ssr.h => contrib/libfaad/ssr.h rename : src/libfaad/ssr_fb.c => contrib/libfaad/ssr_fb.c rename : src/libfaad/ssr_fb.h => contrib/libfaad/ssr_fb.h rename : src/libfaad/ssr_ipqf.c => contrib/libfaad/ssr_ipqf.c rename : src/libfaad/ssr_ipqf.h => contrib/libfaad/ssr_ipqf.h rename : src/libfaad/ssr_win.h => contrib/libfaad/ssr_win.h rename : src/libfaad/structs.h => contrib/libfaad/structs.h rename : src/libfaad/syntax.c => contrib/libfaad/syntax.c rename : src/libfaad/syntax.h => contrib/libfaad/syntax.h rename : src/libfaad/tns.c => contrib/libfaad/tns.c rename : src/libfaad/tns.h => contrib/libfaad/tns.h rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c --- src/libfaad/lt_predict.c | 215 ----------------------------------------------- 1 file changed, 215 deletions(-) delete mode 100644 src/libfaad/lt_predict.c (limited to 'src/libfaad/lt_predict.c') diff --git a/src/libfaad/lt_predict.c b/src/libfaad/lt_predict.c deleted file mode 100644 index 3aab00426..000000000 --- a/src/libfaad/lt_predict.c +++ /dev/null @@ -1,215 +0,0 @@ -/* -** 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 -** 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 -** forbidden. -** -** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. -** -** $Id: lt_predict.c,v 1.7 2005/10/29 23:57:07 tmmm Exp $ -**/ - - -#include "common.h" -#include "structs.h" - -#ifdef LTP_DEC - -#include -#include "syntax.h" -#include "lt_predict.h" -#include "filtbank.h" -#include "tns.h" - - -/* static function declarations */ -static int16_t real_to_int16(real_t sig_in); - - -/* check if the object type is an object type that can have LTP */ -uint8_t is_ltp_ot(uint8_t object_type) -{ -#ifdef LTP_DEC - if ((object_type == LTP) -#ifdef ERROR_RESILIENCE - || (object_type == ER_LTP) -#endif -#ifdef LD_DEC - || (object_type == LD) -#endif -#ifdef SCALABLE_DEC - || (object_type == 6) /* TODO */ -#endif - ) - { - return 1; - } -#endif - - return 0; -} - -ALIGN static const real_t codebook[8] = -{ - REAL_CONST(0.570829), - REAL_CONST(0.696616), - REAL_CONST(0.813004), - REAL_CONST(0.911304), - REAL_CONST(0.984900), - REAL_CONST(1.067894), - REAL_CONST(1.194601), - REAL_CONST(1.369533) -}; - -void lt_prediction(ic_stream *ics, ltp_info *ltp, real_t *spec, - int16_t *lt_pred_stat, fb_info *fb, uint8_t win_shape, - uint8_t win_shape_prev, uint8_t sr_index, - uint8_t object_type, uint16_t frame_len) -{ - uint8_t sfb; - uint16_t bin, i, num_samples; - ALIGN real_t x_est[2048]; - ALIGN real_t X_est[2048]; - - if (ics->window_sequence != EIGHT_SHORT_SEQUENCE) - { - if (ltp->data_present) - { - num_samples = frame_len << 1; - - for(i = 0; i < num_samples; i++) - { - /* The extra lookback M (N/2 for LD, 0 for LTP) is handled - in the buffer updating */ - -#if 0 - x_est[i] = MUL_R_C(lt_pred_stat[num_samples + i - ltp->lag], - codebook[ltp->coef]); -#else - /* lt_pred_stat is a 16 bit int, multiplied with the fixed point real - this gives a real for x_est - */ - x_est[i] = (real_t)lt_pred_stat[num_samples + i - ltp->lag] * codebook[ltp->coef]; -#endif - } - - filter_bank_ltp(fb, ics->window_sequence, win_shape, win_shape_prev, - x_est, X_est, object_type, frame_len); - - tns_encode_frame(ics, &(ics->tns), sr_index, object_type, X_est, - frame_len); - - for (sfb = 0; sfb < ltp->last_band; sfb++) - { - if (ltp->long_used[sfb]) - { - uint16_t low = ics->swb_offset[sfb]; - uint16_t high = ics->swb_offset[sfb+1]; - - for (bin = low; bin < high; bin++) - { - spec[bin] += X_est[bin]; - } - } - } - } - } -} - -#ifdef FIXED_POINT -static INLINE int16_t real_to_int16(real_t sig_in) -{ - if (sig_in >= 0) - { - sig_in += (1 << (REAL_BITS-1)); - if (sig_in >= REAL_CONST(32768)) - return 32767; - } else { - sig_in += -(1 << (REAL_BITS-1)); - if (sig_in <= REAL_CONST(-32768)) - return -32768; - } - - return (sig_in >> REAL_BITS); -} -#else -static INLINE int16_t real_to_int16(real_t sig_in) -{ - if (sig_in >= 0) - { -#ifndef HAS_LRINTF - sig_in += 0.5f; -#endif - if (sig_in >= 32768.0f) - return 32767; - } else { -#ifndef HAS_LRINTF - sig_in += -0.5f; -#endif - if (sig_in <= -32768.0f) - return -32768; - } - - return lrintf(sig_in); -} -#endif - -void lt_update_state(int16_t *lt_pred_stat, real_t *time, real_t *overlap, - uint16_t frame_len, uint8_t object_type) -{ - uint16_t i; - - /* - * The reference point for index i and the content of the buffer - * lt_pred_stat are arranged so that lt_pred_stat(0 ... N/2 - 1) contains the - * last aliased half window from the IMDCT, and lt_pred_stat(N/2 ... N-1) - * is always all zeros. The rest of lt_pred_stat (i<0) contains the previous - * fully reconstructed time domain samples, i.e., output of the decoder. - * - * These values are shifted up by N*2 to avoid (i<0) - * - * For the LD object type an extra 512 samples lookback is accomodated here. - */ -#ifdef LD_DEC - if (object_type == LD) - { - for (i = 0; i < frame_len; i++) - { - lt_pred_stat[i] /* extra 512 */ = lt_pred_stat[i + frame_len]; - lt_pred_stat[frame_len + i] = lt_pred_stat[i + (frame_len * 2)]; - lt_pred_stat[(frame_len * 2) + i] = real_to_int16(time[i]); - lt_pred_stat[(frame_len * 3) + i] = real_to_int16(overlap[i]); - } - } else { -#endif - for (i = 0; i < frame_len; i++) - { - lt_pred_stat[i] = lt_pred_stat[i + frame_len]; - lt_pred_stat[frame_len + i] = real_to_int16(time[i]); - lt_pred_stat[(frame_len * 2) + i] = real_to_int16(overlap[i]); -#if 0 /* set to zero once upon initialisation */ - lt_pred_stat[(frame_len * 3) + i] = 0; -#endif - } -#ifdef LD_DEC - } -#endif -} - -#endif -- cgit v1.2.3