11104
- 收藏
- 点赞
- 分享
- 举报
hi3520D的VI部分我的理解
本帖最后由 jl3276 于 2017-3-22 16:21 编辑
[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
{
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
{
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部分我的理解:
[url]http://ebaina.com/bbs/thread-12613-1-1.html[/url]
hi3520D的VPSS部分我的理解:
[url]http://ebaina.com/bbs/thread-12618-1-1.html[/url]
hi3520D的VO部分我的理解:
[url]http://www.ebaina.com/bbs/thread-12619-1-1.html[/url]
如有问题欢迎加群讨论:
学习交流群:375323762
[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
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
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部分我的理解:
[url]http://ebaina.com/bbs/thread-12613-1-1.html[/url]
hi3520D的VPSS部分我的理解:
[url]http://ebaina.com/bbs/thread-12618-1-1.html[/url]
hi3520D的VO部分我的理解:
[url]http://www.ebaina.com/bbs/thread-12619-1-1.html[/url]
如有问题欢迎加群讨论:
学习交流群:375323762
我来回答
回答41个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
相关问答
-
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
-
2017-05-26 22:45:26
-
2015-04-09 08:25:26
-
02013-12-26 15:33:24
-
12017-03-08 18:36:15
-
2014-12-01 15:48:52
-
2018-03-20 16:03:07
-
2016-11-08 18:00:35
-
2018-06-03 11:29:15
-
2017-08-23 18:22:06
-
2016-03-25 15:18:43
-
2016-03-09 20:52:30
-
2015-07-06 20:53:49
-
2016-04-20 20:15:31
-
2016-11-14 17:08:42
无更多相似问答 去提问

点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认