You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
234 lines
6.2 KiB
234 lines
6.2 KiB
//==============================================================================
|
|
//
|
|
// Copyright (c) 2014-2021 Qualcomm Technologies, Inc.
|
|
// All Rights Reserved.
|
|
// Confidential and Proprietary - Qualcomm Technologies, Inc.
|
|
//
|
|
//==============================================================================
|
|
|
|
#ifndef _DL_ENUMS_HPP_
|
|
#define _DL_ENUMS_HPP_
|
|
|
|
#include "DlSystem/ZdlExportDefine.hpp"
|
|
|
|
|
|
namespace zdl {
|
|
namespace DlSystem
|
|
{
|
|
/** @addtogroup c_plus_plus_apis C++
|
|
@{ */
|
|
|
|
/**
|
|
* Enumeration of supported target runtimes.
|
|
*/
|
|
enum class Runtime_t
|
|
{
|
|
/// Run the processing on Snapdragon CPU.
|
|
/// Data: float 32bit
|
|
/// Math: float 32bit
|
|
CPU_FLOAT32 = 0,
|
|
|
|
/// Run the processing on the Adreno GPU.
|
|
/// Data: float 16bit
|
|
/// Math: float 32bit
|
|
GPU_FLOAT32_16_HYBRID = 1,
|
|
|
|
/// Run the processing on the Hexagon DSP.
|
|
/// Data: 8bit fixed point Tensorflow style format
|
|
/// Math: 8bit fixed point Tensorflow style format
|
|
DSP_FIXED8_TF = 2,
|
|
|
|
/// Run the processing on the Adreno GPU.
|
|
/// Data: float 16bit
|
|
/// Math: float 16bit
|
|
GPU_FLOAT16 = 3,
|
|
|
|
/// Run the processing on Snapdragon AIX+HVX.
|
|
/// Data: 8bit fixed point Tensorflow style format
|
|
/// Math: 8bit fixed point Tensorflow style format
|
|
AIP_FIXED8_TF = 5,
|
|
AIP_FIXED_TF = AIP_FIXED8_TF,
|
|
|
|
/// Default legacy enum to retain backward compatibility.
|
|
/// CPU = CPU_FLOAT32
|
|
CPU = CPU_FLOAT32,
|
|
|
|
/// Default legacy enum to retain backward compatibility.
|
|
/// GPU = GPU_FLOAT32_16_HYBRID
|
|
GPU = GPU_FLOAT32_16_HYBRID,
|
|
|
|
/// Default legacy enum to retain backward compatibility.
|
|
/// DSP = DSP_FIXED8_TF
|
|
DSP = DSP_FIXED8_TF,
|
|
|
|
/// Special value indicating the property is unset.
|
|
UNSET = -1
|
|
};
|
|
|
|
/**
|
|
* Enumeration of runtime available check options.
|
|
*/
|
|
enum class RuntimeCheckOption_t
|
|
{
|
|
/// Perform standard runtime available check
|
|
DEFAULT = 0,
|
|
/// Perform standard runtime available check
|
|
NORMAL_CHECK = 0,
|
|
/// Perform basic runtime available check, may be runtime specific
|
|
BASIC_CHECK = 1,
|
|
/// Perform unsignedPD runtime available check
|
|
UNSIGNEDPD_CHECK = 2,
|
|
};
|
|
|
|
/**
|
|
* Enumeration of various performance profiles that can be requested.
|
|
*/
|
|
enum class PerformanceProfile_t
|
|
{
|
|
/// Run in a standard mode.
|
|
/// This mode will be deprecated in the future and replaced with BALANCED.
|
|
DEFAULT = 0,
|
|
/// Run in a balanced mode.
|
|
BALANCED = 0,
|
|
|
|
/// Run in high performance mode
|
|
HIGH_PERFORMANCE = 1,
|
|
|
|
/// Run in a power sensitive mode, at the expense of performance.
|
|
POWER_SAVER = 2,
|
|
|
|
/// Use system settings. SNPE makes no calls to any performance related APIs.
|
|
SYSTEM_SETTINGS = 3,
|
|
|
|
/// Run in sustained high performance mode
|
|
SUSTAINED_HIGH_PERFORMANCE = 4,
|
|
|
|
/// Run in burst mode
|
|
BURST = 5,
|
|
|
|
/// Run in lower clock than POWER_SAVER, at the expense of performance.
|
|
LOW_POWER_SAVER = 6,
|
|
|
|
/// Run in higher clock and provides better performance than POWER_SAVER.
|
|
HIGH_POWER_SAVER = 7,
|
|
|
|
/// Run in lower balanced mode
|
|
LOW_BALANCED = 8,
|
|
};
|
|
|
|
/**
|
|
* Enumeration of various profilngLevels that can be requested.
|
|
*/
|
|
enum class ProfilingLevel_t
|
|
{
|
|
/// No profiling.
|
|
/// Collects no runtime stats in the DiagLog
|
|
OFF = 0,
|
|
|
|
/// Basic profiling
|
|
/// Collects some runtime stats in the DiagLog
|
|
BASIC = 1,
|
|
|
|
/// Detailed profiling
|
|
/// Collects more runtime stats in the DiagLog, including per-layer statistics
|
|
/// Performance may be impacted
|
|
DETAILED = 2,
|
|
|
|
/// Moderate profiling
|
|
/// Collects more runtime stats in the DiagLog, no per-layer statistics
|
|
MODERATE = 3
|
|
};
|
|
|
|
/**
|
|
* Enumeration of various execution priority hints.
|
|
*/
|
|
enum class ExecutionPriorityHint_t
|
|
{
|
|
/// Normal priority
|
|
NORMAL = 0,
|
|
|
|
/// Higher than normal priority
|
|
HIGH = 1,
|
|
|
|
/// Lower priority
|
|
LOW = 2
|
|
|
|
};
|
|
|
|
/** @} */ /* end_addtogroup c_plus_plus_apis C++*/
|
|
|
|
/**
|
|
* Enumeration that lists the supported image encoding formats.
|
|
*/
|
|
enum class ImageEncoding_t
|
|
{
|
|
/// For unknown image type. Also used as a default value for ImageEncoding_t.
|
|
UNKNOWN = 0,
|
|
|
|
/// The RGB format consists of 3 bytes per pixel: one byte for
|
|
/// Red, one for Green, and one for Blue. The byte ordering is
|
|
/// endian independent and is always in RGB byte order.
|
|
RGB = 1,
|
|
|
|
/// The ARGB32 format consists of 4 bytes per pixel: one byte for
|
|
/// Red, one for Green, one for Blue, and one for the alpha channel.
|
|
/// The alpha channel is ignored. The byte ordering depends on the
|
|
/// underlying CPU. For little endian CPUs, the byte order is BGRA.
|
|
/// For big endian CPUs, the byte order is ARGB.
|
|
ARGB32 = 2,
|
|
|
|
/// The RGBA format consists of 4 bytes per pixel: one byte for
|
|
/// Red, one for Green, one for Blue, and one for the alpha channel.
|
|
/// The alpha channel is ignored. The byte ordering is endian independent
|
|
/// and is always in RGBA byte order.
|
|
RGBA = 3,
|
|
|
|
/// The GRAYSCALE format is for 8-bit grayscale.
|
|
GRAYSCALE = 4,
|
|
|
|
/// NV21 is the Android version of YUV. The Chrominance is down
|
|
/// sampled and has a subsampling ratio of 4:2:0. Note that this
|
|
/// image format has 3 channels, but the U and V channels
|
|
/// are subsampled. For every four Y pixels there is one U and one V pixel. @newpage
|
|
NV21 = 5,
|
|
|
|
/// The BGR format consists of 3 bytes per pixel: one byte for
|
|
/// Red, one for Green and one for Blue. The byte ordering is
|
|
/// endian independent and is always BGR byte order.
|
|
BGR = 6
|
|
};
|
|
|
|
/**
|
|
* Enumeration that lists the supported LogLevels that can be set by users.
|
|
*/
|
|
enum class LogLevel_t
|
|
{
|
|
/// Enumeration variable to be used by user to set logging level to FATAL.
|
|
LOG_FATAL = 0,
|
|
|
|
/// Enumeration variable to be used by user to set logging level to ERROR.
|
|
LOG_ERROR = 1,
|
|
|
|
/// Enumeration variable to be used by user to set logging level to WARN.
|
|
LOG_WARN = 2,
|
|
|
|
/// Enumeration variable to be used by user to set logging level to INFO.
|
|
LOG_INFO = 3,
|
|
|
|
/// Enumeration variable to be used by user to set logging level to VERBOSE.
|
|
LOG_VERBOSE = 4
|
|
};
|
|
|
|
typedef enum : int
|
|
{
|
|
UNSPECIFIED = 0,
|
|
FLOATING_POINT_32 = 1,
|
|
FLOATING_POINT_16 = 2,
|
|
FIXED_POINT_8 = 3,
|
|
FIXED_POINT_16 = 4
|
|
} IOBufferDataType_t;
|
|
|
|
}} // namespaces end
|
|
|
|
|
|
#endif
|
|
|