1 /* 2 * Copyright (C) 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef ANDROID_PACKAGES_MODULES_NEURALNETWORKS_RUNTIME_NEURAL_NETWORKS_OEM_H 18 #define ANDROID_PACKAGES_MODULES_NEURALNETWORKS_RUNTIME_NEURAL_NETWORKS_OEM_H 19 20 /****************************************************************** 21 * 22 * IMPORTANT NOTICE: 23 * 24 * OEM operation and operand types are DEPRECATED. Use Extensions instead. 25 * 26 * This file is not intended for use by general developers -- only 27 * by OEM applications. The semantics of each enum are OEM-specific 28 * and may change at any time. 29 * 30 * OEM source AND binary code relies on the definitions 31 * here to be FROZEN ON ALL UPCOMING PLATFORM RELEASES. 32 * 33 * - DO NOT MODIFY ENUMS (EXCEPT IF YOU ADD NEW 32-BIT VALUES) 34 * - DO NOT MODIFY CONSTANTS OR FUNCTIONAL MACROS 35 * - DO NOT CHANGE THE SIGNATURE OF FUNCTIONS IN ANY WAY 36 * - DO NOT CHANGE THE LAYOUT OR SIZE OF STRUCTURES 37 */ 38 39 enum { 40 /** 41 * DEPRECATED. Use Extensions instead. 42 * 43 * OEM specific scalar value. 44 */ 45 ANEURALNETWORKS_OEM_SCALAR = 10000, 46 47 /** 48 * DEPRECATED. Use Extensions instead. 49 * 50 * A tensor of OEM specific values. 51 */ 52 ANEURALNETWORKS_TENSOR_OEM_BYTE = 10001, 53 }; // extends OperandCode 54 55 /** 56 * Before API level 30, if a model contains an 57 * {@link ANEURALNETWORKS_OEM_OPERATION}, then either the model must contain 58 * only a single operation, or every tensor operand type in the model must be 59 * fully specified. 60 */ 61 enum { 62 /** 63 * DEPRECATED. Use Extensions instead. 64 * 65 * OEM specific operation. 66 */ 67 ANEURALNETWORKS_OEM_OPERATION = 10000, 68 }; // extends OperationCode 69 70 #endif // ANDROID_PACKAGES_MODULES_NEURALNETWORKS_RUNTIME_NEURAL_NETWORKS_OEM_H 71