Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (c) 2019, Alliance for Open Media. All rights reserved |
| 3 | * |
| 4 | * This source code is subject to the terms of the BSD 2 Clause License and |
| 5 | * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License |
| 6 | * was not distributed with this source code in the LICENSE file, you can |
| 7 | * obtain it at www.aomedia.org/license/software. If the Alliance for Open |
| 8 | * Media Patent License 1.0 was not distributed with this source code in the |
| 9 | * PATENTS file, you can obtain it at www.aomedia.org/license/patent. |
| 10 | */ |
| 11 | |
| 12 | #ifndef AOM_AV1_ENCODER_ENC_ENUMS_H_ |
| 13 | #define AOM_AV1_ENCODER_ENC_ENUMS_H_ |
| 14 | |
| 15 | #ifdef __cplusplus |
| 16 | extern "C" { |
| 17 | #endif |
| 18 | |
| 19 | // This enumerator type needs to be kept aligned with the mode order in |
chiyotsai | e11f587 | 2019-10-15 10:50:12 -0700 | [diff] [blame] | 20 | // const MODE_DEFINITION av1_mode_defs[MAX_MODES] used in the rd code. |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 21 | enum { |
| 22 | THR_NEARESTMV, |
| 23 | THR_NEARESTL2, |
| 24 | THR_NEARESTL3, |
| 25 | THR_NEARESTB, |
| 26 | THR_NEARESTA2, |
| 27 | THR_NEARESTA, |
| 28 | THR_NEARESTG, |
| 29 | |
| 30 | THR_NEWMV, |
| 31 | THR_NEWL2, |
| 32 | THR_NEWL3, |
| 33 | THR_NEWB, |
| 34 | THR_NEWA2, |
| 35 | THR_NEWA, |
| 36 | THR_NEWG, |
| 37 | |
| 38 | THR_NEARMV, |
| 39 | THR_NEARL2, |
| 40 | THR_NEARL3, |
| 41 | THR_NEARB, |
| 42 | THR_NEARA2, |
| 43 | THR_NEARA, |
| 44 | THR_NEARG, |
| 45 | |
| 46 | THR_GLOBALMV, |
| 47 | THR_GLOBALL2, |
| 48 | THR_GLOBALL3, |
| 49 | THR_GLOBALB, |
| 50 | THR_GLOBALA2, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 51 | THR_GLOBALA, |
Yunqing Wang | 599e58e | 2019-08-26 17:55:17 -0700 | [diff] [blame] | 52 | THR_GLOBALG, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 53 | |
| 54 | THR_COMP_NEAREST_NEARESTLA, |
| 55 | THR_COMP_NEAREST_NEARESTL2A, |
| 56 | THR_COMP_NEAREST_NEARESTL3A, |
| 57 | THR_COMP_NEAREST_NEARESTGA, |
| 58 | THR_COMP_NEAREST_NEARESTLB, |
| 59 | THR_COMP_NEAREST_NEARESTL2B, |
| 60 | THR_COMP_NEAREST_NEARESTL3B, |
| 61 | THR_COMP_NEAREST_NEARESTGB, |
| 62 | THR_COMP_NEAREST_NEARESTLA2, |
| 63 | THR_COMP_NEAREST_NEARESTL2A2, |
| 64 | THR_COMP_NEAREST_NEARESTL3A2, |
| 65 | THR_COMP_NEAREST_NEARESTGA2, |
| 66 | THR_COMP_NEAREST_NEARESTLL2, |
| 67 | THR_COMP_NEAREST_NEARESTLL3, |
| 68 | THR_COMP_NEAREST_NEARESTLG, |
| 69 | THR_COMP_NEAREST_NEARESTBA, |
| 70 | |
Jingning Han | 47a72d4 | 2020-11-18 13:16:31 -0800 | [diff] [blame] | 71 | THR_COMP_NEAR_NEARLB, |
| 72 | THR_COMP_NEW_NEWLB, |
| 73 | THR_COMP_NEW_NEARESTLB, |
| 74 | THR_COMP_NEAREST_NEWLB, |
| 75 | THR_COMP_NEW_NEARLB, |
| 76 | THR_COMP_NEAR_NEWLB, |
| 77 | THR_COMP_GLOBAL_GLOBALLB, |
| 78 | |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 79 | THR_COMP_NEAR_NEARLA, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 80 | THR_COMP_NEW_NEWLA, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 81 | THR_COMP_NEW_NEARESTLA, |
| 82 | THR_COMP_NEAREST_NEWLA, |
| 83 | THR_COMP_NEW_NEARLA, |
| 84 | THR_COMP_NEAR_NEWLA, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 85 | THR_COMP_GLOBAL_GLOBALLA, |
| 86 | |
| 87 | THR_COMP_NEAR_NEARL2A, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 88 | THR_COMP_NEW_NEWL2A, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 89 | THR_COMP_NEW_NEARESTL2A, |
| 90 | THR_COMP_NEAREST_NEWL2A, |
| 91 | THR_COMP_NEW_NEARL2A, |
| 92 | THR_COMP_NEAR_NEWL2A, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 93 | THR_COMP_GLOBAL_GLOBALL2A, |
| 94 | |
| 95 | THR_COMP_NEAR_NEARL3A, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 96 | THR_COMP_NEW_NEWL3A, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 97 | THR_COMP_NEW_NEARESTL3A, |
| 98 | THR_COMP_NEAREST_NEWL3A, |
| 99 | THR_COMP_NEW_NEARL3A, |
| 100 | THR_COMP_NEAR_NEWL3A, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 101 | THR_COMP_GLOBAL_GLOBALL3A, |
| 102 | |
| 103 | THR_COMP_NEAR_NEARGA, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 104 | THR_COMP_NEW_NEWGA, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 105 | THR_COMP_NEW_NEARESTGA, |
| 106 | THR_COMP_NEAREST_NEWGA, |
| 107 | THR_COMP_NEW_NEARGA, |
| 108 | THR_COMP_NEAR_NEWGA, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 109 | THR_COMP_GLOBAL_GLOBALGA, |
| 110 | |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 111 | THR_COMP_NEAR_NEARL2B, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 112 | THR_COMP_NEW_NEWL2B, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 113 | THR_COMP_NEW_NEARESTL2B, |
| 114 | THR_COMP_NEAREST_NEWL2B, |
| 115 | THR_COMP_NEW_NEARL2B, |
| 116 | THR_COMP_NEAR_NEWL2B, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 117 | THR_COMP_GLOBAL_GLOBALL2B, |
| 118 | |
| 119 | THR_COMP_NEAR_NEARL3B, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 120 | THR_COMP_NEW_NEWL3B, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 121 | THR_COMP_NEW_NEARESTL3B, |
| 122 | THR_COMP_NEAREST_NEWL3B, |
| 123 | THR_COMP_NEW_NEARL3B, |
| 124 | THR_COMP_NEAR_NEWL3B, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 125 | THR_COMP_GLOBAL_GLOBALL3B, |
| 126 | |
| 127 | THR_COMP_NEAR_NEARGB, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 128 | THR_COMP_NEW_NEWGB, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 129 | THR_COMP_NEW_NEARESTGB, |
| 130 | THR_COMP_NEAREST_NEWGB, |
| 131 | THR_COMP_NEW_NEARGB, |
| 132 | THR_COMP_NEAR_NEWGB, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 133 | THR_COMP_GLOBAL_GLOBALGB, |
| 134 | |
| 135 | THR_COMP_NEAR_NEARLA2, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 136 | THR_COMP_NEW_NEWLA2, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 137 | THR_COMP_NEW_NEARESTLA2, |
| 138 | THR_COMP_NEAREST_NEWLA2, |
| 139 | THR_COMP_NEW_NEARLA2, |
| 140 | THR_COMP_NEAR_NEWLA2, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 141 | THR_COMP_GLOBAL_GLOBALLA2, |
| 142 | |
| 143 | THR_COMP_NEAR_NEARL2A2, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 144 | THR_COMP_NEW_NEWL2A2, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 145 | THR_COMP_NEW_NEARESTL2A2, |
| 146 | THR_COMP_NEAREST_NEWL2A2, |
| 147 | THR_COMP_NEW_NEARL2A2, |
| 148 | THR_COMP_NEAR_NEWL2A2, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 149 | THR_COMP_GLOBAL_GLOBALL2A2, |
| 150 | |
| 151 | THR_COMP_NEAR_NEARL3A2, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 152 | THR_COMP_NEW_NEWL3A2, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 153 | THR_COMP_NEW_NEARESTL3A2, |
| 154 | THR_COMP_NEAREST_NEWL3A2, |
| 155 | THR_COMP_NEW_NEARL3A2, |
| 156 | THR_COMP_NEAR_NEWL3A2, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 157 | THR_COMP_GLOBAL_GLOBALL3A2, |
| 158 | |
| 159 | THR_COMP_NEAR_NEARGA2, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 160 | THR_COMP_NEW_NEWGA2, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 161 | THR_COMP_NEW_NEARESTGA2, |
| 162 | THR_COMP_NEAREST_NEWGA2, |
| 163 | THR_COMP_NEW_NEARGA2, |
| 164 | THR_COMP_NEAR_NEWGA2, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 165 | THR_COMP_GLOBAL_GLOBALGA2, |
| 166 | |
| 167 | THR_COMP_NEAR_NEARLL2, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 168 | THR_COMP_NEW_NEWLL2, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 169 | THR_COMP_NEW_NEARESTLL2, |
| 170 | THR_COMP_NEAREST_NEWLL2, |
| 171 | THR_COMP_NEW_NEARLL2, |
| 172 | THR_COMP_NEAR_NEWLL2, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 173 | THR_COMP_GLOBAL_GLOBALLL2, |
| 174 | |
| 175 | THR_COMP_NEAR_NEARLL3, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 176 | THR_COMP_NEW_NEWLL3, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 177 | THR_COMP_NEW_NEARESTLL3, |
| 178 | THR_COMP_NEAREST_NEWLL3, |
| 179 | THR_COMP_NEW_NEARLL3, |
| 180 | THR_COMP_NEAR_NEWLL3, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 181 | THR_COMP_GLOBAL_GLOBALLL3, |
| 182 | |
| 183 | THR_COMP_NEAR_NEARLG, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 184 | THR_COMP_NEW_NEWLG, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 185 | THR_COMP_NEW_NEARESTLG, |
| 186 | THR_COMP_NEAREST_NEWLG, |
| 187 | THR_COMP_NEW_NEARLG, |
| 188 | THR_COMP_NEAR_NEWLG, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 189 | THR_COMP_GLOBAL_GLOBALLG, |
| 190 | |
| 191 | THR_COMP_NEAR_NEARBA, |
Jingning Han | 41122a6 | 2020-11-11 23:34:23 -0800 | [diff] [blame] | 192 | THR_COMP_NEW_NEWBA, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 193 | THR_COMP_NEW_NEARESTBA, |
| 194 | THR_COMP_NEAREST_NEWBA, |
| 195 | THR_COMP_NEW_NEARBA, |
| 196 | THR_COMP_NEAR_NEWBA, |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 197 | THR_COMP_GLOBAL_GLOBALBA, |
| 198 | |
| 199 | THR_DC, |
| 200 | THR_PAETH, |
| 201 | THR_SMOOTH, |
| 202 | THR_SMOOTH_V, |
| 203 | THR_SMOOTH_H, |
| 204 | THR_H_PRED, |
| 205 | THR_V_PRED, |
| 206 | THR_D135_PRED, |
| 207 | THR_D203_PRED, |
| 208 | THR_D157_PRED, |
| 209 | THR_D67_PRED, |
| 210 | THR_D113_PRED, |
| 211 | THR_D45_PRED, |
| 212 | |
| 213 | MAX_MODES, |
chiyotsai | e11f587 | 2019-10-15 10:50:12 -0700 | [diff] [blame] | 214 | SINGLE_REF_MODE_START = THR_NEARESTMV, |
| 215 | SINGLE_REF_MODE_END = THR_COMP_NEAREST_NEARESTLA, |
| 216 | NUM_SINGLE_REF_MODES = SINGLE_REF_MODE_END - SINGLE_REF_MODE_START, |
chiyotsai | 6fcf373 | 2020-02-04 18:12:51 -0800 | [diff] [blame] | 217 | THR_MODE_START = THR_NEARESTMV, |
| 218 | THR_MODE_END = MAX_MODES, |
Yunqing Wang | b092e46 | 2021-06-01 13:01:33 -0700 | [diff] [blame] | 219 | THR_INTER_MODE_START = THR_MODE_START, |
| 220 | THR_INTER_MODE_END = THR_DC, |
chiyotsai | 2b471a3 | 2019-10-18 16:31:24 -0700 | [diff] [blame] | 221 | THR_INVALID = 255 |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 222 | } UENUM1BYTE(THR_MODES); |
| 223 | |
| 224 | enum { |
| 225 | THR_LAST, |
| 226 | THR_LAST2, |
| 227 | THR_LAST3, |
| 228 | THR_BWDR, |
| 229 | THR_ALTR2, |
| 230 | THR_GOLD, |
| 231 | THR_ALTR, |
| 232 | |
| 233 | THR_COMP_LA, |
| 234 | THR_COMP_L2A, |
| 235 | THR_COMP_L3A, |
| 236 | THR_COMP_GA, |
| 237 | |
| 238 | THR_COMP_LB, |
| 239 | THR_COMP_L2B, |
| 240 | THR_COMP_L3B, |
| 241 | THR_COMP_GB, |
| 242 | |
| 243 | THR_COMP_LA2, |
| 244 | THR_COMP_L2A2, |
| 245 | THR_COMP_L3A2, |
| 246 | THR_COMP_GA2, |
| 247 | |
| 248 | THR_INTRA, |
| 249 | |
| 250 | MAX_REFS |
| 251 | } UENUM1BYTE(THR_MODES_SUB8X8); |
| 252 | |
chiyotsai | c2f3841 | 2020-06-10 16:07:21 -0700 | [diff] [blame] | 253 | enum { |
| 254 | FULL_TXFM_RD, |
| 255 | LOW_TXFM_RD, |
| 256 | } UENUM1BYTE(TXFM_RD_MODEL); |
| 257 | |
| 258 | enum { |
| 259 | USE_FULL_RD = 0, |
| 260 | USE_FAST_RD, |
| 261 | USE_LARGESTALL, |
| 262 | } UENUM1BYTE(TX_SIZE_SEARCH_METHOD); |
| 263 | |
Ravi Chaudhary | b61cdea | 2019-07-05 15:01:20 +0530 | [diff] [blame] | 264 | #ifdef __cplusplus |
| 265 | } // extern "C" |
| 266 | #endif |
| 267 | |
| 268 | #endif // AOM_AV1_ENCODER_ENC_ENUMS_H_ |