常量HmppResult枚举了HMPP函数返回的状态值,表明操作是否有错误。
详细的信号处理函数的有效状态值以及错误信息请参见函数返回值。
typedef enum { HMPP_ALG_AUTO, // Automatic algorithm selection based on the data scale. HMPP_ALG_DEFAULT, // Direct calculation based on definition. HMPP_ALG_FFT, // Use FFT to accelerate computing. } HmppAlgMode;
typedef enum { HMPP_NORM_NORMAL, HMPP_NORM_BIASED, HMPP_NORM_UNBIASED, } HmppNormMode;
typedef enum { HMPP_CMP_LESS, //当src[i]<level时,将level的值赋给dst[i],否则将src[i]的值赋给dst[i]. HMPP_CMP_GREATER //当src[i]>level时,将level的值赋给dst[i],否则将src[i]的值赋给dst[i]. } HmppCmpOp;
typedef enum { HMPP_RND_ZERO, //取整舍入,对于浮点数输入,强制转换为整型输出 HMPP_RND_NEAR, //最近偶数舍入,四舍六入五取偶 HMPP_RND_FINANCIAL //四舍五入 } HmppRoundMode;
typedef enum { HMPP_ALGHINT_NONE, //与HmppAlgHintAccurate一样,保证精度,计算速度慢 HMPP_ALGHINT_FAST, //计算速度快,有精度损失 HMPP_ALGHINT_ACCURATE //保证结果精度,计算速度慢 } HmppHintAlgorithm;
typedef enum { HMPP_ZCR, HMPP_ZCX_OR, HMPP_ZCC } HmppZCType;
typedef enum { HMPPI_BORDER_REPL = 1, HMPPI_BORDER_WRAP = 2, HMPPI_BORDER_MIRROR = 3, HMPPI_BORDER_MIRROR_R = 4, HMPPI_BORDER_DEFAULT = 5, HMPPI_BORDER_CONST = 6, HMPPI_BORDER_TRANSP = 7, HMPPI_BORDER_IN_MEM_TOP = 0x0010, HMPPI_BORDER_IN_MEM_BOTTOM = 0x0020, HMPPI_BORDER_IN_MEM_LEFT = 0x0040, HMPPI_BORDER_IN_MEM_RIGHT = 0x0080, HMPPI_BORDER_IN_MEM = HMPPI_BORDER_IN_MEM_LEFT | HMPPI_BORDER_IN_MEM_TOP | \ HMPPI_BORDER_IN_MEM_RIGHT | HMPPI_BORDER_IN_MEM_BOTTOM, // 0xF0 } HmppiBorderType;
边界填充说明如下:
所有边框像素的值都设置为常数。使用恒定边框时,所有边框像素的值都将设置为borderValue参数中指定的恒定值。 在下图中,此常数值标记为V。红色标记的正方形对应于从源图像ROI复制的像素。
边框设置为HMPP_BORDER_CONST,填充值依据基础操作选用填充的固定值。比如膨胀功能接口其borderValue= MIN_VALUE(源数据类型的最小值),腐蚀功能接口其borderValue= MAX_VALUE(源数据类型的最大值),下图用m表示源图像数据类型固定值。
边框从边缘像素复制而来。当使用复制的border时,从源图像边界像素获得边界像素的值,如下图所示。
边框是从内存中的源图像像素获得的。如果ROI不能覆盖源图像的内部边框像素,请使用此边框类型。在这种情况下,从内存中的源图像像素获得边界像素的值。在下图中,标记为红色的正方形对应于从源图像ROI复制的像素。黑色值的正方形对应于内存中的源图像像素。
边界像素从源图像边界像素镜像而来。当使用镜像边框时,边框像素的值是从源图像边界像素获得的,如下图所示。用红色标记的正方形对应于从源图像ROI复制的像素。绿色值的正方形对应于边框像素,该边框像素从源图像像素镜像获得。
typedef enum { HMPP_AMRNB_MR475, //码率4.75kbit/s HMPP_AMRNB_MR515, //码率5.15kbit/s HMPP_AMRNB_MR59, //码率5.9kbit/s HMPP_AMRNB_MR67, //码率6.7kbit/s HMPP_AMRNB_MR74, //码率7.4kbit/s HMPP_AMRNB_MR795, //码率7.95kbit/s HMPP_AMRNB_MR102, //码率10.2kbit/s HMPP_AMRNB_MR122 //码率12.2kbit/s } HmppAmrnbMode;
typedef enum { HMPP_AMRWB_6600, //码率6.6kbit/s HMPP_AMRWB_8850, //码率8.85kbit/s HMPP_AMRWB_12650, //码率12.65kbit/s HMPP_AMRWB_14250, //码率14.25kbit/s HMPP_AMRWB_15850, //码率15.85kbit/s HMPP_AMRWB_18250, //码率18.25kbit/s HMPP_AMRWB_19850, //码率19.85kbit/s HMPP_AMRWB_23050, //码率23.05kbit/s HMPP_AMRWB_23850, //码率23.85kbit/s } HmppAmrwbMode;