
tl0000


0 访问量
0 原创专栏
0 资料
0 粉丝
个性签名:此E友还没有留下个性签名哦~
加入易百纳时间:2019-06-06
-
哪位大佬调通了3519AV100虚拟VO功能,求指点具体流程是怎么样的2020-07-200 0 1659
-
海思3519 HI_MPI_IVE_CSC yuv转rgb接口具体怎么用,流程是怎么样的,求大神指点下2019-07-120 0 1733
-
根据海思例程SAMPLE_H264_VDEC_VPSS_VO 可以直接将图像发送到视频屏显示,我把绑定到vpss和vo去掉,在另一个线程HI_MPI_VDEC_GetFrame获取图像一直不对?求大神指点2019-09-060 0 2072
-
3536 双网卡有一个网卡不能工作,用的海思提供uboot,请教大神需要做哪些修改?2019-09-261 0 2052
-
HI_S32 s32Ret; HI_S32 s32MilliSec = -1; VB_BLK VbBlk; HI_U64 u64PhyAddr; HI_U8 *pVirAddr; //VB_POOL u32PoolId; HI_U32 u32Size; HI_U32 u32Stride; SAMPLE_VI_FRAME_CONFIG_S stFrmCfg; VIDEO_FRAME_INFO_S stVoFrameInfo; stFrmCfg.u32Width = psrcFrameInfo->stVFrame.u32Width; stFrmCfg.u32Height = psrcFrameInfo->stVFrame.u32Height; stFrmCfg.u32ByteAlign = 0; stFrmCfg.enPixelFormat = PIXEL_FORMAT_YUV_SEMIPLANAR_420; stFrmCfg.enCompressMode = COMPRESS_MODE_NONE; stFrmCfg.enVideoFormat = VIDEO_FORMAT_LINEAR; stFrmCfg.enDynamicRange = DYNAMIC_RANGE_SDR8; u32Stride = psrcFrameInfo->stVFrame.u32Stride[0]; u32Size = u32Stride * stFrmCfg.u32Height*3/2; printf("u32Stride is %d %d %d\n ",u32Size,u32Stride,stFrmCfg.u32Height); VbBlk = HI_MPI_VB_GetBlock(u32PoolId, u32Size, HI_NULL); if (VB_INVALID_HANDLE == VbBlk) { SAMPLE_PRT("HI_MPI_VB_GetBlock err! size:%d\n", u32Size); return HI_FAILURE; } u64PhyAddr = HI_MPI_VB_Handle2PhysAddr(VbBlk); if (0 == u64PhyAddr) { SAMPLE_PRT("HI_MPI_VB_Handle2PhysAddr err!\n"); return HI_FAILURE; } pVirAddr = (HI_U8 *)HI_MPI_SYS_Mmap(u64PhyAddr, u32Size); if (NULL == pVirAddr) { SAMPLE_PRT("HI_MPI_SYS_Mmap err!\n"); return HI_FAILURE; } stVoFrameInfo.u32PoolId = u32PoolId; stVoFrameInfo.enModId = HI_ID_VI; stVoFrameInfo.stVFrame.u64PhyAddr[0] = u64PhyAddr; stVoFrameInfo.stVFrame.u64PhyAddr[1] = stVoFrameInfo.stVFrame.u64PhyAddr[0] + u32Stride*1080; stVoFrameInfo.stVFrame.u64PhyAddr[2] = stVoFrameInfo.stVFrame.u64PhyAddr[1] + u32Stride*1080; stVoFrameInfo.stVFrame.u64VirAddr[0] = (HI_U64)(HI_UL)pVirAddr; stVoFrameInfo.stVFrame.u64VirAddr[1] = stVoFrameInfo.stVFrame.u64VirAddr[0] + u32Stride*1080; stVoFrameInfo.stVFrame.u64VirAddr[2] = stVoFrameInfo.stVFrame.u64VirAddr[1] + u32Stride*1080; stVoFrameInfo.stVFrame.u32Stride[0] = u32Stride; stVoFrameInfo.stVFrame.u32Stride[1] = u32Stride; stVoFrameInfo.stVFrame.u32Stride[2] = u32Stride; stVoFrameInfo.stVFrame.u32Width = stFrmCfg.u32Width; stVoFrameInfo.stVFrame.u32Height = stFrmCfg.u32Height; stVoFrameInfo.stVFrame.enPixelFormat = stFrmCfg.enPixelFormat; stVoFrameInfo.stVFrame.enVideoFormat = stFrmCfg.enVideoFormat; stVoFrameInfo.stVFrame.enCompressMode = stFrmCfg.enCompressMode; stVoFrameInfo.stVFrame.enField = VIDEO_FIELD_FRAME; stVoFrameInfo.stVFrame.enDynamicRange = DYNAMIC_RANGE_SDR8; stVoFrameInfo.stVFrame.enColorGamut = psrcFrameInfo->stVFrame.enColorGamut; //HI_U8* yPtr = (HI_U8*)HI_MPI_SYS_Mmap(stVoFrameInfo.stVFrame.u64VirAddr[0], u32Size); printf("config ok\n"); memcpy(pVirAddr,yuvdata,u32Size); printf("memcpy ok\n"); // s32Ret = HI_MPI_VB_Handle2PoolId(VbBlk); printf("HI_MPI_VB_Handle2PoolId OK\n"); //直接发送HI_MPI_VPSS_GetChnFrame视频没问题 //s32Ret = HI_MPI_VO_SendFrame(0, 0,psrcFrameInfo,s32MilliSec); s32Ret = HI_MPI_VO_SendFrame(0, 0,&stVoFrameInfo,s32MilliSec); //HI_MPI_SYS_Munmap(yPtr, u32Size); s32Ret = HI_MPI_SYS_Munmap((HI_VOID*)(HI_UL)pVirAddr, u32Size); if (s32Ret != HI_SUCCESS) { SAMPLE_PRT("HI_MPI_SYS_Munmap failure!\n"); } s32Ret = HI_MPI_VB_ReleaseBlock(VbBlk); if (s32Ret != HI_SUCCESS) { SAMPLE_PRT("HI_MPI_VB_ReleaseBlock block 0x%x failure\n", VbBlk); }2019-08-023 0 2176
-
各位大佬,3536双cpu如何通讯?哪位给指点下。2019-12-060 0 1219
-
3536SPI外接从设备驱动有人调过吗,海思文档说已经集成,为什么找不到设备2019-10-220 0 1356

共7条