1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
33 /*!
34 * ======== Algorithm ========
35 *
36 */
37
38 @Template("./Algorithm.xdt")
39
40
41 metaonly module Algorithm {
42
43 /*!
44 * ======== useIdma3 ========
45 * True if IDMA3 needs to be supported.
46 *
47 * @_nodoc
48 * Deprecated
49 */
50 metaonly config bool useIdma3;
51
52 /*!
53 * ======== useIres ========
54 * True if IRES needs to be supported.
55 *
56 * @_nodoc
57 */
58 metaonly config bool useIres;
59
60 /*!
61 * ======== useHeap ========
62 * Indicates that algorithm memory should be allocated from a heap.
63 *
64 * Flag indicating whether algorithm memory should be allocated from
65 * a heap or from a pool.
66 *
67 * This flag is currently only used when CMEM is used to allocate memory
68 * (e.g. ARM-side 'local' codecs).
69 */
70 config bool useHeap = false;
71
72 /*!
73 * ======== useCache ========
74 * Indicates that algorithm memory should be cacheable.
75 *
76 * This flag indicates whether algorithm memory should be allocated from
77 * cache-enabled buffers.
78 *
79 * This flag is currently only used when CMEM is used to allocate memory
80 * (e.g. ARM-side 'local' codecs).
81 *
82 * Note that when cache-enabled buffers are used, it is the application's
83 * responsibility to manage this cache. See the various `Memory_` APIs
84 * for cache services.
85 */
86 config bool useCache = false;
87
88 /*!
89 * ======== ipcKeyBase ========
90 * Default base value for ALG's semaphore keys.
91 *
92 * The SemMP objects created by ALG will use keys starting at this
93 * value, and incrementing with each new object. There are currently
94 * _ALG_NUMGROUPS (20) keys needed for ALG semaphores.
95 * The default value of ipcKeyBase is ascii code for "OGLA".
96 *
97 * WARNING: This value should only be changed if it conflicts with
98 * another IPC key in the system that cannot be changed. If this value
99 * is changed, all programs using Codec Engine that will be run
100 * simultaneously must have the ipcKeyBase configured to the new value.
101 *
102 * @_nodoc
103 */
104 metaonly config UInt32 ipcKeyBase = 0x4F474C41;
105
106 /*!
107 * ======== MAXGROUPID ========
108 * Maximum group id.
109 *
110 * @_nodoc
111 */
112 const Int MAXGROUPID = 20;
113
114 /*!
115 * ======== groupUsed ========
116 * Internal array indicating groups with algorithms
117 *
118 * If there is an algorithm with groupId i, then groupUsed[i]
119 * will be set to true.
120 *
121 * @_nodoc
122 */
123 metaonly config bool groupUsed[MAXGROUPID] = [
124 false, false, false, false, false,
125 false, false, false, false, false,
126 false, false, false, false, false,
127 false, false, false, false, false
128 ];
129 }
130 131 132 133
134