xref: /aosp_15_r20/external/libxaac/decoder/ixheaacd_memory_standards.h (revision 15dc779a375ca8b5125643b829a8aa4b70d7f451)
1*15dc779aSAndroid Build Coastguard Worker /******************************************************************************
2*15dc779aSAndroid Build Coastguard Worker  *                                                                            *
3*15dc779aSAndroid Build Coastguard Worker  * Copyright (C) 2018 The Android Open Source Project
4*15dc779aSAndroid Build Coastguard Worker  *
5*15dc779aSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
6*15dc779aSAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
7*15dc779aSAndroid Build Coastguard Worker  * You may obtain a copy of the License at:
8*15dc779aSAndroid Build Coastguard Worker  *
9*15dc779aSAndroid Build Coastguard Worker  * http://www.apache.org/licenses/LICENSE-2.0
10*15dc779aSAndroid Build Coastguard Worker  *
11*15dc779aSAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
12*15dc779aSAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
13*15dc779aSAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*15dc779aSAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
15*15dc779aSAndroid Build Coastguard Worker  * limitations under the License.
16*15dc779aSAndroid Build Coastguard Worker  *
17*15dc779aSAndroid Build Coastguard Worker  *****************************************************************************
18*15dc779aSAndroid Build Coastguard Worker  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19*15dc779aSAndroid Build Coastguard Worker */
20*15dc779aSAndroid Build Coastguard Worker #ifndef IXHEAACD_MEMORY_STANDARDS_H
21*15dc779aSAndroid Build Coastguard Worker #define IXHEAACD_MEMORY_STANDARDS_H
22*15dc779aSAndroid Build Coastguard Worker 
23*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/
24*15dc779aSAndroid Build Coastguard Worker /* type definitions                                                          */
25*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/
26*15dc779aSAndroid Build Coastguard Worker /* standard memory table descriptor for libraries */
27*15dc779aSAndroid Build Coastguard Worker typedef struct {
28*15dc779aSAndroid Build Coastguard Worker   UWORD32 ui_size;         /* size of the memory in bytes   */
29*15dc779aSAndroid Build Coastguard Worker   UWORD32 ui_alignment;    /* alignment in bytes            */
30*15dc779aSAndroid Build Coastguard Worker   UWORD32 ui_type;         /* type of memory                */
31*15dc779aSAndroid Build Coastguard Worker   UWORD32 ui_placement[2]; /* 64 bit placement info     */
32*15dc779aSAndroid Build Coastguard Worker   UWORD32 ui_priority;     /* the importance for placement  */
33*15dc779aSAndroid Build Coastguard Worker   UWORD32 ui_placed[2];    /* the o_red location for placement  */
34*15dc779aSAndroid Build Coastguard Worker } ia_mem_info_struct;
35*15dc779aSAndroid Build Coastguard Worker 
36*15dc779aSAndroid Build Coastguard Worker typedef struct {
37*15dc779aSAndroid Build Coastguard Worker   WORD8 *p_lib_name;
38*15dc779aSAndroid Build Coastguard Worker   WORD8 *p_version_num;
39*15dc779aSAndroid Build Coastguard Worker } ia_lib_info_struct;
40*15dc779aSAndroid Build Coastguard Worker 
41*15dc779aSAndroid Build Coastguard Worker VOID ixheaacd_get_lib_id_strings(pVOID pv_output);
42*15dc779aSAndroid Build Coastguard Worker 
43*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/
44*15dc779aSAndroid Build Coastguard Worker /* Constant hash defines                                                     */
45*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/
46*15dc779aSAndroid Build Coastguard Worker /* when you don't need alignment, pass this to memory library */
47*15dc779aSAndroid Build Coastguard Worker #define IA_MEM_NO_ALIGN 0x01
48*15dc779aSAndroid Build Coastguard Worker 
49*15dc779aSAndroid Build Coastguard Worker /* ittiam standard memory types */
50*15dc779aSAndroid Build Coastguard Worker /* to be used inter frames */
51*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_PERSIST 0x00
52*15dc779aSAndroid Build Coastguard Worker /* read write, to be used intra frames */
53*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_SCRATCH 0x01
54*15dc779aSAndroid Build Coastguard Worker /* read only memory, intra frame */
55*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_INPUT 0x02
56*15dc779aSAndroid Build Coastguard Worker /* read-write memory, for usable output, intra frame */
57*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_OUTPUT 0x03
58*15dc779aSAndroid Build Coastguard Worker /* readonly memory, inter frame */
59*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_TABLE 0x04
60*15dc779aSAndroid Build Coastguard Worker /* input buffer before mem tabs allocation */
61*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_PRE_FRAME_INPUT 0x05
62*15dc779aSAndroid Build Coastguard Worker /* input buffer before mem tabs allocation */
63*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_PRE_FRAME_SCRATCH 0x06
64*15dc779aSAndroid Build Coastguard Worker /* for local variables */
65*15dc779aSAndroid Build Coastguard Worker #define IA_MEMTYPE_AUTO_VAR 0x80
66*15dc779aSAndroid Build Coastguard Worker 
67*15dc779aSAndroid Build Coastguard Worker /* ittiam standard memory priorities */
68*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_ANYWHERE 0x00
69*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_LOWEST 0x01
70*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_LOW 0x02
71*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_NORM 0x03
72*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_ABOVE_NORM 0x04
73*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_HIGH 0x05
74*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_HIGHER 0x06
75*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPRIORITY_CRITICAL 0x07
76*15dc779aSAndroid Build Coastguard Worker 
77*15dc779aSAndroid Build Coastguard Worker /* ittiam standard memory placements */
78*15dc779aSAndroid Build Coastguard Worker /* placement is defined by 64 bits */
79*15dc779aSAndroid Build Coastguard Worker 
80*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_0 0x000001
81*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_1 0x000002
82*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_2 0x000004
83*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_3 0x000008
84*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_4 0x000010
85*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_5 0x000020
86*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_6 0x000040
87*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_FAST_RAM_7 0x000080
88*15dc779aSAndroid Build Coastguard Worker 
89*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_0 0x000100
90*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_1 0x000200
91*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_2 0x000400
92*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_3 0x000800
93*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_4 0x001000
94*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_5 0x002000
95*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_6 0x004000
96*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_INT_RAM_7 0x008000
97*15dc779aSAndroid Build Coastguard Worker 
98*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_0 0x010000
99*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_1 0x020000
100*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_2 0x040000
101*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_3 0x080000
102*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_4 0x100000
103*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_5 0x200000
104*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_6 0x400000
105*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_EXT_RAM_7 0x800000
106*15dc779aSAndroid Build Coastguard Worker 
107*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_DONTCARE_H 0xFFFFFFFF
108*15dc779aSAndroid Build Coastguard Worker #define IA_MEMPLACE_DONTCARE_L 0xFFFFFFFF
109*15dc779aSAndroid Build Coastguard Worker 
110*15dc779aSAndroid Build Coastguard Worker /* the simple common PC RAM */
111*15dc779aSAndroid Build Coastguard Worker #define IA_PC_RAM_H 0x00000000
112*15dc779aSAndroid Build Coastguard Worker #define IA_PC_RAM_L IA_MEMPLACE_EXT_RAM_0
113*15dc779aSAndroid Build Coastguard Worker 
114*15dc779aSAndroid Build Coastguard Worker #endif /* IXHEAACD_MEMORY_STANDARDS_H */
115