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