- 收藏
- 点赞
- 分享
- 举报
hi3520D的VI部分我的理解
[i=s] 本帖最后由 jl3276 于 2017-3-22 16:21 编辑 [/i]
[code]/*****
- function : star vi according to product type
-
if vi input is hd, we will start sub-chn for cvbs preview ***/ HI_S32 SAMPLE_COMM_VI_Start(SAMPLE_VI_MODE_E enViMode, VIDEO_NORM_E enNorm) { VI_DEV ViDev; VI_CHN ViChn, ViChn_Sub; HI_S32 i; HI_S32 s32Ret; SAMPLE_VI_PARAM_S stViParam; SIZE_S stMainTargetSize;//SIZE_S定义尺寸信息结构体 SIZE_S stSubTargetSize; RECT_S stCapRect;//RECT_S定义矩形区域信息结构体。 /enViMode = SAMPLE_VI_MODE_4_D1;enNorm = VIDEO_ENCODING_MODE_PAL;/ /* get parameter from Sample_Vi_Mode ***/ s32Ret = SAMPLE_COMM_VI_Mode2Param(enViMode, &stViParam);//根据enViMode模式设置stViParam参数 if (HI_SUCCESS !=s32Ret) { SAMPLE_PRT("vi get param failed!\n"); return HI_FAILURE; } s32Ret = SAMPLE_COMM_VI_Mode2Size(enViMode, enNorm, &stCapRect, &stMainTargetSize);//get vi parameter, according to vi type if (HI_SUCCESS !=s32Ret) { SAMPLE_PRT("vi get size failed!\n"); return HI_FAILURE; }
/ Start AD / s32Ret = SAMPLE_COMM_VI_ADStart(enViMode, enNorm); if (HI_SUCCESS !=s32Ret) { SAMPLE_PRT("Start AD failed!\n"); return HI_FAILURE; }
/ Start VI Dev / for(i=0; i<stViParam.s32ViDevCnt; i++) { ViDev = i * stViParam.s32ViDevInterval; s32Ret = SAMPLE_COMM_VI_StartDev(ViDev, enViMode); if (HI_SUCCESS != s32Ret) { SAMPLE_PRT("SAMPLE_COMM_VI_StartDev failed with %#x\n", s32Ret); return HI_FAILURE; } }
/ Start VI Chn / for(i=0; i<stViParam.s32ViChnCnt; i++) { ViChn = i * stViParam.s32ViChnInterval;//s32ViChnInterval的含义
s32Ret = SAMPLE_COMM_VI_StartChn(ViChn, &stCapRect, &stMainTargetSize, enViMode, VI_CHN_SET_NORMAL); if (HI_SUCCESS != s32Ret) { SAMPLE_PRT("call SAMPLE_COMM_VI_StarChn failed with %#x\n", s32Ret); return HI_FAILURE; } /* HD mode, we will start vi sub-chn */ if (HI_TRUE == SAMPLE_COMM_VI_IsHd(enViMode)) { ViChn_Sub = SUBCHN(ViChn); s32Ret = SAMPLE_COMM_VI_GetSubChnSize(ViChn_Sub, enNorm, &stSubTargetSize); if (HI_SUCCESS != s32Ret) { SAMPLE_PRT("SAMPLE_COMM_VI_GetSubChnSize(%d) failed!\n", ViChn_Sub); return HI_FAILURE; } s32Ret = SAMPLE_COMM_VI_StartChn(ViChn_Sub, &stCapRect, &stSubTargetSize,enViMode, VI_CHN_SET_NORMAL); if (HI_SUCCESS != s32Ret) { SAMPLE_PRT("SAMPLE_COMM_VI_StartChn (Sub_Chn-%d) failed!\n", ViChn_Sub); return HI_FAILURE; } }
}
return HI_SUCCESS; }[/code]
hi3520D的VI部分我的理解: http://ebaina.com/bbs/thread-12613-1-1.html hi3520D的VPSS部分我的理解: http://ebaina.com/bbs/thread-12618-1-1.html hi3520D的VO部分我的理解: http://www.ebaina.com/bbs/thread-12619-1-1.html 如有问题欢迎加群讨论: 学习交流群:375323762
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
-
2016-09-11 16:01:36
-
2016-09-11 09:56:35
-
2016-08-15 17:52:45
-
2020-04-17 11:35:46
-
2017-08-14 14:28:15
-
2015-04-09 08:25:26
-
12017-03-08 18:36:15
-
02013-12-26 15:33:24
-
2017-05-26 22:45:26
-
2016-11-08 18:00:35
-
2017-08-23 18:22:06
-
2018-06-03 11:29:15
-
2016-03-25 15:18:43
-
2018-03-20 16:03:07
-
2014-12-01 15:48:52
-
2016-03-09 20:52:30
-
2016-04-20 20:15:31
-
2016-11-14 17:08:42
-
2015-07-06 20:53:49
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明