summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/libmad/synth.h
Unidiff
Diffstat (limited to 'core/multimedia/opieplayer/libmad/synth.h') (more/less context) (show whitespace changes)
-rw-r--r--core/multimedia/opieplayer/libmad/synth.h33
1 files changed, 26 insertions, 7 deletions
diff --git a/core/multimedia/opieplayer/libmad/synth.h b/core/multimedia/opieplayer/libmad/synth.h
index 64f6a86..2c9d5c8 100644
--- a/core/multimedia/opieplayer/libmad/synth.h
+++ b/core/multimedia/opieplayer/libmad/synth.h
@@ -1,8 +1,8 @@
1/* 1/*
2 * mad - MPEG audio decoder 2 * libmad - MPEG audio decoder library
3 * Copyright (C) 2000-2001 Robert Leslie 3 * Copyright (C) 2000-2001 Robert Leslie
4 * 4 *
5 * This program is free software; you can redistribute it and/or modify 5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by 6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or 7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version. 8 * (at your option) any later version.
@@ -22,24 +22,43 @@
22# ifndef LIBMAD_SYNTH_H 22# ifndef LIBMAD_SYNTH_H
23# define LIBMAD_SYNTH_H 23# define LIBMAD_SYNTH_H
24 24
25# include "fixed.h" 25# include "fixed.h"
26# include "frame.h" 26# include "frame.h"
27 27
28struct mad_pcm {
29 unsigned int samplerate; /* sampling frequency (Hz) */
30 unsigned short channels; /* number of channels */
31 unsigned short length; /* number of samples per channel */
32 mad_fixed_t samples[2][1152]; /* PCM output samples [ch][sample] */
33};
34
28struct mad_synth { 35struct mad_synth {
29 mad_fixed_t filter[2][2][2][16][8];/* polyphase filterbank outputs */ 36 mad_fixed_t filter[2][2][2][16][8];/* polyphase filterbank outputs */
30 /* [ch][eo][peo][s][v] */ 37 /* [ch][eo][peo][s][v] */
31 38
32 unsigned int phase; /* current processing phase */ 39 unsigned int phase; /* current processing phase */
33 40
34 struct mad_pcm { 41 struct mad_pcm pcm; /* PCM output */
35 unsigned int samplerate; /* sampling frequency (Hz) */ 42};
36 unsigned short channels; /* number of channels */ 43
37 unsigned short length; /* number of samples per channel */ 44/* single channel PCM selector */
38 mad_fixed_t samples[2][1152];/* PCM output samples */ 45enum {
39 } pcm; 46 MAD_PCM_CHANNEL_SINGLE = 0
47};
48
49/* dual channel PCM selector */
50enum {
51 MAD_PCM_CHANNEL_DUAL_1 = 0,
52 MAD_PCM_CHANNEL_DUAL_2 = 1
53};
54
55/* stereo PCM selector */
56enum {
57 MAD_PCM_CHANNEL_STEREO_LEFT = 0,
58 MAD_PCM_CHANNEL_STEREO_RIGHT = 1
40}; 59};
41 60
42void mad_synth_init(struct mad_synth *); 61void mad_synth_init(struct mad_synth *);
43 62
44# define mad_synth_finish(synth) /* nothing */ 63# define mad_synth_finish(synth) /* nothing */
45 64