Mercurial > audlegacy
changeset 965:dd8347ed9616 trunk
[svn] - remove unused file
author | nenolod |
---|---|
date | Mon, 24 Apr 2006 12:58:25 -0700 |
parents | bf06569fb0b4 |
children | cf30e07395d5 |
files | Plugins/Input/mpg123/decode_i386.c |
diffstat | 1 files changed, 0 insertions(+), 220 deletions(-) [+] |
line wrap: on
line diff
--- a/Plugins/Input/mpg123/decode_i386.c Mon Apr 24 12:49:51 2006 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,220 +0,0 @@ -/* - * Mpeg Layer-1,2,3 audio decoder - * ------------------------------ - * copyright (c) 1995,1996,1997 by Michael Hipp, All rights reserved. - * See also 'README' - * - * slighlty optimized for machines without autoincrement/decrement. - * The performance is highly compiler dependend. Maybe - * the decode.c version for 'normal' processor may be faster - * even for Intel processors. - */ - -#include <stdlib.h> -#include <math.h> -#include <string.h> - -#include "mpg123.h" - -/* XXX this needs to be not a macro someday. */ -#define WRITE_SAMPLE(samples,sum,clip) \ - if( (sum) > 32767.0) { *(samples) = 0x7fff; (clip)++; } \ - else if( (sum) < -32768.0) { *(samples) = -0x8000; (clip)++; } \ - else { *(samples) = sum; } - -int mpg123_synth_1to1_8bit(real *bandPtr,int channel,unsigned char *samples,int *pnt) -{ - short samples_tmp[64]; - short *tmp1 = samples_tmp + channel; - int i,ret; - int pnt1 = 0; - - ret = mpg123_synth_1to1(bandPtr,channel,(unsigned char *)samples_tmp,&pnt1); - samples += channel + *pnt; - - for(i=0;i<32;i++) { - *samples = mpg123_conv16to8[*tmp1>>AUSHIFT]; - samples += 2; - tmp1 += 2; - } - *pnt += 64; - - return ret; -} - -int mpg123_synth_1to1_8bit_mono(real *bandPtr,unsigned char *samples,int *pnt) -{ - short samples_tmp[64]; - short *tmp1 = samples_tmp; - int i,ret; - int pnt1 = 0; - - ret = mpg123_synth_1to1(bandPtr,0,(unsigned char *)samples_tmp,&pnt1); - samples += *pnt; - - for(i=0;i<32;i++) { - *samples++ = mpg123_conv16to8[*tmp1>>AUSHIFT]; - tmp1+=2; - } - *pnt += 32; - - return ret; -} - -int mpg123_synth_1to1_8bit_mono2stereo(real *bandPtr,unsigned char *samples,int *pnt) -{ - short samples_tmp[64]; - short *tmp1 = samples_tmp; - int i,ret; - int pnt1 = 0; - - ret = mpg123_synth_1to1(bandPtr,0,(unsigned char *)samples_tmp,&pnt1); - samples += *pnt; - - for(i=0;i<32;i++) { - *samples++ = mpg123_conv16to8[*tmp1>>AUSHIFT]; - *samples++ = mpg123_conv16to8[*tmp1>>AUSHIFT]; - tmp1 += 2; - } - *pnt += 64; - - return ret; -} - -int mpg123_synth_1to1_mono(real *bandPtr,unsigned char *samples,int *pnt) -{ - short samples_tmp[64]; - short *tmp1 = samples_tmp; - int i,ret; - int pnt1 = 0; - - ret = mpg123_synth_1to1(bandPtr,0,(unsigned char *) samples_tmp,&pnt1); - samples += *pnt; - - for(i=0;i<32;i++) { - *( (short *) samples) = *tmp1; - samples += 2; - tmp1 += 2; - } - *pnt += 64; - - return ret; -} - - -int mpg123_synth_1to1_mono2stereo(real *bandPtr,unsigned char *samples,int *pnt) -{ - int i,ret; - - ret = mpg123_synth_1to1(bandPtr,0,samples,pnt); - samples = samples + *pnt - 128; - - for(i=0;i<32;i++) { - ((short *)samples)[1] = ((short *)samples)[0]; - samples+=4; - } - - return ret; -} - -int mpg123_synth_1to1(real *bandPtr,int channel,unsigned char *out,int *pnt) -{ - static real buffs[2][2][0x110]; - static const int step = 2; - static int bo = 1; - short *samples = (short *) (out + *pnt); - - real *b0,(*buf)[0x110]; - int clip = 0; - int bo1; - - if(!channel) { - bo--; - bo &= 0xf; - buf = buffs[0]; - } - else { - samples++; - buf = buffs[1]; - } - - if(bo & 0x1) { - b0 = buf[0]; - bo1 = bo; - mpg123_dct64(buf[1]+((bo+1)&0xf),buf[0]+bo,bandPtr); - } - else { - b0 = buf[1]; - bo1 = bo+1; - mpg123_dct64(buf[0]+bo,buf[1]+bo+1,bandPtr); - } - - { - register int j; - real *window = mpg123_decwin + 16 - bo1; - - for (j=16;j;j--,b0+=0x10,window+=0x20,samples+=step) - { - real sum; - sum = window[0x0] * b0[0x0]; - sum -= window[0x1] * b0[0x1]; - sum += window[0x2] * b0[0x2]; - sum -= window[0x3] * b0[0x3]; - sum += window[0x4] * b0[0x4]; - sum -= window[0x5] * b0[0x5]; - sum += window[0x6] * b0[0x6]; - sum -= window[0x7] * b0[0x7]; - sum += window[0x8] * b0[0x8]; - sum -= window[0x9] * b0[0x9]; - sum += window[0xA] * b0[0xA]; - sum -= window[0xB] * b0[0xB]; - sum += window[0xC] * b0[0xC]; - sum -= window[0xD] * b0[0xD]; - sum += window[0xE] * b0[0xE]; - sum -= window[0xF] * b0[0xF]; - - WRITE_SAMPLE(samples,sum,clip); - } - - { - real sum; - sum = window[0x0] * b0[0x0]; - sum += window[0x2] * b0[0x2]; - sum += window[0x4] * b0[0x4]; - sum += window[0x6] * b0[0x6]; - sum += window[0x8] * b0[0x8]; - sum += window[0xA] * b0[0xA]; - sum += window[0xC] * b0[0xC]; - sum += window[0xE] * b0[0xE]; - WRITE_SAMPLE(samples,sum,clip); - b0-=0x10,window-=0x20,samples+=step; - } - window += bo1<<1; - - for (j=15;j;j--,b0-=0x10,window-=0x20,samples+=step) - { - real sum; - sum = -window[-0x1] * b0[0x0]; - sum -= window[-0x2] * b0[0x1]; - sum -= window[-0x3] * b0[0x2]; - sum -= window[-0x4] * b0[0x3]; - sum -= window[-0x5] * b0[0x4]; - sum -= window[-0x6] * b0[0x5]; - sum -= window[-0x7] * b0[0x6]; - sum -= window[-0x8] * b0[0x7]; - sum -= window[-0x9] * b0[0x8]; - sum -= window[-0xA] * b0[0x9]; - sum -= window[-0xB] * b0[0xA]; - sum -= window[-0xC] * b0[0xB]; - sum -= window[-0xD] * b0[0xC]; - sum -= window[-0xE] * b0[0xD]; - sum -= window[-0xF] * b0[0xE]; - sum -= window[-0x0] * b0[0xF]; - - WRITE_SAMPLE(samples,sum,clip); - } - } - *pnt += 128; - - return clip; -}