/** * @file: sample_plugin.cpp * @author: sdk team * @brief * @version: 1.0 * @date 2022-05-26 * * Copyright: * © 2018 北京灵汐科技有限公司 版权所有。 * 注意:以下内容均为北京灵汐科技有限公司原创,未经本公司允许,不得转载,否则将视为侵权;对于不遵守此声明或者其他违法使用以下内容者,本公司依法保留追究权。 * © 2018 Lynxi Technologies Co., Ltd. All rights reserved. * NOTICE: All information contained here is, and remains the property of Lynxi. This file can not * be copied or distributed without the permission of Lynxi Technologies Co., Ltd. */ #include <stdio.h> #include <sys/time.h> #include <ctime> #include "sample_plugin.h" #include "unistd.h" #define USING_TIME(expr) \ do { \ struct timeval tBegin; \ gettimeofday(&tBegin, 0); \ { \ expr; \ } \ struct timeval tEnd; \ gettimeofday(&tEnd, 0); \ float times = (float) (tEnd.tv_sec - tBegin.tv_sec) * 1000 + \ (float) (tEnd.tv_usec - tBegin.tv_usec) / 1000; \ LOG_PLUGIN_E("%s using time: %f\n", __FUNCTION__, times); \ } while (0) int DrawBox(void *args) { DrawBoxAttr *attr = (DrawBoxAttr *) args; attr->imgData = (uint8_t *) lynPluginGetVirtAddr(attr->imgData); USING_TIME(PluginDrawBox(attr)); return 0; } int DrawText(void *args) { DrawTextPara *para = (DrawTextPara *) args; para->attr.imgData = (uint8_t *) lynPluginGetVirtAddr(para->attr.imgData); para->attr.text = para->text; USING_TIME(PluginDrawText(&(para->attr))); return 0; } int DrawTextV2(void *args) { DrawTextV2Para *para = (DrawTextV2Para *) args; para->attr.imgData = (uint8_t *) lynPluginGetVirtAddr(para->attr.imgData); para->attr.text = para->text; USING_TIME(PluginDrawTextV2(&(para->attr))); return 0; } int DrawLine(void *args) { DrawLineAttr *attr = (DrawLineAttr *) args; attr->imgData = (uint8_t *) lynPluginGetVirtAddr(attr->imgData); USING_TIME(PluginDrawLine(attr)); return 0; }