summaryrefslogtreecommitdiff
path: root/apps/codecs/demac/libdemac/filter.h
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2007-06-05 16:58:29 +0000
committerDave Chapman <dave@dchapman.com>2007-06-05 16:58:29 +0000
commit520274219a0745384cb9bc6df4d7ee7905090f5d (patch)
tree8d6f4536b6758d00e72a2a9457f892ce28a591bd /apps/codecs/demac/libdemac/filter.h
parent887b31c01aebb46c0fcc6910241a4a64d9e7991e (diff)
downloadrockbox-520274219a0745384cb9bc6df4d7ee7905090f5d.tar.gz
rockbox-520274219a0745384cb9bc6df4d7ee7905090f5d.zip
Initial commit of Monkey's Audio (.ape/.mac) support. Note that Monkey's is an extremely CPU-intensive codec, and that the decoding speed is directly related to the compression level (-c1000, -c2000, -c3000, -c4000 or -c5000) used when encoding the file. Current performance is: -c1000 to -c3000 are realtime on a Gigabeat, -c1000 is realtime on Coldfire targets (H100, H300 and Cowon), and nothing is realtime on PortalPlayer targets (iPods, H10, Sansa). Hopefully this can be improved. More information at FS #7256.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13562 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/demac/libdemac/filter.h')
-rw-r--r--apps/codecs/demac/libdemac/filter.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/apps/codecs/demac/libdemac/filter.h b/apps/codecs/demac/libdemac/filter.h
new file mode 100644
index 0000000000..b98403cfc8
--- /dev/null
+++ b/apps/codecs/demac/libdemac/filter.h
@@ -0,0 +1,48 @@
1/*
2
3libdemac - A Monkey's Audio decoder
4
5$Id:$
6
7Copyright (C) Dave Chapman 2007
8
9This program is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 2 of the License, or
12(at your option) any later version.
13
14This program is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with this program; if not, write to the Free Software
21Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
22
23*/
24
25#ifndef _APE_FILTER_H
26#define _APE_FILTER_H
27
28#include <inttypes.h>
29
30/* The size of the history buffers */
31#define HISTORY_SIZE 512
32
33void init_filter_16_11(int16_t* buf);
34int apply_filter_16_11(int fileversion, int32_t* decoded0, int32_t* decoded1, int count);
35
36void init_filter_64_11(int16_t* buf);
37int apply_filter_64_11(int fileversion, int32_t* decoded0, int32_t* decoded1, int count);
38
39void init_filter_32_10(int16_t* buf);
40int apply_filter_32_10(int fileversion, int32_t* decoded0, int32_t* decoded1, int count);
41
42void init_filter_256_13(int16_t* buf);
43int apply_filter_256_13(int fileversion, int32_t* decoded0, int32_t* decoded1, int count);
44
45void init_filter_1280_15(int16_t* buf);
46int apply_filter_1280_15(int fileversion, int32_t* decoded0, int32_t* decoded1, int count);
47
48#endif