forked from len0rd/rockbox
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18084 a1c6a512-1295-4272-9138-f99709370657
85 lines
2.2 KiB
C
85 lines
2.2 KiB
C
/********************************************************************
|
|
* *
|
|
* THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. *
|
|
* *
|
|
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
* *
|
|
* THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
|
|
* BY THE Xiph.Org FOUNDATION http://www.xiph.org/ *
|
|
* *
|
|
********************************************************************
|
|
|
|
function: modified discrete cosine transform prototypes
|
|
|
|
********************************************************************/
|
|
|
|
#ifndef _OGG_mdct_H_
|
|
#define _OGG_mdct_H_
|
|
|
|
typedef short ogg_int16_t;
|
|
typedef int ogg_int32_t;
|
|
typedef unsigned int ogg_uint32_t;
|
|
typedef long long ogg_int64_t;
|
|
|
|
|
|
#ifdef _LOW_ACCURACY_
|
|
# define X(n) (((((n)>>22)+1)>>1) - ((((n)>>22)+1)>>9))
|
|
# define LOOKUP_T const unsigned char
|
|
#else
|
|
# define X(n) (n)
|
|
# define LOOKUP_T const ogg_int32_t
|
|
#endif
|
|
|
|
//#include "ivorbiscodec.h"
|
|
|
|
#include <codecs.h>
|
|
#include "asm_arm.h"
|
|
#include "asm_mcf5249.h"
|
|
#include "misc.h"
|
|
|
|
#ifndef ICONST_ATTR_TREMOR_WINDOW
|
|
#define ICONST_ATTR_TREMOR_WINDOW ICONST_ATTR
|
|
#endif
|
|
|
|
#ifndef ICODE_ATTR_TREMOR_MDCT
|
|
#define ICODE_ATTR_TREMOR_MDCT ICODE_ATTR
|
|
#endif
|
|
|
|
#ifndef ICODE_ATTR_TREMOR_NOT_MDCT
|
|
#define ICODE_ATTR_TREMOR_NOT_MDCT ICODE_ATTR
|
|
#endif
|
|
|
|
|
|
#define DATA_TYPE ogg_int32_t
|
|
#define REG_TYPE register ogg_int32_t
|
|
|
|
#ifdef _LOW_ACCURACY_
|
|
#define cPI3_8 (0x0062)
|
|
#define cPI2_8 (0x00b5)
|
|
#define cPI1_8 (0x00ed)
|
|
#else
|
|
#define cPI3_8 (0x30fbc54d)
|
|
#define cPI2_8 (0x5a82799a)
|
|
#define cPI1_8 (0x7641af3d)
|
|
#endif
|
|
|
|
//extern void mdct_forward(int n, DATA_TYPE *in, DATA_TYPE *out);
|
|
extern void mdct_backward(int n, ogg_int32_t *in, DATA_TYPE *out);
|
|
//extern void mdct_bitreverse(DATA_TYPE *x,int n,int step,int shift);
|
|
//extern void mdct_butterflies(DATA_TYPE *x,int points,int shift);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|