海思IVE函数使用1 (DMA使用 HI_MPI_IVE_DMA)

1 结构体定义

//灰度图像定义

typedef struct
{unsigned  char  *pu8Data;  //虚拟地址unsigned int  u32PhyAddr;   //物理地址int   s32Width;           //图像宽度int   s32Height;          //图像高度int  s32Stride;         //图像step
}RV_GRAY_IMAGE_S;//区域定义
typedef struct
{short left ;short top ;short right ;short bottom ;
}RV_RECT ;2 IVE优化实现
---------int RV_MEMCPY_IVE(RV_GRAY_IMAGE_S * pSrcImage, RV_GRAY_IMAGE_S * pDstImg,RV_RECT * pSrcRect,RV_RECT * pDstRect)
{IVE_HANDLE hIveHandle = 0;HI_BOOL bInstant = HI_TRUE;HI_BOOL bBlock = HI_TRUE;HI_BOOL bFinish = HI_FALSE;HI_S32 result;int srcw = pSrcRect->right - pSrcRect->left + 1;int srch = pSrcRect->bottom - pSrcRect->top + 1;int dstw = pDstRect->right - pDstRect->left + 1;int dsth = pDstRect->bottom - pDstRect->top + 1;if (srcw != dstw || srch != dsth){return -1;}IVE_DATA_S stSrc = {  (HI_U32)(pSrcImage->u32PhyAddr + pSrcImage->s32Stride * pSrcRect->top + pSrcRect->left),pSrcImage->pu8Data+pSrcImage->s32Stride * pSrcRect->top + pSrcRect->left,pSrcImage->s32Stride, srcw, srch};IVE_DATA_S stDst = { pDstImg->u32PhyAddr + pDstImg->s32Stride*pDstRect->top+pDstRect->left, pDstImg->pu8Data + pDstImg->s32Stride*pDstRect->top+pDstRect->left, pDstImg->s32Stride, srcw,srch};IVE_DMA_CTRL_S stDmaCtrl = { IVE_DMA_MODE_DIRECT_COPY, 0};result = HI_MPI_IVE_DMA( &hIveHandle, &stSrc,&stDst, &stDmaCtrl,bInstant);if( result != HI_SUCCESS ){printf( "hi ive dma error=%x \n" ,result);return RV_ERROR ;}result = HI_MPI_IVE_Query(hIveHandle,&bFinish,bBlock);if(result != HI_SUCCESS){//  printf("hi query dma  error \n"); //windows 模拟库都返回失败。这里不打印 //  return RV_ERROR ;    //无意外情况都是成功}else{if(bFinish != HI_TRUE){printf("hi dma is not finished \n");return RV_ERROR ;}}return RV_SUCESS;
}

海思IVE函数使用-1 (DMA使用 HI_MPI_IVE_DMA)相关推荐

  1. 海思IVE遮挡报警算法(OD)

    大家越来越不喜欢分享了好像. 随便写写吧. OK , fine, 先看原处理线程 while (...){......s32Ret = HI_MPI_IVE_Integ(&IveHandle, ...

  2. 海思IVE使用模板总结(FILE->IVE->FILE)

    文章目录 对单张图片进行处理 对单个视频进行处理 对单张图片进行处理 #include <stdio.h> #include <stdlib.h> #include <s ...

  3. 海思IVE实现车辆识别

    1.Create ive image SAMPLE_COMM_IVE_CreateImage 2.HI_MPI_IVE_CSC 3.HI_MPI_IVE_Query 4.车辆颜色识别

  4. 海思IVE算法原理解析一--遮挡检测(occlusion deection)

    前言 这个算法就是满足摄像头遮挡报警这个功能需求 代码分析 0xfffffffLL是个长整形, 如果你也好奇这个写法的话. 流程 创建灰度图像的积分图计算任务 算出图像灰度值的平均值,均方差,u, v ...

  5. 灵派海思SDK的API参考手册

    本手册镜像地址:https://gitee.com/LinkPi/LinkLib/wikis/pages 灵派海思SDK的API参考手册 1. 概述 基本接口详解 LinkObject Link Js ...

  6. 海思3559万能平台:VGS的画线处理

    前言   海思的OSD功能除了之前提到的第三方库,自己的VGS也可以做到一些简单的诸如画线之类的操作,这里介绍下假如类似识别时需要画矩形框的时候可以的一种做法 海思VGS简介   海思的VGS 是视频 ...

  7. 海思SDK学习(10)海思媒体处理软件平台MMP(9)AUDIO音频

    音频 1.概述 AUDIO 模块包括音频输入.音频输出.音频编码.音频解码四个子模块.音频输入和输出模块通过对Hi35xx 芯片音频接口的控制实现音频输入输出功能.音频编码和解码模块提供对G711.G ...

  8. 海思Hi3516dv300屏幕调试MIPI TX接口LCD屏幕(京东方JD9366)

    一.操作环境 板子:Dopi Hi3516DV300 开发板 + 京东方JD9366屏幕 + IMX307摄像头 电脑:Ubuntu 18.04 SDK版本: Hi3516CV500_SDK_V2.0 ...

  9. 52-20210322华为海思Hi3516DV300的linux系统编译(eMMC模式)1

    52-20210322华为海思Hi3516DV300的linux系统编译(eMMC模式) 2021/3/22 18:00 请严重注意: 本文所使用的的SDK是:Hi3516CV500R001C02SP ...

最新文章

  1. 综合技术--maven的基本使用
  2. 两篇很牛的vim使用技巧
  3. 里面怎么模拟裂纹_警惕!你买的翡翠有裂纹吗?它能让翡翠的价值暴跌
  4. linux UID的长度,linux下文件数、目录数、文件名长度的各种限制
  5. master节点重置后添加node报错_企业实战(23)基于Docker平台的Jenkins添加node节点与报错详解(2)...
  6. ubuntu 启动进入initramfs错误解决办法
  7. Exchange 2013 OU大于500新建用户无法查询OU
  8. 7.GitLab 创建 merge request
  9. 周九常:个人知识管理的三个重点领域
  10. WEB端工程环境安装
  11. Oracle EBS RCV_TRASACTIONS TRANSACTION_TYPE 对应中文 SQL
  12. 新高考选科 计算机科学,上海交通大学新高考选科指南
  13. UnityEditor查找引用和批量替换资源工具
  14. vue 梯形百分比占比图
  15. mysql 分表插入_如何解决MySQL分表与新数据的插入
  16. linux搭建服务器ppt,Linux服务器远程控制搭建.ppt
  17. Linux shell获取时间和时间间隔(ms级别)
  18. JavaScript中作用域详解
  19. php 自带模板标记,关于模板标记的9篇文章推荐
  20. 资料搜集-JAVA系统的梳理知识5-JAVA基础篇JVM

热门文章

  1. 【随笔】新浪微博分析
  2. vue 组件插槽solt 的使用
  3. python调用微信截图功能
  4. java递归输出杨辉三角,杨辉三角算法 | zhangman523
  5. 用多态来实现U盘,Mp3,移动硬盘和电脑的对接,读取写入数据。
  6. Adam学习22之在window下使用idea的maven编译安装记录
  7. 服务器性能测试方法,服务器性能测试方法
  8. 解决因d3dx9_30.dll丢失程序无法运行问题
  9. 计算机动画技术 增强现实,AR技术是什么 增强现实技术介绍
  10. python混合整数线性规划_【Python代码】混合整数规划MIP/线性规划LP+python(ortool库)实现...