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