xref: /aosp_15_r20/external/libxaac/encoder/ixheaace_error_codes.h (revision 15dc779a375ca8b5125643b829a8aa4b70d7f451)
1 /******************************************************************************
2  *                                                                            *
3  * Copyright (C) 2023 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at:
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *****************************************************************************
18  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19  */
20 
21 #pragma once
22 /*****************************************************************************/
23 /* Constant hashdefines                                                      */
24 /*****************************************************************************/
25 
26 /*****************************************************************************/
27 /* Ittiam enhaacplus_enc ErrorCode Definitions                             */
28 /*****************************************************************************/
29 
30 typedef enum {
31   /*****************************************************************************/
32   /* Class 0: API Errors                                                       */
33   /*****************************************************************************/
34   /* Non Fatal Errors */
35 
36   // AAC Profiles
37 
38   // MPS
39 
40   // USAC
41 
42   // DRC
43 
44   /* Fatal Errors */
45 
46   // AAC Profiles
47   IA_EXHEAACE_API_FATAL_MEM_ALLOC = 0xFFFF8000,
48   IA_EXHEAACE_API_FATAL_UNSUPPORTED_AOT,
49 
50   // MPS
51 
52   // USAC
53 
54   // DRC
55 
56   /*****************************************************************************/
57   /* Class 1: Configuration Errors                                             */
58   /*****************************************************************************/
59   /* Non Fatal Errors */
60 
61   // AAC profiles
62   IA_EXHEAACE_CONFIG_NONFATAL_INVALID_CONFIG = 0x00000800,
63   IA_EXHEAACE_CONFIG_NONFATAL_BITRES_SIZE_TOO_SMALL,
64 
65   // MPS
66   IA_EXHEAACE_CONFIG_NONFATAL_MPS_INVALID_CONFIG = 0x00000900,
67   IA_EXHEAACE_CONFIG_NONFATAL_MPS_PARAM_ERROR,
68 
69   // USAC
70 
71   // DRC
72   IA_EXHEAACE_CONFIG_NONFATAL_DRC_MISSING_CONFIG = 0x00000B00,
73   /* Fatal Errors */
74 
75   // AAC profiles
76   IA_EXHEAACE_CONFIG_FATAL_SAMP_FREQ = 0xFFFF8800,
77   IA_EXHEAACE_CONFIG_FATAL_NUM_CHANNELS,
78   IA_EXHEAACE_CONFIG_FATAL_USE_STEREO_PRE_PROC,
79   IA_EXHEAACE_CONFIG_FATAL_QUALITY_LEVEL,
80   IA_EXHEAACE_CONFIG_FATAL_PCM_WDSZ,
81   IA_EXHEAACE_CONFIG_FATAL_AAC_CLASSIC_WITH_PS,
82   IA_EXHEAACE_CONFIG_FATAL_USE_TNS,
83   IA_EXHEAACE_CONFIG_FATAL_CHANNELS_MASK,
84   IA_EXHEAACE_CONFIG_FATAL_WRITE_PCE,
85   IA_EXHEAACE_CONFIG_FATAL_USE_FULL_BANDWIDTH,
86   // MPS
87 
88   // USAC
89   IA_EXHEAACE_CONFIG_FATAL_USAC_SAMP_FREQ = 0xFFFF8A00,
90   IA_EXHEAACE_CONFIG_FATAL_USAC_RESAMPLER_RATIO,
91 
92   // DRC
93   IA_EXHEAACE_CONFIG_FATAL_DRC_INVALID_CONFIG = 0xFFFF8B00,
94   IA_EXHEAACE_CONFIG_FATAL_DRC_UNSUPPORTED_CONFIG,
95   IA_EXHEAACE_CONFIG_FATAL_DRC_PARAM_OUT_OF_RANGE,
96   IA_EXHEAACE_CONFIG_FATAL_DRC_COMPAND_FAILED,
97   /*****************************************************************************/
98   /* Class 2: Initialization Errors                                             */
99   /*****************************************************************************/
100   /* Non Fatal Errors */
101 
102   //DRC
103   IA_EXHEAACE_EXE_NONFATAL_USAC_INVALID_GAIN_POINTS = 0x00001300,
104   IA_EXHEAACE_EXE_NONFATAL_USAC_INVALID_SUBBAND_INDEX,
105   /* Fatal Errors */
106 
107   // AAC Profiles
108   IA_EXHEAACE_INIT_FATAL_RESAMPLER_INIT_FAILED = 0xFFFF9000,
109   IA_EXHEAACE_INIT_FATAL_AAC_INIT_FAILED,
110   IA_EXHEAACE_INIT_FATAL_AACPLUS_NOT_AVAIL,
111   IA_EXHEAACE_INIT_FATAL_BITRATE_NOT_SUPPORTED,
112   IA_EXHEAACE_INIT_FATAL_INVALID_TNS_PARAM,
113   IA_EXHEAACE_INIT_FATAL_SCALE_FACTOR_BAND_NOT_SUPPORTED,
114   IA_EXHEAACE_INIT_FATAL_INVALID_CORE_SAMPLE_RATE,
115   IA_EXHEAACE_INIT_FATAL_INVALID_ELEMENT_TYPE,
116   IA_EXHEAACE_INIT_FATAL_NUM_CHANNELS_NOT_SUPPORTED,
117   IA_EXHEAACE_INIT_FATAL_INVALID_NUM_CHANNELS_IN_ELE,
118   IA_EXHEAACE_INIT_FATAL_SFB_TABLE_INIT_FAILED,
119   IA_EXHEAACE_INIT_FATAL_TNS_CONFIG_INIT_FAILED,
120 
121   // MPS
122   IA_EXHEAACE_INIT_FATAL_MPS_INIT_FAILED = 0xFFFF9100,
123 
124   // USAC
125   IA_EXHEAACE_INIT_FATAL_USAC_RESAMPLER_INIT_FAILED = 0xFFFF9200,
126   IA_EXHEAACE_INIT_FATAL_USAC_BITRES_SIZE_TOO_SMALL,
127   IA_EXHEAACE_INIT_FATAL_USAC_INVALID_CORE_SAMPLE_RATE,
128   IA_EXHEAACE_INIT_FATAL_USAC_INVALID_ELEMENT_TYPE,
129   IA_EXHEAACE_INIT_FATAL_USAC_BITBUFFER_INIT_FAILED,
130   IA_EXHEAACE_INIT_FATAL_USAC_INVALID_CODEC_MODE,
131 
132   // DRC
133   IA_EXHEAACE_INIT_FATAL_DRC_INVALID_CHANNEL_INDEX = 0xFFFF9300,
134 
135   // SBR
136   IA_EXHEAACE_INIT_FATAL_SBR_INVALID_NUM_CHANNELS = 0xFFFF9400,
137   IA_EXHEAACE_INIT_FATAL_SBR_INVALID_SAMPLERATE_MODE,
138   IA_EXHEAACE_INIT_FATAL_SBR_INVALID_FREQ_COEFFS,
139   IA_EXHEAACE_INIT_FATAL_SBR_INVALID_NUM_BANDS,
140   IA_EXHEAACE_INIT_FATAL_SBR_INVALID_BUFFER_LENGTH,
141   IA_EXEHAACE_INIT_FATAL_SBR_NOISE_BAND_NOT_SUPPORTED,
142 
143   // PS
144   IA_EXHEAACE_INIT_FATAL_PS_INIT_FAILED = 0xFFFF9500,
145 
146   /*****************************************************************************/
147   /* Class 3: Execution Errors                                                 */
148   /*****************************************************************************/
149   /* Non Fatal Errors */
150 
151   // AAC Profiles
152   IA_EXHEAACE_EXE_NONFATAL_QUANTIZATION_SPECTRUM_ZERO = 0x00001800,
153   IA_EXHEAACE_EXE_NONFATAL_QUANTIZATION_INSUFFICIENT_BITRES,
154   // MPS
155   IA_EXHEAACE_EXE_NONFATAL_MPS_ENCODE_ERROR = 0x00001900,
156   IA_EXHEAACE_EXE_NONFATAL_MPS_INVALID_DATA_BANDS,
157 
158   // USAC
159   IA_EXHEAACE_EXE_NONFATAL_USAC_QUANTIZATION_SPECTRUM_ZERO = 0x00001A00,
160   IA_EXHEAACE_EXE_NONFATAL_USAC_QUANTIZATION_INSUFFICIENT_BITRES,
161   // DRC
162 
163   // ESBR
164   IA_EXHEAACE_EXE_NONFATAL_ESBR_INVALID_BANDWIDTH_INDEX = 0x00001C00,
165   IA_EXHEAACE_EXE_NONFATAL_ESBR_INVALID_NUM_PATCH,
166   IA_EXHEAACE_EXE_NONFATAL_ESBR_INVALID_VOCOD_BUF,
167   IA_EXHEAACE_EXE_NONFATAL_ESBR_INVALID_PVC_MODE,
168   IA_EXHEAACE_EXE_NONFATAL_ESBR_INVALID_FFT,
169   IA_EXHEAACE_EXE_NONFATAL_ESBR_INVALID_START_BAND,
170   IA_EXHEAACE_EXE_NONFATAL_ESBR_INVALID_VALUE,
171 
172   /* Fatal Errors */
173 
174   // AAC Profiles
175   IA_EXHEAACE_EXE_FATAL_SBR_INVALID_TIME_SLOTS = 0xFFFF9800,
176   IA_EXHEAACE_EXE_FATAL_SBR_INVALID_IN_CHANNELS,
177   IA_EXHEAACE_EXE_FATAL_PS_INVALID_HYBRID_RES_VAL,
178   IA_EXHEAACE_EXE_FATAL_UNSUPPORTED_AOT,
179   IA_EXHEAACE_EXE_FATAL_INVALID_BLOCK_TYPE,
180   IA_EXHEAACE_EXE_FATAL_INVALID_SBR_FRAME_TYPE,
181   IA_EXHEAACE_EXE_FATAL_INVALID_SBR_NUM_ENVELOPES,
182   IA_EXHEAACE_EXE_FATAL_SBR_INVALID_BS,
183   IA_EXHEAACE_EXE_FATAL_SBR_INVALID_CODEBOOK,
184   IA_EXHEAACE_EXE_FATAL_INVALID_SCALE_FACTOR_GAIN,
185   IA_EXHEAACE_EXE_FATAL_INVALID_BIT_RES_LEVEL,
186   IA_EXHEAACE_EXE_FATAL_INVALID_BIT_CONSUMPTION,
187   IA_EXHEAACE_EXE_FATAL_INVALID_SIDE_INFO_BITS,
188   IA_EXHEAACE_EXE_FATAL_INVALID_HUFFMAN_BITS,
189   IA_EXHEAACE_EXE_FATAL_INVALID_SCALE_FACTOR_BITS,
190   IA_EXHEAACE_EXE_FATAL_SBR_INVALID_AMP_RES,
191   IA_EXHEAACE_EXE_FATAL_INVALID_OUT_BYTES,
192   IA_EXHEAACE_EXE_FATAL_INVALID_TNS_FILT_ORDER,
193   IA_EXHEAACE_EXE_FATAL_SBR_INVALID_SAMP_FREQ,
194 
195   // MPS
196   IA_EXHEAACE_EXE_FATAL_MPS_NULL_DATA_HANDLE = 0xFFFF9900,
197   IA_EXHEAACE_EXE_FATAL_MPS_INVALID_HUFF_DATA_TYPE,
198   IA_EXHEAACE_EXE_FATAL_MPS_INVALID_NUM_PARAM_SETS,
199   IA_EXHEAACE_EXE_FATAL_MPS_UNSUPPORTED_GUIDED_ENV_SHAPE,
200   IA_EXHEAACE_EXE_FATAL_MPS_3D_STEREO_MODE_NOT_SUPPORTED,
201   IA_EXHEAACE_EXE_FATAL_MPS_UNSUPPORTED_RESIDUAL_CODING,
202   IA_EXHEAACE_EXE_FATAL_MPS_UNSUPPORTED_ARBITARY_DOWNMIX_CODING,
203   IA_EXHEAACE_EXE_FATAL_MPS_ARBITARY_TREE_NOT_SUPPORTED,
204   IA_EXHEAACE_EXE_FATAL_MPS_INVALID_QUANT_COARSE,
205   IA_EXHEAACE_EXE_FATAL_MPS_INVALID_RES_STRIDE,
206   IA_EXHEAACE_EXE_FATAL_MPS_INVALID_LEVELS,
207   IA_EXHEAACE_EXE_FATAL_MPS_CFFT_PROCESS,
208 
209   // USAC
210   IA_EXHEAACE_EXE_FATAL_USAC_INVALID_FAC_LEN = 0xFFFF9A00,
211   IA_EXHEAACE_EXE_FATAL_USAC_INVALID_NUM_SBK,
212   IA_EXHEAACE_EXE_FATAL_USAC_INVALID_NUM_CHANNEL,
213   IA_EXHEAACE_EXE_FATAL_USAC_INVALID_BIT_RSVR_LVL,
214   IA_EXHEAACE_EXE_FATAL_USAC_INVALID_MAPPING,
215   IA_EXHEAACE_EXE_FATAL_USAC_INVALID_WINDOW_TYPE,
216   IA_EXHEAACE_EXE_FATAL_USAC_INVALID_WINDOW_LENGTH,
217   IA_EXHEAACE_EXE_FATAL_USAC_INVALID_WINDOW_SHAPE,
218 
219   // DRC
220 
221 } ixheaace_error_codes;
222