blob: 8a6788554facdbdc16095bb5d5d9b92fd935adea
1 | enum NalUnitType |
2 | { |
3 | NAL_UNIT_CODED_SLICE_TRAIL_N = 0, // 0 |
4 | NAL_UNIT_CODED_SLICE_TRAIL_R, // 1 |
5 | |
6 | NAL_UNIT_CODED_SLICE_TSA_N, // 2 |
7 | NAL_UNIT_CODED_SLICE_TLA, // 3 // Current name in the spec: TSA_R |
8 | |
9 | NAL_UNIT_CODED_SLICE_STSA_N, // 4 |
10 | NAL_UNIT_CODED_SLICE_STSA_R, // 5 |
11 | |
12 | NAL_UNIT_CODED_SLICE_RADL_N, // 6 |
13 | NAL_UNIT_CODED_SLICE_DLP, // 7 // Current name in the spec: RADL_R |
14 | |
15 | NAL_UNIT_CODED_SLICE_RASL_N, // 8 |
16 | NAL_UNIT_CODED_SLICE_TFD, // 9 // Current name in the spec: RASL_R |
17 | |
18 | NAL_UNIT_RESERVED_10, |
19 | NAL_UNIT_RESERVED_11, |
20 | NAL_UNIT_RESERVED_12, |
21 | NAL_UNIT_RESERVED_13, |
22 | NAL_UNIT_RESERVED_14, |
23 | NAL_UNIT_RESERVED_15, |
24 | |
25 | NAL_UNIT_CODED_SLICE_BLA, // 16 // Current name in the spec: BLA_W_LP |
26 | NAL_UNIT_CODED_SLICE_BLANT, // 17 // Current name in the spec: BLA_W_DLP |
27 | NAL_UNIT_CODED_SLICE_BLA_N_LP, // 18 |
28 | NAL_UNIT_CODED_SLICE_IDR, // 19 // Current name in the spec: IDR_W_DLP |
29 | NAL_UNIT_CODED_SLICE_IDR_N_LP, // 20 |
30 | NAL_UNIT_CODED_SLICE_CRA, // 21 |
31 | NAL_UNIT_RESERVED_22, |
32 | NAL_UNIT_RESERVED_23, |
33 | |
34 | NAL_UNIT_RESERVED_24, |
35 | NAL_UNIT_RESERVED_25, |
36 | NAL_UNIT_RESERVED_26, |
37 | NAL_UNIT_RESERVED_27, |
38 | NAL_UNIT_RESERVED_28, |
39 | NAL_UNIT_RESERVED_29, |
40 | NAL_UNIT_RESERVED_30, |
41 | NAL_UNIT_RESERVED_31, |
42 | |
43 | NAL_UNIT_VPS, // 32 |
44 | NAL_UNIT_SPS, // 33 |
45 | NAL_UNIT_PPS, // 34 |
46 | NAL_UNIT_ACCESS_UNIT_DELIMITER, // 35 |
47 | NAL_UNIT_EOS, // 36 |
48 | NAL_UNIT_EOB, // 37 |
49 | NAL_UNIT_FILLER_DATA, // 38 |
50 | NAL_UNIT_SEI, // 39 Prefix SEI |
51 | NAL_UNIT_SEI_SUFFIX, // 40 Suffix SEI |
52 | NAL_UNIT_RESERVED_41, |
53 | NAL_UNIT_RESERVED_42, |
54 | NAL_UNIT_RESERVED_43, |
55 | NAL_UNIT_RESERVED_44, |
56 | NAL_UNIT_RESERVED_45, |
57 | NAL_UNIT_RESERVED_46, |
58 | NAL_UNIT_RESERVED_47, |
59 | NAL_UNIT_UNSPECIFIED_48, |
60 | NAL_UNIT_UNSPECIFIED_49, |
61 | NAL_UNIT_UNSPECIFIED_50, |
62 | NAL_UNIT_UNSPECIFIED_51, |
63 | NAL_UNIT_UNSPECIFIED_52, |
64 | NAL_UNIT_UNSPECIFIED_53, |
65 | NAL_UNIT_UNSPECIFIED_54, |
66 | NAL_UNIT_UNSPECIFIED_55, |
67 | NAL_UNIT_UNSPECIFIED_56, |
68 | NAL_UNIT_UNSPECIFIED_57, |
69 | NAL_UNIT_UNSPECIFIED_58, |
70 | NAL_UNIT_UNSPECIFIED_59, |
71 | NAL_UNIT_UNSPECIFIED_60, |
72 | NAL_UNIT_UNSPECIFIED_61, |
73 | NAL_UNIT_UNSPECIFIED_62, |
74 | NAL_UNIT_UNSPECIFIED_63, |
75 | NAL_UNIT_INVALID, |
76 | }; |
77 | |
78 | int forbidden_zero_bit; |
79 | int m_nalUnitType; |
80 | int m_reservedZero6Bits; |
81 | int m_temporalId; |
82 | |
83 | //--------------------------------------------------- |
84 | // Amrisc Software Interrupt |
85 | //--------------------------------------------------- |
86 | #define AMRISC_STREAM_EMPTY_REQ 0x01 |
87 | #define AMRISC_PARSER_REQ 0x02 |
88 | #define AMRISC_MAIN_REQ 0x04 |
89 | |
90 | //--------------------------------------------------- |
91 | // AOM_AV1_DEC_STATUS (HEVC_DEC_STATUS) define |
92 | //--------------------------------------------------- |
93 | /*command*/ |
94 | #define AOM_AV1_DEC_IDLE 0 |
95 | #define AOM_AV1_DEC_FRAME_HEADER 1 |
96 | #define AOM_AV1_DEC_TILE_END 2 |
97 | #define AOM_AV1_DEC_TG_END 3 |
98 | #define AOM_AV1_DEC_LCU_END 4 |
99 | #define AOM_AV1_DECODE_SLICE 5 |
100 | #define AOM_AV1_SEARCH_HEAD 6 |
101 | #define AOM_AV1_DUMP_LMEM 7 |
102 | #define AOM_AV1_FGS_PARAM_CONT 8 |
103 | #define AOM_AV1_FGS_PARAM_CONT 8 |
104 | #define AOM_AV1_PIC_END_CONT 9 |
105 | /*status*/ |
106 | #define AOM_AV1_DEC_PIC_END 0xe0 |
107 | /*AOM_AV1_FGS_PARA: |
108 | Bit[11] - 0 Read, 1 - Write |
109 | Bit[10:8] - film_grain_params_ref_idx, For Write request |
110 | */ |
111 | #define AOM_AV1_FGS_PARAM 0xe1 |
112 | #define AOM_AV1_DEC_PIC_END_PRE 0xe2 |
113 | #define AOM_AV1_HEAD_PARSER_DONE 0xf0 |
114 | #define AOM_AV1_HEAD_SEARCH_DONE 0xf1 |
115 | #define AOM_AV1_SEQ_HEAD_PARSER_DONE 0xf2 |
116 | #define AOM_AV1_FRAME_HEAD_PARSER_DONE 0xf3 |
117 | #define AOM_AV1_FRAME_PARSER_DONE 0xf4 |
118 | #define AOM_AV1_REDUNDANT_FRAME_HEAD_PARSER_DONE 0xf5 |
119 | #define HEVC_ACTION_DONE 0xff |
120 | |
121 | |
122 | //--------------------------------------------------- |
123 | // Include "parser_cmd.h" |
124 | //--------------------------------------------------- |
125 | #define PARSER_CMD_SKIP_CFG_0 0x0000090b |
126 | |
127 | #define PARSER_CMD_SKIP_CFG_1 0x1b14140f |
128 | |
129 | #define PARSER_CMD_SKIP_CFG_2 0x001b1910 |
130 | |
131 | #define PARSER_CMD_NUMBER 37 |
132 | |
133 | unsigned short parser_cmd[PARSER_CMD_NUMBER] = { |
134 | 0x0401, |
135 | 0x8401, |
136 | 0x0800, |
137 | 0x0402, |
138 | 0x9002, |
139 | 0x1423, |
140 | 0x8CC3, |
141 | 0x1423, |
142 | 0x8804, |
143 | 0x9825, |
144 | 0x0800, |
145 | 0x04FE, |
146 | 0x8406, |
147 | 0x8411, |
148 | 0x1800, |
149 | 0x8408, |
150 | 0x8409, |
151 | 0x8C2A, |
152 | 0x9C2B, |
153 | 0x1C00, |
154 | 0x840F, |
155 | 0x8407, |
156 | 0x8000, |
157 | 0x8408, |
158 | 0x2000, |
159 | 0xA800, |
160 | 0x8410, |
161 | 0x04DE, |
162 | 0x840C, |
163 | 0x840D, |
164 | 0xAC00, |
165 | 0xA000, |
166 | 0x08C0, |
167 | 0x08E0, |
168 | 0xA40E, |
169 | 0xFC00, |
170 | 0x7C00 |
171 | }; |
172 |