91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .gz
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-12
  • 語言: 其他
  • 標簽: IVE圖像??

資源簡介

海思ive 用戶圖像基本操作,后續會上傳ive圖像處理詳情請參考博客 http://blog.csdn.net/qq_21193563/article/details/78401966

資源截圖

代碼片段和文件信息

/*
?*?userHisiCode.c
?*
?*??Created?on:?2017年10月31日
?*??????Author:?JasonHuo
?*/


#include?“userHisiCode.h“
#include?
#include?
#include?
static?int?userIveAllocImg(IVE_IMAGE_S?*pImgIVE_IMAGE_TYPE_E?imgTypeint?widthint?height)
{
int?size?=?0;
int?ret?=?0;
//判斷輸入指針是否為空
if(pImg==NULL)
return?HI_FAILURE;

//配置圖像類型和計算圖像基本信息
pImg->enType?=?imgType;
pImg->u16Height?=?(HI_U16)height;
pImg->u16Width?=?(HI_U16)width;
pImg->u16Stride[0]?=?CALC_STRIDE(widthUSER_IVE_ALIGN);

switch(imgType)
{
//八位單通道圖像
case?IVE_IMAGE_TYPE_U8C1:
case?IVE_IMAGE_TYPE_S8C1:
{
size?=?pImg->u16Stride[0]*pImg->u16Height;
ret?=?HI_MPI_SYS_MmzAlloc_Cached(&pImg->u32PhyAddr[0]?(void**)&pImg->pu8VirAddr[0]?NULL?HI_NULL?size);
HI_CHECK_MPI_SYS_RET(ret“userIveAllocImg?failError(%#x)\r\n“);
}break;
//yuv420sp格式
case?IVE_IMAGE_TYPE_YUV420SP:
{
size?=?(pImg->u16Stride[0]*pImg->u16Height*3)>>1;//1.5倍的圖像尺寸
ret?=?HI_MPI_SYS_MmzAlloc_Cached(&pImg->u32PhyAddr[0]?(void**)&pImg->pu8VirAddr[0]?NULL?HI_NULL?size);
HI_CHECK_MPI_SYS_RET(ret“userIveAllocImg?failError(%#x)\r\n“);
pImg->u16Stride[1]??=?pImg->u16Stride[0];
pImg->pu8VirAddr[1]?=?pImg->pu8VirAddr[0]?+?pImg->u16Stride[0]*pImg->u16Height;
pImg->u32PhyAddr[1]?=?pImg->u32PhyAddr[1]?+?pImg->u16Stride[0]*pImg->u16Height;
}break;
//yuv420p
case?IVE_IMAGE_TYPE_YUV420P:
{
size?=?(pImg->u16Stride[0]*pImg->u16Height*3)>>1;//1.5倍的圖像尺寸
ret?=?HI_MPI_SYS_MmzAlloc_Cached(&pImg->u32PhyAddr[0]?(void**)&pImg->pu8VirAddr[0]?NULL?HI_NULL?size);
HI_CHECK_MPI_SYS_RET(ret“userIveAllocImg?failError(%#x)\r\n“);
int?tempWidth?=?width>>1;
pImg->u16Stride[1]??=?CALC_STRIDE(tempWidthUSER_IVE_ALIGN);
pImg->pu8VirAddr[1]?=?pImg->pu8VirAddr[0]?+?pImg->u16Stride[0]*pImg->u16Height;
pImg->u32PhyAddr[1]?=?pImg->u32PhyAddr[0]?+?pImg->u16Stride[0]*pImg->u16Height;
pImg->u16Stride[2]??=?pImg->u16Stride[1];
pImg->pu8VirAddr[2]?=?pImg->pu8VirAddr[1]?+?pImg->u16Stride[1]*pImg->u16Height/2;
pImg->u32PhyAddr[2]?=?pImg->u32PhyAddr[1]?+?pImg->u16Stride[1]*pImg->u16Height/2;
}break;
//yuv422sp
case?IVE_IMAGE_TYPE_YUV422SP:
// case?IVE_IMAGE_TYPE_S8C2_PLANAR:
{
size?=?pImg->u16Stride[0]*pImg->u16Height*2;//2倍的圖像尺寸
ret?=?HI_MPI_SYS_MmzAlloc_Cached(&pImg->u32PhyAddr[0]?(void**)&pImg->pu8VirAddr[0]?NULL?HI_NULL?size);
HI_CHECK_MPI_SYS_RET(ret“userIveAllocImg?failError(%#x)\r\n“);
pImg->u16Stride[1]??=?pImg->u16Stride[0];
pImg->pu8VirAddr[1]?=?pImg->pu8VirAddr[0]?+?pImg->u16Stride[0]*pImg->u16Height;
pImg->u32PhyAddr[1]?=?pImg->u32PhyAddr[0]?+?pImg->u16Stride[0]*pImg->u16Height;
}break;
//yuv422p
case?IVE_IMAGE_TYPE_YUV422P:
{
size?=?pImg->u16Stride[0]*pImg->u16Height*2;//2倍的圖像尺寸
ret?=?HI_MPI_SYS_MmzAlloc_Cached(&pImg->u32PhyAddr[0]?(void**)&pImg->pu8VirAddr[0]?NULL?HI_NULL?size);
HI_CHECK_MPI_SYS_RET(ret“userIveAllocImg?failError(%#x)\r\n“);
int?tempWidth?=?width>>1;
pImg->u16Stride[1]??=?CALC_STRIDE(tempWidthUSER_IVE_

評論

共有 條評論