diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-11-04 02:40:09 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-11-04 02:40:09 +0000 |
commit | f8c39a08f6ff651221ff896f8a174abf635f3a0a (patch) | |
tree | ac950750c9c1b65bb563df9c6506858c7f8f30c1 /codecs/mp3/src/csbt.c | |
parent | ad46ab972ccf439d1dd3a533335b54089c53e431 (diff) |
Remove really broke MP3 stuff in favor of G.726 in the near future
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1689 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'codecs/mp3/src/csbt.c')
-rwxr-xr-x | codecs/mp3/src/csbt.c | 345 |
1 files changed, 0 insertions, 345 deletions
diff --git a/codecs/mp3/src/csbt.c b/codecs/mp3/src/csbt.c deleted file mode 100755 index bb9079526..000000000 --- a/codecs/mp3/src/csbt.c +++ /dev/null @@ -1,345 +0,0 @@ -/*____________________________________________________________________________ - - FreeAmp - The Free MP3 Player - - MP3 Decoder originally Copyright (C) 1995-1997 Xing Technology - Corp. http://www.xingtech.com - - Portions Copyright (C) 1998 EMusic.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., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -____________________________________________________________________________*/ - -/**** csbt.c *************************************************** - -MPEG audio decoder, dct and window -portable C - -1/7/96 mod for Layer III - -******************************************************************/ - -#include <stdlib.h> -#include <stdio.h> -#include <float.h> -#include <math.h> -#include "L3.h" -#include "mhead.h" - -void fdct32(MPEG *m, float *, float *); -void fdct32_dual(MPEG *m, float *, float *); -void fdct32_dual_mono(MPEG *m, float *, float *); -void fdct16(MPEG *m, float *, float *); -void fdct16_dual(MPEG *m, float *, float *); -void fdct16_dual_mono(MPEG *m, float *, float *); -void fdct8(MPEG *m, float *, float *); -void fdct8_dual(MPEG *m, float *, float *); -void fdct8_dual_mono(MPEG *m, float *, float *); - -void window(float *, int , short *pcm); -void window_dual(MPEG *m, float *, int , short *pcm); -void window16(MPEG *m, float *, int , short *pcm); -void window16_dual(MPEG *m, float *, int , short *pcm); -void window8(MPEG *m, float *, int , short *pcm); -void window8_dual(MPEG *m, float *, int , short *pcm); -float *dct_coef_addr(MPEG *m); - -/*-------------------------------------------------------------------------*/ -/* circular window buffers */ - -/*======================================================================*/ -static void gencoef(MPEG *m) /* gen coef for N=32 (31 coefs) */ -{ - int p, n, i, k; - double t, pi; - float *coef32; - - coef32 = dct_coef_addr(m); - - pi = 4.0 * atan(1.0); - n = 16; - k = 0; - for (i = 0; i < 5; i++, n = n / 2) - { - - for (p = 0; p < n; p++, k++) - { - t = (pi / (4 * n)) * (2 * p + 1); - coef32[k] = (float) (0.50 / cos(t)); - } - } -} -/*------------------------------------------------------------*/ -void sbt_init(MPEG *m) -{ - int i; - - if (m->csbt.first_pass) - { - gencoef(m); - m->csbt.first_pass = 0; - } - -/* clear window m->csbt.vbuf */ - for (i = 0; i < 512; i++) - { - m->csbt.vbuf[i] = 0.0F; - m->csbt.vbuf2[i] = 0.0F; - } - m->csbt.vb2_ptr = m->csbt.vb_ptr = 0; - -} -/*============================================================*/ -/*============================================================*/ -/*============================================================*/ -void sbt_mono(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct32(m, sample, m->csbt.vbuf + m->csbt.vb_ptr); - window(m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 32) & 511; - pcm += 32; - } - -} -/*------------------------------------------------------------*/ -void sbt_dual(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct32_dual(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - fdct32_dual(m,sample + 1, m->csbt.vbuf2 + m->csbt.vb_ptr); - window_dual(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); - window_dual(m,m->csbt.vbuf2, m->csbt.vb_ptr, pcm + 1); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 32) & 511; - pcm += 64; - } - - -} -/*------------------------------------------------------------*/ -/* convert dual to mono */ -void sbt_dual_mono(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct32_dual_mono(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - window(m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 32) & 511; - pcm += 32; - } - -} -/*------------------------------------------------------------*/ -/* convert dual to left */ -void sbt_dual_left(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct32_dual(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - window(m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 32) & 511; - pcm += 32; - } -} -/*------------------------------------------------------------*/ -/* convert dual to right */ -void sbt_dual_right(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - sample++; /* point to right chan */ - for (i = 0; i < n; i++) - { - fdct32_dual(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - window(m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 32) & 511; - pcm += 32; - } -} -/*------------------------------------------------------------*/ -/*---------------- 16 pt sbt's -------------------------------*/ -/*------------------------------------------------------------*/ -void sbt16_mono(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct16(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - window16(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 16) & 255; - pcm += 16; - } - - -} -/*------------------------------------------------------------*/ -void sbt16_dual(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct16_dual(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - fdct16_dual(m,sample + 1, m->csbt.vbuf2 + m->csbt.vb_ptr); - window16_dual(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); - window16_dual(m,m->csbt.vbuf2, m->csbt.vb_ptr, pcm + 1); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 16) & 255; - pcm += 32; - } -} -/*------------------------------------------------------------*/ -void sbt16_dual_mono(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct16_dual_mono(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - window16(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 16) & 255; - pcm += 16; - } -} -/*------------------------------------------------------------*/ -void sbt16_dual_left(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct16_dual(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - window16(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 16) & 255; - pcm += 16; - } -} -/*------------------------------------------------------------*/ -void sbt16_dual_right(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - sample++; - for (i = 0; i < n; i++) - { - fdct16_dual(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - window16(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 16) & 255; - pcm += 16; - } -} -/*------------------------------------------------------------*/ -/*---------------- 8 pt sbt's -------------------------------*/ -/*------------------------------------------------------------*/ -void sbt8_mono(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct8(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - window8(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 8) & 127; - pcm += 8; - } - -} -/*------------------------------------------------------------*/ -void sbt8_dual(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct8_dual(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - fdct8_dual(m,sample + 1, m->csbt.vbuf2 + m->csbt.vb_ptr); - window8_dual(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); - window8_dual(m,m->csbt.vbuf2, m->csbt.vb_ptr, pcm + 1); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 8) & 127; - pcm += 16; - } -} -/*------------------------------------------------------------*/ -void sbt8_dual_mono(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct8_dual_mono(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - window8(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 8) & 127; - pcm += 8; - } -} -/*------------------------------------------------------------*/ -void sbt8_dual_left(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - for (i = 0; i < n; i++) - { - fdct8_dual(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - window8(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 8) & 127; - pcm += 8; - } -} -/*------------------------------------------------------------*/ -void sbt8_dual_right(MPEG *m, float *sample, short *pcm, int n) -{ - int i; - - sample++; - for (i = 0; i < n; i++) - { - fdct8_dual(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); - window8(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); - sample += 64; - m->csbt.vb_ptr = (m->csbt.vb_ptr - 8) & 127; - pcm += 8; - } -} -/*------------------------------------------------------------*/ -/*------------------------------------------------------------*/ -#include "csbtb.c" /* 8 bit output */ -#include "csbtL3.c" /* Layer III */ -/*------------------------------------------------------------*/ |