| @@ -26,9 +26,9 @@ extern "C" { | |||||
| #endif | #endif | ||||
| // Current version is 1.0.0 | // Current version is 1.0.0 | ||||
| #define ACL_MAJOR_VERSION 1 | |||||
| #define ACL_MINOR_VERSION 0 | |||||
| #define ACL_PATCH_VERSION 0 | |||||
| #define ACL_MAJOR_VERSION 1 | |||||
| #define ACL_MINOR_VERSION 0 | |||||
| #define ACL_PATCH_VERSION 0 | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -70,4 +70,4 @@ ACL_FUNC_VISIBILITY aclError aclrtGetVersion(int32_t *majorVersion, int32_t *min | |||||
| } | } | ||||
| #endif | #endif | ||||
| #endif // INC_EXTERNAL_ACL_ACL_H_ | |||||
| #endif // INC_EXTERNAL_ACL_ACL_H_ | |||||
| @@ -53,109 +53,123 @@ typedef void (*aclvencCallback)(acldvppPicDesc *input, acldvppStreamDesc *output | |||||
| // Supported Pixel Format | // Supported Pixel Format | ||||
| enum acldvppPixelFormat { | enum acldvppPixelFormat { | ||||
| PIXEL_FORMAT_YUV_400 = 0, // 0 | |||||
| PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // 1 | |||||
| PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // 2 | |||||
| PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // 3 | |||||
| PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // 4 | |||||
| PIXEL_FORMAT_YUV_SEMIPLANAR_444 = 5, // 5 | |||||
| PIXEL_FORMAT_YVU_SEMIPLANAR_444 = 6, // 6 | |||||
| PIXEL_FORMAT_YUYV_PACKED_422 = 7, // 7 | |||||
| PIXEL_FORMAT_UYVY_PACKED_422 = 8, // 8 | |||||
| PIXEL_FORMAT_YVYU_PACKED_422 = 9, // 9 | |||||
| PIXEL_FORMAT_VYUY_PACKED_422 = 10, // 10 | |||||
| PIXEL_FORMAT_YUV_PACKED_444 = 11, // 11 | |||||
| PIXEL_FORMAT_RGB_888 = 12, // 12 | |||||
| PIXEL_FORMAT_BGR_888 = 13, // 13 | |||||
| PIXEL_FORMAT_ARGB_8888 = 14, // 14 | |||||
| PIXEL_FORMAT_ABGR_8888 = 15, // 15 | |||||
| PIXEL_FORMAT_RGBA_8888 = 16, // 16 | |||||
| PIXEL_FORMAT_BGRA_8888 = 17, // 17 | |||||
| PIXEL_FORMAT_YUV_SEMI_PLANNER_420_10BIT = 18, // 18 | |||||
| PIXEL_FORMAT_YVU_SEMI_PLANNER_420_10BIT = 19, // 19 | |||||
| PIXEL_FORMAT_YVU_PLANAR_420 = 20, // 20 | |||||
| PIXEL_FORMAT_YVU_PLANAR_422, | |||||
| PIXEL_FORMAT_YVU_PLANAR_444, | |||||
| PIXEL_FORMAT_RGB_444 = 23, | |||||
| PIXEL_FORMAT_BGR_444, | |||||
| PIXEL_FORMAT_ARGB_4444, | |||||
| PIXEL_FORMAT_ABGR_4444, | |||||
| PIXEL_FORMAT_RGBA_4444, | |||||
| PIXEL_FORMAT_BGRA_4444, | |||||
| PIXEL_FORMAT_RGB_555, | |||||
| PIXEL_FORMAT_BGR_555, | |||||
| PIXEL_FORMAT_RGB_565, | |||||
| PIXEL_FORMAT_BGR_565, | |||||
| PIXEL_FORMAT_ARGB_1555, | |||||
| PIXEL_FORMAT_ABGR_1555, | |||||
| PIXEL_FORMAT_RGBA_1555, | |||||
| PIXEL_FORMAT_BGRA_1555, | |||||
| PIXEL_FORMAT_ARGB_8565, | |||||
| PIXEL_FORMAT_ABGR_8565, | |||||
| PIXEL_FORMAT_RGBA_8565, | |||||
| PIXEL_FORMAT_BGRA_8565, | |||||
| PIXEL_FORMAT_RGB_BAYER_8BPP = 50, | |||||
| PIXEL_FORMAT_RGB_BAYER_10BPP, | |||||
| PIXEL_FORMAT_RGB_BAYER_12BPP, | |||||
| PIXEL_FORMAT_RGB_BAYER_14BPP, | |||||
| PIXEL_FORMAT_RGB_BAYER_16BPP, | |||||
| PIXEL_FORMAT_BGR_888_PLANAR = 70, | |||||
| PIXEL_FORMAT_HSV_888_PACKAGE, | |||||
| PIXEL_FORMAT_HSV_888_PLANAR, | |||||
| PIXEL_FORMAT_LAB_888_PACKAGE, | |||||
| PIXEL_FORMAT_LAB_888_PLANAR, | |||||
| PIXEL_FORMAT_S8C1, | |||||
| PIXEL_FORMAT_S8C2_PACKAGE, | |||||
| PIXEL_FORMAT_S8C2_PLANAR, | |||||
| PIXEL_FORMAT_S16C1, | |||||
| PIXEL_FORMAT_U8C1, | |||||
| PIXEL_FORMAT_U16C1, | |||||
| PIXEL_FORMAT_S32C1, | |||||
| PIXEL_FORMAT_U32C1, | |||||
| PIXEL_FORMAT_U64C1, | |||||
| PIXEL_FORMAT_S64C1, | |||||
| PIXEL_FORMAT_YUV_SEMIPLANAR_440 = 1000, | |||||
| PIXEL_FORMAT_YVU_SEMIPLANAR_440, | |||||
| PIXEL_FORMAT_FLOAT32, | |||||
| PIXEL_FORMAT_BUTT, | |||||
| PIXEL_FORMAT_UNKNOWN = 10000 | |||||
| PIXEL_FORMAT_YUV_400 = 0, // 0 | |||||
| PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // 1 | |||||
| PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // 2 | |||||
| PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // 3 | |||||
| PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // 4 | |||||
| PIXEL_FORMAT_YUV_SEMIPLANAR_444 = 5, // 5 | |||||
| PIXEL_FORMAT_YVU_SEMIPLANAR_444 = 6, // 6 | |||||
| PIXEL_FORMAT_YUYV_PACKED_422 = 7, // 7 | |||||
| PIXEL_FORMAT_UYVY_PACKED_422 = 8, // 8 | |||||
| PIXEL_FORMAT_YVYU_PACKED_422 = 9, // 9 | |||||
| PIXEL_FORMAT_VYUY_PACKED_422 = 10, // 10 | |||||
| PIXEL_FORMAT_YUV_PACKED_444 = 11, // 11 | |||||
| PIXEL_FORMAT_RGB_888 = 12, // 12 | |||||
| PIXEL_FORMAT_BGR_888 = 13, // 13 | |||||
| PIXEL_FORMAT_ARGB_8888 = 14, // 14 | |||||
| PIXEL_FORMAT_ABGR_8888 = 15, // 15 | |||||
| PIXEL_FORMAT_RGBA_8888 = 16, // 16 | |||||
| PIXEL_FORMAT_BGRA_8888 = 17, // 17 | |||||
| PIXEL_FORMAT_YUV_SEMI_PLANNER_420_10BIT = 18, // 18 | |||||
| PIXEL_FORMAT_YVU_SEMI_PLANNER_420_10BIT = 19, // 19 | |||||
| PIXEL_FORMAT_YVU_PLANAR_420 = 20, // 20 | |||||
| PIXEL_FORMAT_YVU_PLANAR_422, | |||||
| PIXEL_FORMAT_YVU_PLANAR_444, | |||||
| PIXEL_FORMAT_RGB_444 = 23, | |||||
| PIXEL_FORMAT_BGR_444, | |||||
| PIXEL_FORMAT_ARGB_4444, | |||||
| PIXEL_FORMAT_ABGR_4444, | |||||
| PIXEL_FORMAT_RGBA_4444, | |||||
| PIXEL_FORMAT_BGRA_4444, | |||||
| PIXEL_FORMAT_RGB_555, | |||||
| PIXEL_FORMAT_BGR_555, | |||||
| PIXEL_FORMAT_RGB_565, | |||||
| PIXEL_FORMAT_BGR_565, | |||||
| PIXEL_FORMAT_ARGB_1555, | |||||
| PIXEL_FORMAT_ABGR_1555, | |||||
| PIXEL_FORMAT_RGBA_1555, | |||||
| PIXEL_FORMAT_BGRA_1555, | |||||
| PIXEL_FORMAT_ARGB_8565, | |||||
| PIXEL_FORMAT_ABGR_8565, | |||||
| PIXEL_FORMAT_RGBA_8565, | |||||
| PIXEL_FORMAT_BGRA_8565, | |||||
| PIXEL_FORMAT_RGB_BAYER_8BPP = 50, | |||||
| PIXEL_FORMAT_RGB_BAYER_10BPP, | |||||
| PIXEL_FORMAT_RGB_BAYER_12BPP, | |||||
| PIXEL_FORMAT_RGB_BAYER_14BPP, | |||||
| PIXEL_FORMAT_RGB_BAYER_16BPP, | |||||
| PIXEL_FORMAT_BGR_888_PLANAR = 70, | |||||
| PIXEL_FORMAT_HSV_888_PACKAGE, | |||||
| PIXEL_FORMAT_HSV_888_PLANAR, | |||||
| PIXEL_FORMAT_LAB_888_PACKAGE, | |||||
| PIXEL_FORMAT_LAB_888_PLANAR, | |||||
| PIXEL_FORMAT_S8C1, | |||||
| PIXEL_FORMAT_S8C2_PACKAGE, | |||||
| PIXEL_FORMAT_S8C2_PLANAR, | |||||
| PIXEL_FORMAT_S16C1, | |||||
| PIXEL_FORMAT_U8C1, | |||||
| PIXEL_FORMAT_U16C1, | |||||
| PIXEL_FORMAT_S32C1, | |||||
| PIXEL_FORMAT_U32C1, | |||||
| PIXEL_FORMAT_U64C1, | |||||
| PIXEL_FORMAT_S64C1, | |||||
| PIXEL_FORMAT_YUV_SEMIPLANAR_440 = 1000, | |||||
| PIXEL_FORMAT_YVU_SEMIPLANAR_440, | |||||
| PIXEL_FORMAT_FLOAT32, | |||||
| PIXEL_FORMAT_BUTT, | |||||
| PIXEL_FORMAT_UNKNOWN = 10000 | |||||
| }; | }; | ||||
| // Stream Format | // Stream Format | ||||
| enum acldvppStreamFormat { H265_MAIN_LEVEL = 0, H264_BASELINE_LEVEL, H264_MAIN_LEVEL, H264_HIGH_LEVEL }; | |||||
| enum acldvppStreamFormat { | |||||
| H265_MAIN_LEVEL = 0, | |||||
| H264_BASELINE_LEVEL, | |||||
| H264_MAIN_LEVEL, | |||||
| H264_HIGH_LEVEL | |||||
| }; | |||||
| // Supported Channel Mode | // Supported Channel Mode | ||||
| enum acldvppChannelMode { DVPP_CHNMODE_VPC = 1, DVPP_CHNMODE_JPEGD = 2, DVPP_CHNMODE_JPEGE = 4 }; | |||||
| enum acldvppChannelMode { | |||||
| DVPP_CHNMODE_VPC = 1, | |||||
| DVPP_CHNMODE_JPEGD = 2, | |||||
| DVPP_CHNMODE_JPEGE = 4 | |||||
| }; | |||||
| // Supported Border Type | // Supported Border Type | ||||
| enum acldvppBorderType { BORDER_CONSTANT = 0, BORDER_REPLICATE, BORDER_REFLECT, BORDER_REFLECT_101 }; | |||||
| enum acldvppBorderType { | |||||
| BORDER_CONSTANT = 0, | |||||
| BORDER_REPLICATE, | |||||
| BORDER_REFLECT, | |||||
| BORDER_REFLECT_101 | |||||
| }; | |||||
| // Venc parameter type | // Venc parameter type | ||||
| enum aclvencChannelDescParamType { | enum aclvencChannelDescParamType { | ||||
| ACL_VENC_THREAD_ID_UINT64 = 0, | |||||
| ACL_VENC_CALLBACK_PTR, | |||||
| ACL_VENC_PIXEL_FORMAT_UINT32, | |||||
| ACL_VENC_ENCODE_TYPE_UINT32, | |||||
| ACL_VENC_PIC_WIDTH_UINT32, | |||||
| ACL_VENC_PIC_HEIGHT_UINT32, | |||||
| ACL_VENC_KEY_FRAME_INTERVAL_UINT32, | |||||
| ACL_VENC_BUF_ADDR_PTR, | |||||
| ACL_VENC_BUF_SIZE_UINT32, | |||||
| ACL_VENC_RC_MODE_UINT32, | |||||
| ACL_VENC_SRC_RATE_UINT32, | |||||
| ACL_VENC_MAX_BITRATE_UINT32, | |||||
| ACL_VENC_MAX_IP_PROP_UINT32 | |||||
| ACL_VENC_THREAD_ID_UINT64 = 0, | |||||
| ACL_VENC_CALLBACK_PTR, | |||||
| ACL_VENC_PIXEL_FORMAT_UINT32, | |||||
| ACL_VENC_ENCODE_TYPE_UINT32, | |||||
| ACL_VENC_PIC_WIDTH_UINT32, | |||||
| ACL_VENC_PIC_HEIGHT_UINT32, | |||||
| ACL_VENC_KEY_FRAME_INTERVAL_UINT32, | |||||
| ACL_VENC_BUF_ADDR_PTR, | |||||
| ACL_VENC_BUF_SIZE_UINT32, | |||||
| ACL_VENC_RC_MODE_UINT32, | |||||
| ACL_VENC_SRC_RATE_UINT32, | |||||
| ACL_VENC_MAX_BITRATE_UINT32, | |||||
| ACL_VENC_MAX_IP_PROP_UINT32 | |||||
| }; | }; | ||||
| // Jpeg picture format | // Jpeg picture format | ||||
| enum acldvppJpegFormat { | enum acldvppJpegFormat { | ||||
| ACL_JPEG_CSS_444 = 0, | |||||
| ACL_JPEG_CSS_422, | |||||
| ACL_JPEG_CSS_420, | |||||
| ACL_JPEG_CSS_GRAY, | |||||
| ACL_JPEG_CSS_440, | |||||
| ACL_JPEG_CSS_411, | |||||
| ACL_JPEG_CSS_UNKNOWN = 1000 | |||||
| ACL_JPEG_CSS_444 = 0, | |||||
| ACL_JPEG_CSS_422, | |||||
| ACL_JPEG_CSS_420, | |||||
| ACL_JPEG_CSS_GRAY, | |||||
| ACL_JPEG_CSS_440, | |||||
| ACL_JPEG_CSS_411, | |||||
| ACL_JPEG_CSS_UNKNOWN = 1000 | |||||
| }; | }; | ||||
| /** | /** | ||||
| @@ -509,7 +523,9 @@ ACL_FUNC_VISIBILITY uint32_t acldvppGetPicDescRetCode(const acldvppPicDesc *picD | |||||
| * @retval null for failed. | * @retval null for failed. | ||||
| * @retval other success | * @retval other success | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY acldvppRoiConfig *acldvppCreateRoiConfig(uint32_t left, uint32_t right, uint32_t top, | |||||
| ACL_FUNC_VISIBILITY acldvppRoiConfig *acldvppCreateRoiConfig(uint32_t left, | |||||
| uint32_t right, | |||||
| uint32_t top, | |||||
| uint32_t bottom); | uint32_t bottom); | ||||
| /** | /** | ||||
| @@ -588,7 +604,10 @@ ACL_FUNC_VISIBILITY aclError acldvppSetRoiConfigBottom(acldvppRoiConfig *config, | |||||
| * @retval ACL_SUCCESS The function is successfully executed. | * @retval ACL_SUCCESS The function is successfully executed. | ||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppSetRoiConfig(acldvppRoiConfig *config, uint32_t left, uint32_t right, uint32_t top, | |||||
| ACL_FUNC_VISIBILITY aclError acldvppSetRoiConfig(acldvppRoiConfig *config, | |||||
| uint32_t left, | |||||
| uint32_t right, | |||||
| uint32_t top, | |||||
| uint32_t bottom); | uint32_t bottom); | ||||
| /** | /** | ||||
| @@ -1077,8 +1096,7 @@ ACL_FUNC_VISIBILITY aclError aclvencSetChannelDescMaxBitRate(aclvencChannelDesc | |||||
| * @retval ACL_SUCCESS for success, other for failure | * @retval ACL_SUCCESS for success, other for failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError aclvencSetChannelDescParam(aclvencChannelDesc *channelDesc, | ACL_FUNC_VISIBILITY aclError aclvencSetChannelDescParam(aclvencChannelDesc *channelDesc, | ||||
| aclvencChannelDescParamType paramType, size_t length, | |||||
| const void *param); | |||||
| aclvencChannelDescParamType paramType, size_t length, const void *param); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1227,8 +1245,7 @@ ACL_FUNC_VISIBILITY uint32_t aclvencGetChannelDescMaxBitRate(const aclvencChanne | |||||
| * @retval ACL_SUCCESS for success, other for failure | * @retval ACL_SUCCESS for success, other for failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError aclvencGetChannelDescParam(const aclvencChannelDesc *channelDesc, | ACL_FUNC_VISIBILITY aclError aclvencGetChannelDescParam(const aclvencChannelDesc *channelDesc, | ||||
| aclvencChannelDescParamType paramType, size_t length, | |||||
| size_t *paramRetSize, void *param); | |||||
| aclvencChannelDescParamType paramType, size_t length, size_t *paramRetSize, void *param); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1528,7 +1545,10 @@ ACL_FUNC_VISIBILITY aclError aclvdecDestroyFrameConfig(aclvdecFrameConfig *vdecF | |||||
| * @retval ACL_SUCCESS The function is successfully executed. | * @retval ACL_SUCCESS The function is successfully executed. | ||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfo(const void *data, uint32_t size, uint32_t *width, uint32_t *height, | |||||
| ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfo(const void *data, | |||||
| uint32_t size, | |||||
| uint32_t *width, | |||||
| uint32_t *height, | |||||
| int32_t *components); | int32_t *components); | ||||
| /** | /** | ||||
| @@ -1545,8 +1565,11 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfo(const void *data, uint32_t | |||||
| * @retval ACL_SUCCESS The function is successfully executed. | * @retval ACL_SUCCESS The function is successfully executed. | ||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfoV2(const void *data, uint32_t size, uint32_t *width, | |||||
| uint32_t *height, int32_t *components, | |||||
| ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfoV2(const void *data, | |||||
| uint32_t size, | |||||
| uint32_t *width, | |||||
| uint32_t *height, | |||||
| int32_t *components, | |||||
| acldvppJpegFormat *format); | acldvppJpegFormat *format); | ||||
| /** | /** | ||||
| @@ -1561,7 +1584,8 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegGetImageInfoV2(const void *data, uint32_ | |||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppJpegPredictEncSize(const acldvppPicDesc *inputDesc, | ACL_FUNC_VISIBILITY aclError acldvppJpegPredictEncSize(const acldvppPicDesc *inputDesc, | ||||
| const acldvppJpegeConfig *config, uint32_t *size); | |||||
| const acldvppJpegeConfig *config, | |||||
| uint32_t *size); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1575,8 +1599,10 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegPredictEncSize(const acldvppPicDesc *inp | |||||
| * @retval ACL_SUCCESS The function is successfully executed. | * @retval ACL_SUCCESS The function is successfully executed. | ||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppJpegPredictDecSize(const void *data, uint32_t dataSize, | |||||
| acldvppPixelFormat outputPixelFormat, uint32_t *decSize); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppJpegPredictDecSize(const void *data, | |||||
| uint32_t dataSize, | |||||
| acldvppPixelFormat outputPixelFormat, | |||||
| uint32_t *decSize); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1591,8 +1617,11 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegPredictDecSize(const void *data, uint32_ | |||||
| * @retval ACL_SUCCESS The function is successfully executed. | * @retval ACL_SUCCESS The function is successfully executed. | ||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppPngGetImageInfo(const void *data, uint32_t dataSize, uint32_t *width, | |||||
| uint32_t *height, int32_t *components); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppPngGetImageInfo(const void *data, | |||||
| uint32_t dataSize, | |||||
| uint32_t *width, | |||||
| uint32_t *height, | |||||
| int32_t *components); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1606,8 +1635,10 @@ ACL_FUNC_VISIBILITY aclError acldvppPngGetImageInfo(const void *data, uint32_t d | |||||
| * @retval ACL_SUCCESS The function is successfully executed. | * @retval ACL_SUCCESS The function is successfully executed. | ||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppPngPredictDecSize(const void *data, uint32_t dataSize, | |||||
| acldvppPixelFormat outputPixelFormat, uint32_t *decSize); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppPngPredictDecSize(const void *data, | |||||
| uint32_t dataSize, | |||||
| acldvppPixelFormat outputPixelFormat, | |||||
| uint32_t *decSize); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1671,8 +1702,10 @@ ACL_FUNC_VISIBILITY aclError acldvppDestroyChannel(acldvppChannelDesc *channelDe | |||||
| * @see acldvppCreateChannel | acldvppCreatePicDesc | * @see acldvppCreateChannel | acldvppCreatePicDesc | ||||
| * | acldvppCreateResizeConfig | * | acldvppCreateResizeConfig | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcResizeAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, acldvppResizeConfig *resizeConfig, | |||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcResizeAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, | |||||
| acldvppResizeConfig *resizeConfig, | |||||
| aclrtStream stream); | aclrtStream stream); | ||||
| /** | /** | ||||
| @@ -1708,8 +1741,10 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcResizeAsync(acldvppChannelDesc *channelDe | |||||
| * @retval ACL_SUCCESS The function is successfully executed. | * @retval ACL_SUCCESS The function is successfully executed. | ||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcCropAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, acldvppRoiConfig *cropArea, | |||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcCropAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, | |||||
| acldvppRoiConfig *cropArea, | |||||
| aclrtStream stream); | aclrtStream stream); | ||||
| /** | /** | ||||
| @@ -1746,9 +1781,13 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcCropAsync(acldvppChannelDesc *channelDesc | |||||
| * @retval ACL_SUCCESS The function is successfully executed. | * @retval ACL_SUCCESS The function is successfully executed. | ||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizeAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, acldvppRoiConfig *cropArea, | |||||
| acldvppResizeConfig *resizeConfig, aclrtStream stream); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizeAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, | |||||
| acldvppRoiConfig *cropArea, | |||||
| acldvppResizeConfig *resizeConfig, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1772,9 +1811,12 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizeAsync(acldvppChannelDesc *chann | |||||
| * @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | * @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropAsync(acldvppChannelDesc *channelDesc, | ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropAsync(acldvppChannelDesc *channelDesc, | ||||
| acldvppBatchPicDesc *srcBatchPicDescs, uint32_t *roiNums, | |||||
| uint32_t size, acldvppBatchPicDesc *dstBatchPicDescs, | |||||
| acldvppRoiConfig *cropAreas[], aclrtStream stream); | |||||
| acldvppBatchPicDesc *srcBatchPicDescs, | |||||
| uint32_t *roiNums, | |||||
| uint32_t size, | |||||
| acldvppBatchPicDesc *dstBatchPicDescs, | |||||
| acldvppRoiConfig *cropAreas[], | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1799,10 +1841,13 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropAsync(acldvppChannelDesc *channe | |||||
| * @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | acldvppCreateDvppConfig | * @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | acldvppCreateDvppConfig | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizeAsync(acldvppChannelDesc *channelDesc, | ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizeAsync(acldvppChannelDesc *channelDesc, | ||||
| acldvppBatchPicDesc *srcBatchPicDescs, uint32_t *roiNums, | |||||
| uint32_t size, acldvppBatchPicDesc *dstBatchPicDescs, | |||||
| acldvppBatchPicDesc *srcBatchPicDescs, | |||||
| uint32_t *roiNums, | |||||
| uint32_t size, | |||||
| acldvppBatchPicDesc *dstBatchPicDescs, | |||||
| acldvppRoiConfig *cropAreas[], | acldvppRoiConfig *cropAreas[], | ||||
| acldvppResizeConfig *resizeConfig, aclrtStream stream); | |||||
| acldvppResizeConfig *resizeConfig, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1825,9 +1870,12 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizeAsync(acldvppChannelDesc * | |||||
| * | * | ||||
| * @see acldvppCreateChannel | acldvppCreatePicDesc | acldvppCreateRoiConfig | * @see acldvppCreateChannel | acldvppCreatePicDesc | acldvppCreateRoiConfig | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcCropAndPasteAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, acldvppRoiConfig *cropArea, | |||||
| acldvppRoiConfig *pasteArea, aclrtStream stream); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcCropAndPasteAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, | |||||
| acldvppRoiConfig *cropArea, | |||||
| acldvppRoiConfig *pasteArea, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1851,10 +1899,13 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcCropAndPasteAsync(acldvppChannelDesc *cha | |||||
| * | * | ||||
| * @see acldvppCreateChannel | acldvppCreatePicDesc | acldvppCreateRoiConfig | acldvppCreateResizeConfig | * @see acldvppCreateChannel | acldvppCreatePicDesc | acldvppCreateRoiConfig | acldvppCreateResizeConfig | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizePasteAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, acldvppRoiConfig *cropArea, | |||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizePasteAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, | |||||
| acldvppRoiConfig *cropArea, | |||||
| acldvppRoiConfig *pasteArea, | acldvppRoiConfig *pasteArea, | ||||
| acldvppResizeConfig *resizeConfig, aclrtStream stream); | |||||
| acldvppResizeConfig *resizeConfig, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1879,11 +1930,14 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcCropResizePasteAsync(acldvppChannelDesc * | |||||
| * | * | ||||
| * @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | * @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropAndPasteAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppBatchPicDesc *srcBatchPicDescs, uint32_t *roiNums, | |||||
| uint32_t size, acldvppBatchPicDesc *dstBatchPicDescs, | |||||
| acldvppRoiConfig *cropAreas[], | |||||
| acldvppRoiConfig *pasteAreas[], aclrtStream stream); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropAndPasteAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppBatchPicDesc *srcBatchPicDescs, | |||||
| uint32_t *roiNums, | |||||
| uint32_t size, | |||||
| acldvppBatchPicDesc *dstBatchPicDescs, | |||||
| acldvppRoiConfig *cropAreas[], | |||||
| acldvppRoiConfig *pasteAreas[], | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1909,10 +1963,16 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropAndPasteAsync(acldvppChannelDesc | |||||
| * | * | ||||
| * @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | acldvppCreateResizeConfig | * @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | acldvppCreateResizeConfig | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizePasteAsync( | |||||
| acldvppChannelDesc *channelDesc, acldvppBatchPicDesc *srcBatchPicDescs, uint32_t *roiNums, uint32_t size, | |||||
| acldvppBatchPicDesc *dstBatchPicDescs, acldvppRoiConfig *cropAreas[], acldvppRoiConfig *pasteAreas[], | |||||
| acldvppResizeConfig *resizeConfig, aclrtStream stream); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizePasteAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppBatchPicDesc *srcBatchPicDescs, | |||||
| uint32_t *roiNums, | |||||
| uint32_t size, | |||||
| acldvppBatchPicDesc *dstBatchPicDescs, | |||||
| acldvppRoiConfig *cropAreas[], | |||||
| acldvppRoiConfig *pasteAreas[], | |||||
| acldvppResizeConfig *resizeConfig, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1940,8 +2000,11 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizePasteAsync( | |||||
| * | * | ||||
| * @see acldvppCreateChannel | acldvppCreatePicDesc | * @see acldvppCreateChannel | acldvppCreatePicDesc | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppJpegDecodeAsync(acldvppChannelDesc *channelDesc, const void *data, uint32_t size, | |||||
| acldvppPicDesc *outputDesc, aclrtStream stream); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppJpegDecodeAsync(acldvppChannelDesc *channelDesc, | |||||
| const void *data, | |||||
| uint32_t size, | |||||
| acldvppPicDesc *outputDesc, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -1959,8 +2022,11 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegDecodeAsync(acldvppChannelDesc *channelD | |||||
| * | * | ||||
| * @see acldvppCreateChannel | acldvppCreateJpegeConfig | * @see acldvppCreateChannel | acldvppCreateJpegeConfig | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppJpegEncodeAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||||
| const void *data, uint32_t *size, acldvppJpegeConfig *config, | |||||
| ACL_FUNC_VISIBILITY aclError acldvppJpegEncodeAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppPicDesc *inputDesc, | |||||
| const void *data, | |||||
| uint32_t *size, | |||||
| acldvppJpegeConfig *config, | |||||
| aclrtStream stream); | aclrtStream stream); | ||||
| /** | /** | ||||
| @@ -1978,8 +2044,11 @@ ACL_FUNC_VISIBILITY aclError acldvppJpegEncodeAsync(acldvppChannelDesc *channelD | |||||
| * | * | ||||
| * @see acldvppCreateChannel | acldvppCreatePicDesc | * @see acldvppCreateChannel | acldvppCreatePicDesc | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppPngDecodeAsync(acldvppChannelDesc *channelDesc, const void *data, uint32_t size, | |||||
| acldvppPicDesc *outputDesc, aclrtStream stream); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppPngDecodeAsync(acldvppChannelDesc *channelDesc, | |||||
| const void *data, | |||||
| uint32_t size, | |||||
| acldvppPicDesc *outputDesc, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2034,8 +2103,11 @@ ACL_FUNC_VISIBILITY aclError aclvdecDestroyChannel(aclvdecChannelDesc *channelDe | |||||
| * | * | ||||
| * @see aclvdecCreateChannel | acldvppCreateStreamDesc | acldvppCreatePicDesc | * @see aclvdecCreateChannel | acldvppCreateStreamDesc | acldvppCreatePicDesc | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError aclvdecSendFrame(aclvdecChannelDesc *channelDesc, acldvppStreamDesc *input, | |||||
| acldvppPicDesc *output, aclvdecFrameConfig *config, void *userData); | |||||
| ACL_FUNC_VISIBILITY aclError aclvdecSendFrame(aclvdecChannelDesc *channelDesc, | |||||
| acldvppStreamDesc *input, | |||||
| acldvppPicDesc *output, | |||||
| aclvdecFrameConfig *config, | |||||
| void *userData); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2054,8 +2126,10 @@ ACL_FUNC_VISIBILITY aclError aclvdecSendFrame(aclvdecChannelDesc *channelDesc, a | |||||
| * | * | ||||
| * @see aclvdecCreateChannel | acldvppCreateStreamDesc | acldvppCreatePicDesc | aclvdecSendFrame | * @see aclvdecCreateChannel | acldvppCreateStreamDesc | acldvppCreatePicDesc | aclvdecSendFrame | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError aclvdecSendSkippedFrame(aclvdecChannelDesc *channelDesc, acldvppStreamDesc *input, | |||||
| aclvdecFrameConfig *config, void *userData); | |||||
| ACL_FUNC_VISIBILITY aclError aclvdecSendSkippedFrame(aclvdecChannelDesc *channelDesc, | |||||
| acldvppStreamDesc *input, | |||||
| aclvdecFrameConfig *config, | |||||
| void *userData); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2076,8 +2150,10 @@ ACL_FUNC_VISIBILITY aclError aclvdecSendSkippedFrame(aclvdecChannelDesc *channel | |||||
| * | * | ||||
| * @see acldvppCreateChannel | acldvppCreatePicDesc | * @see acldvppCreateChannel | acldvppCreatePicDesc | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcConvertColorAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, aclrtStream stream); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcConvertColorAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2099,8 +2175,11 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcConvertColorAsync(acldvppChannelDesc *cha | |||||
| * | * | ||||
| * @see acldvppCreateChannel | acldvppCreatePicDesc | * @see acldvppCreateChannel | acldvppCreatePicDesc | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcPyrDownAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, void *reserve, aclrtStream stream); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcPyrDownAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, | |||||
| void *reserve, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2112,7 +2191,8 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcPyrDownAsync(acldvppChannelDesc *channelD | |||||
| * @retval ACL_SUCCESS The function is successfully executed. | * @retval ACL_SUCCESS The function is successfully executed. | ||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppSetChannelDescMode(acldvppChannelDesc *channelDesc, uint32_t mode); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppSetChannelDescMode(acldvppChannelDesc *channelDesc, | |||||
| uint32_t mode); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2147,7 +2227,8 @@ ACL_FUNC_VISIBILITY uint32_t acldvppGetResizeConfigInterpolation(const acldvppRe | |||||
| * @retval ACL_SUCCESS The function is successfully executed. | * @retval ACL_SUCCESS The function is successfully executed. | ||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError aclvdecSetChannelDescOutMode(aclvdecChannelDesc *channelDesc, uint32_t outMode); | |||||
| ACL_FUNC_VISIBILITY aclError aclvdecSetChannelDescOutMode(aclvdecChannelDesc *channelDesc, | |||||
| uint32_t outMode); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2244,7 +2325,9 @@ ACL_FUNC_VISIBILITY uint32_t acldvppGetLutMapDims(const acldvppLutMap *lutMap); | |||||
| * @retval ACL_SUCCESS The function is successfully executed. | * @retval ACL_SUCCESS The function is successfully executed. | ||||
| * @retval OtherValues Failure | * @retval OtherValues Failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppGetLutMapData(const acldvppLutMap *lutMap, uint32_t dim, uint8_t **data, | |||||
| ACL_FUNC_VISIBILITY aclError acldvppGetLutMapData(const acldvppLutMap *lutMap, | |||||
| uint32_t dim, | |||||
| uint8_t **data, | |||||
| uint32_t *len); | uint32_t *len); | ||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2262,8 +2345,10 @@ ACL_FUNC_VISIBILITY aclError acldvppGetLutMapData(const acldvppLutMap *lutMap, u | |||||
| * @see acldvppCreateChannel|acldvppCreatePicDesc|acldvppCreateLutMap | * @see acldvppCreateChannel|acldvppCreatePicDesc|acldvppCreateLutMap | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcEqualizeHistAsync(const acldvppChannelDesc *channelDesc, | ACL_FUNC_VISIBILITY aclError acldvppVpcEqualizeHistAsync(const acldvppChannelDesc *channelDesc, | ||||
| const acldvppPicDesc *inputDesc, acldvppPicDesc *outputDesc, | |||||
| const acldvppLutMap *lutMap, aclrtStream stream); | |||||
| const acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, | |||||
| const acldvppLutMap *lutMap, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2284,7 +2369,8 @@ ACL_FUNC_VISIBILITY acldvppBorderConfig *acldvppCreateBorderConfig(); | |||||
| * | * | ||||
| * @retval ACL_SUCCESS for success, other for failure | * @retval ACL_SUCCESS for success, other for failure | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppSetBorderConfigValue(acldvppBorderConfig *borderConfig, uint32_t index, | |||||
| ACL_FUNC_VISIBILITY aclError acldvppSetBorderConfigValue(acldvppBorderConfig *borderConfig, | |||||
| uint32_t index, | |||||
| double value); | double value); | ||||
| /** | /** | ||||
| @@ -2429,8 +2515,10 @@ ACL_FUNC_VISIBILITY aclError acldvppDestroyBorderConfig(acldvppBorderConfig *bor | |||||
| * @see acldvppCreateChannel|acldvppCreatePicDesc|acldvppCreateBorderConfig | * @see acldvppCreateChannel|acldvppCreatePicDesc|acldvppCreateBorderConfig | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcMakeBorderAsync(const acldvppChannelDesc *channelDesc, | ACL_FUNC_VISIBILITY aclError acldvppVpcMakeBorderAsync(const acldvppChannelDesc *channelDesc, | ||||
| const acldvppPicDesc *inputDesc, acldvppPicDesc *outputDesc, | |||||
| const acldvppBorderConfig *borderConfig, aclrtStream stream); | |||||
| const acldvppPicDesc *inputDesc, | |||||
| acldvppPicDesc *outputDesc, | |||||
| const acldvppBorderConfig *borderConfig, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2447,8 +2535,11 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcMakeBorderAsync(const acldvppChannelDesc | |||||
| * | * | ||||
| * @see acldvppCreateChannel | acldvppCreatePicDesc | acldvppCreateHist | * @see acldvppCreateChannel | acldvppCreatePicDesc | acldvppCreateHist | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcCalcHistAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *srcPicDesc, | |||||
| acldvppHist *hist, void *reserve, aclrtStream stream); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcCalcHistAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppPicDesc *srcPicDesc, | |||||
| acldvppHist *hist, | |||||
| void *reserve, | |||||
| aclrtStream stream); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2457,7 +2548,7 @@ ACL_FUNC_VISIBILITY aclError acldvppVpcCalcHistAsync(acldvppChannelDesc *channel | |||||
| * @retval null for failed. | * @retval null for failed. | ||||
| * @retval OtherValues success. | * @retval OtherValues success. | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY acldvppHist *acldvppCreateHist(); | |||||
| ACL_FUNC_VISIBILITY acldvppHist* acldvppCreateHist(); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2514,7 +2605,7 @@ ACL_FUNC_VISIBILITY aclError acldvppGetHistData(acldvppHist *hist, uint32_t dim, | |||||
| * | * | ||||
| * @see acldvppCreateHist | acldvppVpcCalcHistAsync | * @see acldvppCreateHist | acldvppVpcCalcHistAsync | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY uint32_t acldvppGetHistRetCode(acldvppHist *hist); | |||||
| ACL_FUNC_VISIBILITY uint32_t acldvppGetHistRetCode(acldvppHist* hist); | |||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| @@ -2533,6 +2624,7 @@ ACL_FUNC_VISIBILITY uint32_t acldvppGetHistRetCode(acldvppHist *hist); | |||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppClearHist(acldvppHist *hist); | ACL_FUNC_VISIBILITY aclError acldvppClearHist(acldvppHist *hist); | ||||
| /** | /** | ||||
| * @ingroup AscendCL | * @ingroup AscendCL | ||||
| * @brief dvpp vpc batch crop, resize config and make border. | * @brief dvpp vpc batch crop, resize config and make border. | ||||
| @@ -2556,13 +2648,18 @@ ACL_FUNC_VISIBILITY aclError acldvppClearHist(acldvppHist *hist); | |||||
| * | * | ||||
| * @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | acldvppCreateResizeConfig | * @see acldvppCreateChannel | acldvppCreateBatchPicDesc | acldvppCreateRoiConfig | acldvppCreateResizeConfig | ||||
| */ | */ | ||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizeMakeBorderAsync( | |||||
| acldvppChannelDesc *channelDesc, acldvppBatchPicDesc *srcBatchPicDescs, uint32_t *roiNums, uint32_t size, | |||||
| acldvppBatchPicDesc *dstBatchPicDescs, acldvppRoiConfig *cropAreas[], acldvppBorderConfig *borderCfgs[], | |||||
| acldvppResizeConfig *resizeConfig, aclrtStream stream); | |||||
| ACL_FUNC_VISIBILITY aclError acldvppVpcBatchCropResizeMakeBorderAsync(acldvppChannelDesc *channelDesc, | |||||
| acldvppBatchPicDesc *srcBatchPicDescs, | |||||
| uint32_t *roiNums, | |||||
| uint32_t size, | |||||
| acldvppBatchPicDesc *dstBatchPicDescs, | |||||
| acldvppRoiConfig *cropAreas[], | |||||
| acldvppBorderConfig *borderCfgs[], | |||||
| acldvppResizeConfig *resizeConfig, | |||||
| aclrtStream stream); | |||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| } | } | ||||
| #endif | #endif | ||||
| #endif // INC_EXTERNAL_ACL_OPS_ACL_DVPP_H_ | |||||
| #endif // INC_EXTERNAL_ACL_OPS_ACL_DVPP_H_ | |||||
| @@ -82,6 +82,25 @@ REG_OP(Cholesky) | |||||
| DT_FLOAT16, DT_COMPLEX64, DT_COMPLEX128})) | DT_FLOAT16, DT_COMPLEX64, DT_COMPLEX128})) | ||||
| .OP_END_FACTORY_REG(Cholesky) | .OP_END_FACTORY_REG(Cholesky) | ||||
| /** | |||||
| *@brief Computes the outer product of two 1D vectors . \n | |||||
| *@par Inputs: | |||||
| *The input x and vec2 has to be a 1D vector.Inputs include: | |||||
| *@li x:A Tensor. Must be one of the following types: float16, float32. | |||||
| Shape is [N] . \n | |||||
| *@li vec2:A Tensor. Must have the same type as x. Shape is [M] . \n | |||||
| *@par Outputs: | |||||
| *y:A Tensor. Has the same type as x . \n | |||||
| */ | |||||
| REG_OP(Ger) | |||||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(vec2, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OP_END_FACTORY_REG(Ger) | |||||
| /** | /** | ||||
| *@brief Computes the sign and the log of the absolute value of the determinant | *@brief Computes the sign and the log of the absolute value of the determinant | ||||
| of one or more square matrices . \n | of one or more square matrices . \n | ||||
| @@ -254,22 +254,22 @@ is min_size/sqrt(aspect_ratio), the width is min_size*sqrt(aspect_ratio). Defaul | |||||
| *@par Third-party framework compatibility | *@par Third-party framework compatibility | ||||
| * It is a custom operator. It has no corresponding operator in Caffe. | * It is a custom operator. It has no corresponding operator in Caffe. | ||||
| */ | */ | ||||
| REG_OP(PriorBox) | |||||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(img, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(min_size, ListFloat) | |||||
| .REQUIRED_ATTR(max_size, ListFloat) | |||||
| .REQUIRED_ATTR(aspect_ratio, ListFloat) | |||||
| .ATTR(img_h, Int, 0) | |||||
| .ATTR(img_w, Int, 0) | |||||
| .ATTR(step_h, Float, 0.0) | |||||
| .ATTR(step_w, Float, 0.0) | |||||
| .ATTR(flip, Bool, true) | |||||
| .ATTR(clip, Bool, false) | |||||
| .ATTR(offset, Float, 0.5) | |||||
| .ATTR(variance, ListFloat, {0.1}) | |||||
| .OP_END_FACTORY_REG(PriorBox); | |||||
| REG_OP(PriorBox) | |||||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(img, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(min_size, ListFloat) | |||||
| .REQUIRED_ATTR(max_size, ListFloat) | |||||
| .REQUIRED_ATTR(aspect_ratio, ListFloat) | |||||
| .ATTR(img_h, Int, 0) | |||||
| .ATTR(img_w, Int, 0) | |||||
| .ATTR(step_h, Float, 0.0) | |||||
| .ATTR(step_w, Float, 0.0) | |||||
| .ATTR(flip, Bool, true) | |||||
| .ATTR(clip, Bool, false) | |||||
| .ATTR(offset, Float, 0.5) | |||||
| .ATTR(variance, ListFloat, {0.1}) | |||||
| .OP_END_FACTORY_REG(PriorBox); | |||||
| /** | /** | ||||
| *@brief Performs SSD prior box detection, with four additional matrices and the "aspect_ratio" attribute deleted compared to PriorBox . \n | *@brief Performs SSD prior box detection, with four additional matrices and the "aspect_ratio" attribute deleted compared to PriorBox . \n | ||||
| @@ -306,25 +306,25 @@ is min_size/sqrt(aspect_ratio), the width is min_size*sqrt(aspect_ratio). Defaul | |||||
| *@par Restrictions: | *@par Restrictions: | ||||
| *Warning: THIS FUNCTION IS DEPRECATED. Please use PriorBox instead. | *Warning: THIS FUNCTION IS DEPRECATED. Please use PriorBox instead. | ||||
| */ | */ | ||||
| REG_OP(PriorBoxD) | |||||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(img, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(data_h, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(data_w, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(box_height, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(box_width, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(min_size, ListFloat) | |||||
| .REQUIRED_ATTR(max_size, ListFloat) | |||||
| .ATTR(img_h, Int, 0) | |||||
| .ATTR(img_w, Int, 0) | |||||
| .ATTR(step_h, Float, 0.0) | |||||
| .ATTR(step_w, Float, 0.0) | |||||
| .ATTR(flip, Bool, true) | |||||
| .ATTR(clip, Bool, false) | |||||
| .ATTR(offset, Float, 0.5) | |||||
| .ATTR(variance, ListFloat, {0.1}) | |||||
| .OP_END_FACTORY_REG(PriorBoxD); | |||||
| REG_OP(PriorBoxD) | |||||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(img, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(data_h, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(data_w, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(box_height, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(box_width, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(min_size, ListFloat) | |||||
| .REQUIRED_ATTR(max_size, ListFloat) | |||||
| .ATTR(img_h, Int, 0) | |||||
| .ATTR(img_w, Int, 0) | |||||
| .ATTR(step_h, Float, 0.0) | |||||
| .ATTR(step_w, Float, 0.0) | |||||
| .ATTR(flip, Bool, true) | |||||
| .ATTR(clip, Bool, false) | |||||
| .ATTR(offset, Float, 0.5) | |||||
| .ATTR(variance, ListFloat, {0.1}) | |||||
| .OP_END_FACTORY_REG(PriorBoxD); | |||||
| /** | /** | ||||
| *@brief Performs SSD prior box detection, with four additional matrices and the "aspect_ratio" attribute deleted compared to PriorBox . \n | *@brief Performs SSD prior box detection, with four additional matrices and the "aspect_ratio" attribute deleted compared to PriorBox . \n | ||||
| @@ -358,22 +358,22 @@ is min_size/sqrt(aspect_ratio), the width is min_size*sqrt(aspect_ratio). Defaul | |||||
| *@par Restrictions: | *@par Restrictions: | ||||
| *Warning: THIS FUNCTION IS DEPRECATED. Please use PriorBox instead. | *Warning: THIS FUNCTION IS DEPRECATED. Please use PriorBox instead. | ||||
| */ | */ | ||||
| REG_OP(PriorBoxDV2) | |||||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(img, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(boxes, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(min_size, ListFloat) | |||||
| .REQUIRED_ATTR(max_size, ListFloat) | |||||
| .ATTR(img_h, Int, 0) | |||||
| .ATTR(img_w, Int, 0) | |||||
| .ATTR(step_h, Float, 0.0) | |||||
| .ATTR(step_w, Float, 0.0) | |||||
| .ATTR(flip, Bool, true) | |||||
| .ATTR(clip, Bool, false) | |||||
| .ATTR(offset, Float, 0.5) | |||||
| .ATTR(variance, ListFloat, {0.1}) | |||||
| .OP_END_FACTORY_REG(PriorBoxDV2); | |||||
| REG_OP(PriorBoxDV2) | |||||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(img, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(boxes, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(min_size, ListFloat) | |||||
| .REQUIRED_ATTR(max_size, ListFloat) | |||||
| .ATTR(img_h, Int, 0) | |||||
| .ATTR(img_w, Int, 0) | |||||
| .ATTR(step_h, Float, 0.0) | |||||
| .ATTR(step_w, Float, 0.0) | |||||
| .ATTR(flip, Bool, true) | |||||
| .ATTR(clip, Bool, false) | |||||
| .ATTR(offset, Float, 0.5) | |||||
| .ATTR(variance, ListFloat, {0.1}) | |||||
| .OP_END_FACTORY_REG(PriorBoxDV2); | |||||
| /** | /** | ||||
| *@brief Performs Position Sensitive ROI Pooling . \n | *@brief Performs Position Sensitive ROI Pooling . \n | ||||
| @@ -531,10 +531,10 @@ as xx...xyy...yww...whh...hbb...bc0c0..c0c1c1...c1......cncn...cn . \n | |||||
| * It is a custom operator. It has no corresponding operator in Caffe. | * It is a custom operator. It has no corresponding operator in Caffe. | ||||
| */ | */ | ||||
| REG_OP(Yolo) | REG_OP(Yolo) | ||||
| .INPUT(x, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .OUTPUT(coord_data, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .OUTPUT(obj_prob, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .OUTPUT(classes_prob, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(coord_data, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(obj_prob, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(classes_prob, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .ATTR(boxes, Int, 3) | .ATTR(boxes, Int, 3) | ||||
| .ATTR(coords, Int, 4) | .ATTR(coords, Int, 4) | ||||
| .ATTR(classes, Int, 80) | .ATTR(classes, Int, 80) | ||||
| @@ -584,10 +584,10 @@ REG_OP(Yolo) | |||||
| * It is a custom operator. It has no corresponding operator in Caffe. | * It is a custom operator. It has no corresponding operator in Caffe. | ||||
| */ | */ | ||||
| REG_OP(YoloV2DetectionOutput) | REG_OP(YoloV2DetectionOutput) | ||||
| .INPUT(coord_data, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(obj_prob, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(classes_prob, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(img_info, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(coord_data, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(obj_prob, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(classes_prob, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(img_info, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(biases, ListFloat) | .REQUIRED_ATTR(biases, ListFloat) | ||||
| .ATTR(boxes, Int, 5) | .ATTR(boxes, Int, 5) | ||||
| .ATTR(coords, Int, 4) | .ATTR(coords, Int, 4) | ||||
| @@ -598,7 +598,7 @@ REG_OP(YoloV2DetectionOutput) | |||||
| .ATTR(score_threshold, Float, 0.5) | .ATTR(score_threshold, Float, 0.5) | ||||
| .ATTR(iou_threshold, Float, 0.45) | .ATTR(iou_threshold, Float, 0.45) | ||||
| .ATTR(pre_nms_topn, Int, 512) | .ATTR(pre_nms_topn, Int, 512) | ||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(box_out_num, TensorType({DT_INT32})) | .OUTPUT(box_out_num, TensorType({DT_INT32})) | ||||
| .OP_END_FACTORY_REG(YoloV2DetectionOutput) | .OP_END_FACTORY_REG(YoloV2DetectionOutput) | ||||
| @@ -647,12 +647,12 @@ REG_OP(YoloV2DetectionOutput) | |||||
| *Warning: THIS FUNCTION IS DEPRECATED. Please use YoloV2DetectionOutput instead. | *Warning: THIS FUNCTION IS DEPRECATED. Please use YoloV2DetectionOutput instead. | ||||
| */ | */ | ||||
| REG_OP(YoloV2DetectionOutputD) | REG_OP(YoloV2DetectionOutputD) | ||||
| .INPUT(coord_data, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(obj_prob, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(classes_prob, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(img_info, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(windex, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(hindex, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(coord_data, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(obj_prob, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(classes_prob, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(img_info, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(windex, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(hindex, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(biases, ListFloat) | .REQUIRED_ATTR(biases, ListFloat) | ||||
| .ATTR(boxes, Int, 5) | .ATTR(boxes, Int, 5) | ||||
| .ATTR(coords, Int, 4) | .ATTR(coords, Int, 4) | ||||
| @@ -663,7 +663,7 @@ REG_OP(YoloV2DetectionOutputD) | |||||
| .ATTR(score_threshold, Float, 0.5) | .ATTR(score_threshold, Float, 0.5) | ||||
| .ATTR(iou_threshold, Float, 0.45) | .ATTR(iou_threshold, Float, 0.45) | ||||
| .ATTR(pre_nms_topn, Int, 512) | .ATTR(pre_nms_topn, Int, 512) | ||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(box_out_num, TensorType({DT_INT32})) | .OUTPUT(box_out_num, TensorType({DT_INT32})) | ||||
| .OP_END_FACTORY_REG(YoloV2DetectionOutputD) | .OP_END_FACTORY_REG(YoloV2DetectionOutputD) | ||||
| @@ -707,16 +707,16 @@ REG_OP(YoloV2DetectionOutputD) | |||||
| * It is a custom operator. It has no corresponding operator in Caffe. | * It is a custom operator. It has no corresponding operator in Caffe. | ||||
| */ | */ | ||||
| REG_OP(YoloV3DetectionOutput) | REG_OP(YoloV3DetectionOutput) | ||||
| .INPUT(coord_data_low, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(coord_data_mid, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(coord_data_high, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(obj_prob_low, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(obj_prob_mid, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(obj_prob_high, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(classes_prob_low, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(classes_prob_mid, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(classes_prob_high, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(img_info, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(coord_data_low, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(coord_data_mid, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(coord_data_high, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(obj_prob_low, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(obj_prob_mid, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(obj_prob_high, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(classes_prob_low, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(classes_prob_mid, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(classes_prob_high, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(img_info, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(biases_low, ListFloat) | .REQUIRED_ATTR(biases_low, ListFloat) | ||||
| .REQUIRED_ATTR(biases_mid, ListFloat) | .REQUIRED_ATTR(biases_mid, ListFloat) | ||||
| .REQUIRED_ATTR(biases_high, ListFloat) | .REQUIRED_ATTR(biases_high, ListFloat) | ||||
| @@ -729,7 +729,7 @@ REG_OP(YoloV3DetectionOutput) | |||||
| .ATTR(score_threshold, Float, 0.5) | .ATTR(score_threshold, Float, 0.5) | ||||
| .ATTR(iou_threshold, Float, 0.45) | .ATTR(iou_threshold, Float, 0.45) | ||||
| .ATTR(pre_nms_topn, Int, 512) | .ATTR(pre_nms_topn, Int, 512) | ||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(box_out_num, TensorType({DT_INT32})) | .OUTPUT(box_out_num, TensorType({DT_INT32})) | ||||
| .OP_END_FACTORY_REG(YoloV3DetectionOutput) | .OP_END_FACTORY_REG(YoloV3DetectionOutput) | ||||
| @@ -776,22 +776,22 @@ s | |||||
| *Warning: THIS FUNCTION IS DEPRECATED. Please use YoloV3DetectionOutput instead. | *Warning: THIS FUNCTION IS DEPRECATED. Please use YoloV3DetectionOutput instead. | ||||
| */ | */ | ||||
| REG_OP(YoloV3DetectionOutputD) | REG_OP(YoloV3DetectionOutputD) | ||||
| .INPUT(coord_data_low, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(coord_data_mid, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(coord_data_high, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(obj_prob_low, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(obj_prob_mid, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(obj_prob_high, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(classes_prob_low, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(classes_prob_mid, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(classes_prob_high, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(img_info, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(windex1, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(windex2, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(windex3, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(hindex1, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(hindex2, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(hindex3, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(coord_data_low, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(coord_data_mid, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(coord_data_high, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(obj_prob_low, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(obj_prob_mid, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(obj_prob_high, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(classes_prob_low, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(classes_prob_mid, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(classes_prob_high, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(img_info, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(windex1, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(windex2, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(windex3, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(hindex1, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(hindex2, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(hindex3, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(biases_low, ListFloat) | .REQUIRED_ATTR(biases_low, ListFloat) | ||||
| .REQUIRED_ATTR(biases_mid, ListFloat) | .REQUIRED_ATTR(biases_mid, ListFloat) | ||||
| .REQUIRED_ATTR(biases_high, ListFloat) | .REQUIRED_ATTR(biases_high, ListFloat) | ||||
| @@ -804,7 +804,7 @@ REG_OP(YoloV3DetectionOutputD) | |||||
| .ATTR(score_threshold, Float, 0.5) | .ATTR(score_threshold, Float, 0.5) | ||||
| .ATTR(iou_threshold, Float, 0.45) | .ATTR(iou_threshold, Float, 0.45) | ||||
| .ATTR(pre_nms_topn, Int, 512) | .ATTR(pre_nms_topn, Int, 512) | ||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(box_out_num, TensorType({DT_INT32})) | .OUTPUT(box_out_num, TensorType({DT_INT32})) | ||||
| .OP_END_FACTORY_REG(YoloV3DetectionOutputD) | .OP_END_FACTORY_REG(YoloV3DetectionOutputD) | ||||
| @@ -848,7 +848,7 @@ There are three Yolo operators at Yolov3DetectionOutput's preceding layer on Yol | |||||
| * It is a custom operator. It has no corresponding operator in Caffe. | * It is a custom operator. It has no corresponding operator in Caffe. | ||||
| */ | */ | ||||
| REG_OP(YoloV3DetectionOutputV2) | REG_OP(YoloV3DetectionOutputV2) | ||||
| .DYNAMIC_INPUT(x, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .DYNAMIC_INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(biases, ListFloat) | .REQUIRED_ATTR(biases, ListFloat) | ||||
| .ATTR(boxes, Int, 3) | .ATTR(boxes, Int, 3) | ||||
| .ATTR(coords, Int, 4) | .ATTR(coords, Int, 4) | ||||
| @@ -862,7 +862,7 @@ REG_OP(YoloV3DetectionOutputV2) | |||||
| .ATTR(N, Int, 10) | .ATTR(N, Int, 10) | ||||
| .ATTR(resize_origin_img_to_net, Bool, false) | .ATTR(resize_origin_img_to_net, Bool, false) | ||||
| .ATTR(out_box_dim, Int, 3) | .ATTR(out_box_dim, Int, 3) | ||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(box_out_num, TensorType({DT_INT32})) | .OUTPUT(box_out_num, TensorType({DT_INT32})) | ||||
| .OP_END_FACTORY_REG(YoloV3DetectionOutputV2) | .OP_END_FACTORY_REG(YoloV3DetectionOutputV2) | ||||
| @@ -910,9 +910,9 @@ REG_OP(YoloV3DetectionOutputV2) | |||||
| * Warning: THIS FUNCTION IS DEPRECATED. Please use YoloV3DetectionOutputV2 instead. | * Warning: THIS FUNCTION IS DEPRECATED. Please use YoloV3DetectionOutputV2 instead. | ||||
| */ | */ | ||||
| REG_OP(YoloV3DetectionOutputV2D) | REG_OP(YoloV3DetectionOutputV2D) | ||||
| .DYNAMIC_INPUT(x, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .DYNAMIC_INPUT(windex, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .DYNAMIC_INPUT(hindex, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .DYNAMIC_INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .DYNAMIC_INPUT(windex, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .DYNAMIC_INPUT(hindex, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(biases, ListFloat) | .REQUIRED_ATTR(biases, ListFloat) | ||||
| .ATTR(boxes, Int, 3) | .ATTR(boxes, Int, 3) | ||||
| .ATTR(coords, Int, 4) | .ATTR(coords, Int, 4) | ||||
| @@ -926,7 +926,7 @@ REG_OP(YoloV3DetectionOutputV2D) | |||||
| .ATTR(N, Int, 10) | .ATTR(N, Int, 10) | ||||
| .ATTR(resize_origin_img_to_net, Bool, false) | .ATTR(resize_origin_img_to_net, Bool, false) | ||||
| .ATTR(out_box_dim, Int, 3) | .ATTR(out_box_dim, Int, 3) | ||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .OUTPUT(box_out, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(box_out_num, TensorType({DT_INT32})) | .OUTPUT(box_out_num, TensorType({DT_INT32})) | ||||
| .OP_END_FACTORY_REG(YoloV3DetectionOutputV2D) | .OP_END_FACTORY_REG(YoloV3DetectionOutputV2D) | ||||
| @@ -1466,9 +1466,9 @@ REG_OP(NormalizeBBox) | |||||
| * y: A Tensor. Must have the same type as box_predictions. | * y: A Tensor. Must have the same type as box_predictions. | ||||
| */ | */ | ||||
| REG_OP(DecodeBboxV2) | REG_OP(DecodeBboxV2) | ||||
| .INPUT(boxes, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(anchors, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16,DT_FLOAT})) | |||||
| .INPUT(boxes, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(anchors, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .ATTR(scales, ListFloat, {1.0, 1.0, 1.0, 1.0}) | .ATTR(scales, ListFloat, {1.0, 1.0, 1.0, 1.0}) | ||||
| .ATTR(decode_clip, Float, 0.0) | .ATTR(decode_clip, Float, 0.0) | ||||
| .ATTR(reversed_box, Bool, false) | .ATTR(reversed_box, Bool, false) | ||||
| @@ -1592,7 +1592,6 @@ selected indices from the boxes tensor, where M <= max_output_size. \n | |||||
| *Compatible with onnx NonMaxSuppression operator. | *Compatible with onnx NonMaxSuppression operator. | ||||
| */ | */ | ||||
| REG_OP(NonMaxSuppressionV7) | REG_OP(NonMaxSuppressionV7) | ||||
| .INPUT(boxes, TensorType({DT_FLOAT16, DT_FLOAT})) | .INPUT(boxes, TensorType({DT_FLOAT16, DT_FLOAT})) | ||||
| .INPUT(scores, TensorType({DT_FLOAT16, DT_FLOAT})) | .INPUT(scores, TensorType({DT_FLOAT16, DT_FLOAT})) | ||||
| @@ -1641,7 +1640,7 @@ REG_OP(RoiExtractor) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | ||||
| .ATTR(finest_scale, Int, 56) | .ATTR(finest_scale, Int, 56) | ||||
| .ATTR(roi_scale_factor, Float, 0) | .ATTR(roi_scale_factor, Float, 0) | ||||
| .ATTR(spatial_scale, ListFloat, { 1.f/4, 1.f/8, 1.f/16, 1.f/32 }) | |||||
| .ATTR(spatial_scale, ListFloat, {1.f / 4, 1.f / 8, 1.f / 16, 1.f / 32}) | |||||
| .ATTR(pooled_height, Int, 7) | .ATTR(pooled_height, Int, 7) | ||||
| .ATTR(pooled_width, Int, 7) | .ATTR(pooled_width, Int, 7) | ||||
| .ATTR(sample_num, Int, 0) | .ATTR(sample_num, Int, 0) | ||||
| @@ -1649,6 +1648,84 @@ REG_OP(RoiExtractor) | |||||
| .ATTR(aligned, Bool, true) | .ATTR(aligned, Bool, true) | ||||
| .OP_END_FACTORY_REG(RoiExtractor) | .OP_END_FACTORY_REG(RoiExtractor) | ||||
| /** | |||||
| *@brief Performs Position Sensitive PS ROI Pooling . \n | |||||
| *@par Inputs: | |||||
| * Two inputs, including: | |||||
| *@li x: An NC1HWC0 tensor of type float16 or float32, describing the feature | |||||
| * map, dimension C1 must be equal to | |||||
| * (int(output_dim+15)/C0))*group_size*group_size. | |||||
| *@li rois: A tensor of type float16 or float32, with shape | |||||
| * [batch, 5, rois_num], describing the ROIs, each ROI consists of five | |||||
| * elements: "batch_id", "x1", "y1", "x2", and "y2", which "batch_id" indicates | |||||
| * the index of the input feature map, "x1", "y1", "x2", or "y2" must be | |||||
| * greater than or equal to "0.0" . \n | |||||
| *@par Attributes: | |||||
| *@li output_dim: A required int32, specifying the number of output channels, | |||||
| * must be greater than 0. | |||||
| *@li group_size: A required int32, specifying the number of groups to encode | |||||
| * position-sensitive score maps, must be within the range (0, 128). | |||||
| *@li spatial_scale: A required float32, scaling factor for mapping the input | |||||
| * coordinates to the ROI coordinates . \n | |||||
| *@par Outputs: | |||||
| *y: An NC1HWC0 tensor of type float16 or float32, describing the result | |||||
| * feature map . \n | |||||
| *@attention Constraints: | |||||
| * HC1HWC0: channel must be Group_size squared, rois_num is a multiple of 16 | |||||
| */ | |||||
| REG_OP(PSROIPoolingV2) | |||||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(rois, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(spatial_scale, Float) | |||||
| .REQUIRED_ATTR(output_dim, Int) | |||||
| .REQUIRED_ATTR(group_size, Int) | |||||
| .OP_END_FACTORY_REG(PSROIPoolingV2) | |||||
| /** | |||||
| *@brief Performs Position Sensitive PS ROI Pooling Grad . \n | |||||
| *@par Inputs: | |||||
| * Two inputs, including: | |||||
| *@li x: An NC1HWC0 tensor of type float16 or float32, describing the result | |||||
| * feature map . \n | |||||
| *@li rois: A tensor of type float16 or float32, with shape | |||||
| * [batch, 5, rois_num], describing the ROIs, each ROI consists of five | |||||
| * elements: "batch_id", "x1", "y1", "x2", and "y2", which "batch_id" indicates | |||||
| * the index of the input feature map, "x1", "y1", "x2", or "y2" must be | |||||
| * greater than or equal to "0.0" . \n | |||||
| *@par Attributes: | |||||
| *@li output_dim: A required int32, specifying the number of output channels, | |||||
| * must be greater than 0. | |||||
| *@li group_size: A required int32, specifying the number of groups to encode | |||||
| * position-sensitive score maps, must be within the range (0, 128). | |||||
| *@li spatial_scale: A required float32, scaling factor for mapping the input | |||||
| * coordinates to the ROI coordinates . \n | |||||
| *@li input_size: A required listInt, mapping the gradinput size: (H, W) | |||||
| *@par Outputs: | |||||
| *y: An NC1HWC0 tensor of type float16 or float32, describing the feature | |||||
| * map, dimension C1 must be equal to | |||||
| * (int(output_dim+15)/C0))*group_size*group_size. | |||||
| *@attention Constraints: | |||||
| * HC1HWC0: channel must be Group_size squared, rois_num is a multiple of 16 | |||||
| */ | |||||
| REG_OP(PSROIPoolingGradV2D) | |||||
| .INPUT(x, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .INPUT(rois, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT})) | |||||
| .REQUIRED_ATTR(spatial_scale, Float) | |||||
| .REQUIRED_ATTR(output_dim, Int) | |||||
| .REQUIRED_ATTR(group_size, Int) | |||||
| .REQUIRED_ATTR(input_size, ListInt) | |||||
| .OP_END_FACTORY_REG(PSROIPoolingGradV2D) | |||||
| } // namespace ge | } // namespace ge | ||||
| #endif // OPS_BUILT_IN_OP_PROTO_INC_NN_DETECT_OPS_H_ | #endif // OPS_BUILT_IN_OP_PROTO_INC_NN_DETECT_OPS_H_ | ||||
| @@ -525,6 +525,31 @@ REG_OP(LayerNorm) | |||||
| .ATTR(epsilon, Float, 0.0000001) | .ATTR(epsilon, Float, 0.0000001) | ||||
| .OP_END_FACTORY_REG(LayerNorm) | .OP_END_FACTORY_REG(LayerNorm) | ||||
| /** | |||||
| *@brief Returns a tensor where each sub-tensor of input along dimension | |||||
| * dim is normalized such that the p-norm of the sub-tensor is lower than the value maxnorm. \n | |||||
| *@par Inputs: | |||||
| *One input, including: | |||||
| * @li x: A Tensor. Must be one of the following types: float16, float32 . \n | |||||
| *@par Attributes: | |||||
| * @li p: Specify L_p norm, the type is float. | |||||
| * @li dim: The processed dim, the type is int. | |||||
| * @li maxnorm: Threshold for comparison, the type is float. \n | |||||
| *@par Outputs: | |||||
| *One outputs, including: | |||||
| * @li y: shape and dtype of output, should be same shape and type as input. | |||||
| */ | |||||
| REG_OP(Renorm) | |||||
| .INPUT(x, TensorType::BasicType()) | |||||
| .OUTPUT(y, TensorType::BasicType()) | |||||
| .REQUIRED_ATTR(p, Float) | |||||
| .REQUIRED_ATTR(dim, Int) | |||||
| .REQUIRED_ATTR(maxnorm, Float) | |||||
| .OP_END_FACTORY_REG(Renorm) | |||||
| /** | /** | ||||
| *@brief LayerNormGrad operator interface implementation | *@brief LayerNormGrad operator interface implementation | ||||
| * calculating: dy, x, variance, mean, gamma | * calculating: dy, x, variance, mean, gamma | ||||
| @@ -397,8 +397,8 @@ No default value. | |||||
| specifying the stride of the sliding window for each dimension of | specifying the stride of the sliding window for each dimension of | ||||
| the input tensor. No default value. | the input tensor. No default value. | ||||
| *@li padding: A required string type of float16. | *@li padding: A required string type of float16. | ||||
| *@li pads: A list type of int32. Default value {0, 0, 0}. | |||||
| *@li dilation: A list type of int32. Default value {1, 1, 1}. | |||||
| *@li pads: A list type of int32. Default value {0,0,0,0,0,0}. | |||||
| *@li dilation: A list type of int32. Default value {1,1,1,1,1,1}. | |||||
| *@li ceil_mode: A ceil mode number of int32 . Default value 0. | *@li ceil_mode: A ceil mode number of int32 . Default value 0. | ||||
| *@li data_format: An optional string. Defaults to "NDHWC" . \n | *@li data_format: An optional string. Defaults to "NDHWC" . \n | ||||
| @@ -421,8 +421,8 @@ REG_OP(MaxPool3D) | |||||
| .REQUIRED_ATTR(ksize, ListInt) | .REQUIRED_ATTR(ksize, ListInt) | ||||
| .REQUIRED_ATTR(strides, ListInt) | .REQUIRED_ATTR(strides, ListInt) | ||||
| .REQUIRED_ATTR(padding, String) | .REQUIRED_ATTR(padding, String) | ||||
| .ATTR(pads, ListInt, {0,0,0}) | |||||
| .ATTR(dilation, ListInt, {1,1,1}) | |||||
| .ATTR(pads, ListInt, {0,0,0,0,0,0}) | |||||
| .ATTR(dilation, ListInt, {1,1,1,1,1,1}) | |||||
| .ATTR(ceil_mode, Int, 0) | .ATTR(ceil_mode, Int, 0) | ||||
| .ATTR(data_format, String, "NDHWC") | .ATTR(data_format, String, "NDHWC") | ||||
| .OP_END_FACTORY_REG(MaxPool3D) | .OP_END_FACTORY_REG(MaxPool3D) | ||||
| @@ -418,7 +418,7 @@ REG_OP(EmbeddingRankId) | |||||
| */ | */ | ||||
| REG_OP(FillV2) | REG_OP(FillV2) | ||||
| .INPUT(dims, TensorType({DT_INT16, DT_INT32, DT_INT64})) | .INPUT(dims, TensorType({DT_INT16, DT_INT32, DT_INT64})) | ||||
| .OUTPUT(y, TensorType({DT_FLOAT, DT_FLOAT, DT_DOUBLE, DT_INT8, DT_INT16, DT_INT32, DT_INT64})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_INT8, DT_INT16, DT_INT32, DT_INT64})) | |||||
| .ATTR(value, Float, 0) | .ATTR(value, Float, 0) | ||||
| .OP_END_FACTORY_REG(FillV2) | .OP_END_FACTORY_REG(FillV2) | ||||
| @@ -437,7 +437,7 @@ REG_OP(FillV2) | |||||
| * Compatible with the ONNX operator ConstantOfShape. | * Compatible with the ONNX operator ConstantOfShape. | ||||
| */ | */ | ||||
| REG_OP(FillV2D) | REG_OP(FillV2D) | ||||
| .OUTPUT(y, TensorType({DT_FLOAT, DT_FLOAT, DT_DOUBLE, DT_INT8, DT_UINT8, DT_INT16, DT_INT32, DT_INT64})) | |||||
| .OUTPUT(y, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_INT8, DT_UINT8, DT_INT16, DT_INT32, DT_INT64})) | |||||
| .ATTR(value, Float, 0) | .ATTR(value, Float, 0) | ||||
| .REQUIRED_ATTR(dims, ListInt) | .REQUIRED_ATTR(dims, ListInt) | ||||
| .OP_END_FACTORY_REG(FillV2D) | .OP_END_FACTORY_REG(FillV2D) | ||||