summaryrefslogtreecommitdiff
path: root/apps/codecs/demac/libdemac/demac_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/demac/libdemac/demac_config.h')
-rw-r--r--apps/codecs/demac/libdemac/demac_config.h34
1 files changed, 27 insertions, 7 deletions
diff --git a/apps/codecs/demac/libdemac/demac_config.h b/apps/codecs/demac/libdemac/demac_config.h
index c908c3ea10..f3b293e1d2 100644
--- a/apps/codecs/demac/libdemac/demac_config.h
+++ b/apps/codecs/demac/libdemac/demac_config.h
@@ -49,18 +49,39 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
49#endif 49#endif
50 50
51#if CONFIG_CPU == PP5002 || defined(CPU_S5L870X) 51#if CONFIG_CPU == PP5002 || defined(CPU_S5L870X)
52/* Code in IRAM for speed, not enough IRAM for the insane filter buffer. */ 52/* Code and data IRAM for speed (PP5002 has a broken cache), not enough IRAM
53 * for the insane filter buffer. Reciprocal table for division in IRAM. */
53#define ICODE_SECTION_DEMAC_ARM .icode 54#define ICODE_SECTION_DEMAC_ARM .icode
54#define ICODE_ATTR_DEMAC ICODE_ATTR 55#define ICODE_ATTR_DEMAC ICODE_ATTR
56#define ICONST_ATTR_DEMAC ICONST_ATTR
57#define IBSS_ATTR_DEMAC IBSS_ATTR
55#define IBSS_ATTR_DEMAC_INSANEBUF 58#define IBSS_ATTR_DEMAC_INSANEBUF
56#elif defined(CPU_PP502x) 59
57/* Insane filter buffer not in IRAM due to division table. */ 60#elif CONFIG_CPU == PP5020
61/* Code and small data in DRAM for speed (PP5020 IRAM isn't completely single
62 * cycle). Insane filter buffer not in IRAM in favour of reciprocal table for
63 * divison. Decoded data buffers should be in IRAM (defined by the caller). */
64#define ICODE_SECTION_DEMAC_ARM .text
65#define ICODE_ATTR_DEMAC
66#define ICONST_ATTR_DEMAC
67#define IBSS_ATTR_DEMAC
68#define IBSS_ATTR_DEMAC_INSANEBUF
69
70#elif CONFIG_CPU == PP5022
71/* Code in DRAM, data in IRAM. Insane filter buffer not in IRAM in favour of
72 * reciprocal table for divison */
58#define ICODE_SECTION_DEMAC_ARM .text 73#define ICODE_SECTION_DEMAC_ARM .text
59#define ICODE_ATTR_DEMAC 74#define ICODE_ATTR_DEMAC
75#define ICONST_ATTR_DEMAC ICONST_ATTR
76#define IBSS_ATTR_DEMAC IBSS_ATTR
60#define IBSS_ATTR_DEMAC_INSANEBUF 77#define IBSS_ATTR_DEMAC_INSANEBUF
78
61#else 79#else
80/* Code in DRAM, data in IRAM, including insane filter buffer. */
62#define ICODE_SECTION_DEMAC_ARM .text 81#define ICODE_SECTION_DEMAC_ARM .text
63#define ICODE_ATTR_DEMAC 82#define ICODE_ATTR_DEMAC
83#define ICONST_ATTR_DEMAC ICONST_ATTR
84#define IBSS_ATTR_DEMAC IBSS_ATTR
64#define IBSS_ATTR_DEMAC_INSANEBUF IBSS_ATTR 85#define IBSS_ATTR_DEMAC_INSANEBUF IBSS_ATTR
65#endif 86#endif
66 87
@@ -68,11 +89,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
68 89
69#define APE_OUTPUT_DEPTH (ape_ctx->bps) 90#define APE_OUTPUT_DEPTH (ape_ctx->bps)
70 91
71#define IBSS_ATTR
72#define IBSS_ATTR_DEMAC_INSANEBUF
73#define ICONST_ATTR
74#define ICODE_ATTR
75#define ICODE_ATTR_DEMAC 92#define ICODE_ATTR_DEMAC
93#define ICONST_ATTR_DEMAC
94#define IBSS_ATTR_DEMAC
95#define IBSS_ATTR_DEMAC_INSANEBUF
76 96
77/* Use to give gcc hints on which branch is most likely taken */ 97/* Use to give gcc hints on which branch is most likely taken */
78#if defined(__GNUC__) && __GNUC__ >= 3 98#if defined(__GNUC__) && __GNUC__ >= 3