ljh4371

ljh4371

0个粉丝

3

问答

0

专栏

0

资料

ljh4371  发布于  2016-06-14 23:57:07
采纳率 0%
3个问答
4676

hi3518e VPSS初始化问题求助

 
涉及到VPSS的API全部出错,错误代码a0088010,查看错误码,为"VPSS 系统未初始化"
HI_MPI_VPSS_CreateGrp abnormally!-------a0088010
HI_MPI_VPSS_GetGrpAttr abnormally!-------a0088010
HI_MPI_VPSS_SetGrpAttr abnormally!-------a0088010
HI_MPI_VPSS_GetCropCfg abnormally!-------a0088010
HI_MPI_VPSS_SetCropCfg abnormally!-------a0088010
HI_MPI_VPSS_GetChnAttr abnormally!-------a0088010
HI_MPI_VPSS_SetChnAttr abnormally!-------a0088010
HI_MPI_VPSS_EnableChn abnormally!-------a0088010
HI_MPI_VPSS_StartGrp abnormally!-------a0088010

代码如下:
    VPSS_GRP_ATTR_S stGrpVpssAttr;
    VPSS_CHN_ATTR_S stChnAttr;
    VPSS_CROP_INFO_S stCropInfo;
    VPSS_GRP VpssGrp;
    VPSS_CHN VpssChn;
    VpssGrp = 0;
    VpssChn = 0;
    stGrpVpssAttr.u32MaxW = 720;
    stGrpVpssAttr.u32MaxH = 576;
    stGrpVpssAttr.bDrEn = HI_FALSE;
    stGrpVpssAttr.bDbEn = HI_FALSE;
    stGrpVpssAttr.bIeEn = HI_FALSE;
    stGrpVpssAttr.bNrEn = HI_FALSE;
    stGrpVpssAttr.bHistEn = HI_FALSE;
    stGrpVpssAttr.enDieMode = VPSS_DIE_MODE_NODIE;
    stGrpVpssAttr.enPixFmt = PIXEL_FORMAT_YUV_SEMIPLANAR_422;
    s32Ret = HI_MPI_VPSS_CreateGrp(VpssGrp, &stGrpVpssAttr);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_CreateGrp abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_CreateGrp success!\n");
    s32Ret = HI_MPI_VPSS_GetGrpAttr(VpssGrp, &stGrpVpssAttr);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_GetGrpAttr abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_GetGrpAttr success!\n");
    stGrpVpssAttr.bIeEn = HI_TRUE;
    stGrpVpssAttr.bNrEn = HI_TRUE;
    s32Ret = HI_MPI_VPSS_SetGrpAttr(VpssGrp, &stGrpVpssAttr);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_SetGrpAttr abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_SetGrpAttr success!\n");
    s32Ret = HI_MPI_VPSS_GetCropCfg(VpssGrp, &stCropInfo);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_GetCropCfg abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_GetCropCfg success!\n");
    stCropInfo.bEnable = 1;
    stCropInfo.enCropCoordinate = VPSS_CROP_ABS_COOR;
    stCropInfo.stCropRect.s32X = 180;
    stCropInfo.stCropRect.s32Y = 252;
    stCropInfo.stCropRect.u32Width = 1920;
    stCropInfo.stCropRect.u32Height = 1080;
    s32Ret = HI_MPI_VPSS_SetCropCfg(VpssGrp, &stCropInfo);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_SetCropCfg abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_SetCropCfg success!\n");
    s32Ret = HI_MPI_VPSS_GetChnAttr(VpssGrp, VpssChn,&stChnAttr);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_GetChnAttr abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_GetChnAttr success!\n");
    stChnAttr.bFrameEn = 0;
    stChnAttr.bSpEn = 1;
    s32Ret = HI_MPI_VPSS_SetChnAttr(VpssGrp, VpssChn,&stChnAttr);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_SetChnAttr abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_SetChnAttr success!\n");
    s32Ret = HI_MPI_VPSS_EnableChn(VpssGrp, VpssChn);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_EnableChn abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_EnableChn success!\n");
    s32Ret = HI_MPI_VPSS_StartGrp (VpssGrp);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_StartGrp abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_StartGrp success!\n");
    /*****************************/
    /* call sys bind interface */
    HI_U32 u32FrmCnt = 1;
    HI_U32 u32Width = 720;
    HI_U32 u32Height = 576;
    HI_U32 u32PixelFormat = 0;
    printf("Usage: ./vpss_dump [Grp] [Chn] [Count] [Width] [Height] [PixelFormat]\n");
    printf("PixelFormat: image pixel format, 0 for semiplanar420 ang 1 for semiplanar422.\n");
    SAMPLE_MISC_VpssDump(VpssGrp,VpssChn,u32FrmCnt,u32Width,u32Height,u32PixelFormat);
    /*****************************/
    s32Ret = HI_MPI_VPSS_StopGrp (VpssGrp);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_StopGrp abnormally!-------%x\n",s32Ret);
        return s32Ret;
    }else printf("HI_MPI_VPSS_StopGrp success!\n");
    s32Ret = HI_MPI_VPSS_DisableChn(VpssGrp, VpssChn);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_DisableChn abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_DisableChn success!\n");
    /*****************************/
    /* call sys unbind interface */
    /*****************************/
    s32Ret = HI_MPI_VPSS_DestroyGrp(VpssGrp);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_DestroyGrp abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_DestroyGrp success!\n");

另外:
# cat /dev/logmpp
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VPSS_GetChnMode [Line]:3408 [Info]:<3>[  vpss] [grp0}:vpss unexist!
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !
<3>[  vpss] [Func]:VpssIoctl [Line]:377 [Info]:<3>[  vpss] MPP vpss not init !

请各位大侠帮忙看看是怎么回事?跪谢!!!!!!!
我来回答
回答13个
时间排序
认可量排序

ljh4371

0个粉丝

3

问答

0

专栏

0

资料

ljh4371 2016-06-15 00:18:34
认可0
初始化问题解决,是没有初始化sys的原因,出现新问题:
HI_MPI_VPSS_SetCropCfg abnormally!-------a0088003

stCropInfo.bEnable = 1;
    stCropInfo.enCropCoordinate = VPSS_CROP_ABS_COOR;
    stCropInfo.stCropRect.s32X = 180;
    stCropInfo.stCropRect.s32Y = 252;
    stCropInfo.stCropRect.u32Width = 1920;
    stCropInfo.stCropRect.u32Height = 1080;
    s32Ret = HI_MPI_VPSS_SetCropCfg(VpssGrp, &stCropInfo);
    if(s32Ret != HI_SUCCESS)
    {
        printf("HI_MPI_VPSS_SetCropCfg abnormally!-------%x\n",s32Ret);
        //return s32Ret;
    }else printf("HI_MPI_VPSS_SetCropCfg success!\n");

hi3518e+摄像头ov9712,各位大神看看,参数设置出了什么问题呢?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 08:25:16
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31656&ptid=11602]ljh4371 发表于 2016-6-15 00:18[/url]
初始化问题解决,是没有初始化sys的原因,出现新问题:
HI_MPI_VPSS_SetCropCfg abnormally!-------a00880 ...[/quote]

楼主的是离线模式还是在线模式

只有离线模式支持HI_MPI_VPSS_SetCropCfg

ljh4371

0个粉丝

3

问答

0

专栏

0

资料

ljh4371 2016-06-15 08:42:46
认可0
本帖最后由 ljh4371 于 2016-6-15 08:50 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=31659&ptid=11602]zhuangweiye 发表于 2016-6-15 08:25[/url]
楼主的是离线模式还是在线模式

只有离线模式支持HI_MPI_VPSS_SetCropCfg[/quote]

新手,傻傻分不清楚……文档中没有找到离线、在线的相关信息……您说的是3518e吗?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 09:01:36
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31662&ptid=11602]ljh4371 发表于 2016-6-15 08:42[/url]
新手,傻傻分不清楚……文档中没有找到离线、在线的相关信息……您说的是3518e吗?[/quote]

是3518E, 但不止是3518E, 3516D/3516A都是

文档上是这样描述的

VI/VPSS 离/在线模式
VI 和VPSS 的协作模式分为以下2 种(模式切换由load 脚本参数控制,对应sys 模块
参数vi_vpss_online):
* VI/VPSS 离线模式是指VI 进行时序解析后将图像数据写出到DDR,VPSS 从
   DDR 中载入VI 采集的数据进行图像处理,是传统Hi3518/Hi3520D 等芯片的
   VI/VPSS 的协作模式。
* VI/VPSS 在线模式是指VI 进行时序解析后直接在芯片内部将数据传递到VPSS,
  中间无DDR 写出的过程。在线模式可以省一定的带宽和内存,降低端到端的延
  时。需要注意的是,在线模式时,因为VI 不写出数据到DDR,无法进行
  CoverEx、OverlayEx、Rotate、LDC 等操作,需要在VPSS 各通道写出后再进行
  Rotate/LDC 等处理,而且有些功能只在离线下能支持,比如DIS。

ljh4371

0个粉丝

3

问答

0

专栏

0

资料

ljh4371 2016-06-15 09:02:22
认可0
本帖最后由 ljh4371 于 2016-6-15 09:06 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=31663&ptid=11602]zhuangweiye 发表于 2016-6-15 09:01[/url]
是3518E, 但不止是3518E, 3516D/3516A都是

文档上是这样描述的
[/quote]

请教大神:
1、上述文档出处?
2、如何设置为离线模式呢?
3、我的目的是截取yuv图像,在线模式有没有办法解决?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 09:06:03
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31664&ptid=11602]ljh4371 发表于 2016-6-15 09:02[/url]
请问如何设置为离线模式呢?[/quote]

上面不是写地很清楚了吗

VI 和VPSS 的协作模式分为以下2 种(模式切换由load 脚本参数控制,对应sys 模块参数vi_vpss_online)

具体实现在load3518e.sh中的
insmod hi3518e_sys.ko vi_vpss_online=x

ljh4371

0个粉丝

3

问答

0

专栏

0

资料

ljh4371 2016-06-15 09:10:03
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31665&ptid=11602]zhuangweiye 发表于 2016-6-15 09:06[/url]
上面不是写地很清楚了吗

VI 和VPSS 的协作模式分为以下2 种(模式切换由load 脚本参数控制,对应sys  ...[/quote]

请教大神:
1、上述文档出处?
2、我的目的是截取yuv图像,在线模式有没有办法解决?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 09:31:34
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31672&ptid=11602]ljh4371 发表于 2016-6-15 09:10[/url]
请教大神:
1、上述文档出处?
2、我的目的是截取yuv图像,在线模式有没有办法解决?[/quote]

1.
HiMPP IPC V2.0 媒体处理软件开发参考     2.2.3 VI/VPSS 离/在线模式

2.
估计在线模式只能在vpss处理后,用HI_MPI_VPSS_GetChnFrame来处理了
不过也有诸多限制, 要注意是不是会和主要功能有冲突

ljh4371

0个粉丝

3

问答

0

专栏

0

资料

ljh4371 2016-06-15 09:40:22
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31676&ptid=11602]zhuangweiye 发表于 2016-6-15 09:31[/url]
1.
HiMPP IPC V2.0 媒体处理软件开发参考     2.2.3 VI/VPSS 离/在线模式

[/quote]

“HiMPP IPC V2.0 媒体处理软件开发参考”,我没有这个文档,只有“HiMPP 媒体处理软件开发参考”,大神能否发一个给我?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 09:45:38
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31679&ptid=11602]ljh4371 发表于 2016-6-15 09:40[/url]
“HiMPP IPC V2.0 媒体处理软件开发参考”,我没有这个文档,只有“HiMPP 媒体处理软件开发参考”,大神 ...[/quote]

难道楼主用的不是3518EV200?

ljh4371

0个粉丝

3

问答

0

专栏

0

资料

ljh4371 2016-06-15 09:52:17
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31681&ptid=11602]zhuangweiye 发表于 2016-6-15 09:45[/url]
难道楼主用的不是3518EV200?[/quote]

是hi3518e,好像和hi3518ev200不太一样?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-06-15 09:57:58
认可0
那是3518EV100了

抱歉没有仔细看楼主设置的代码

问题可能是VPSS设置的max高宽为720x576, 而crop的宽高设为了1920x1080

ljh4371

0个粉丝

3

问答

0

专栏

0

资料

ljh4371 2016-06-15 09:59:19
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=31685&ptid=11602]zhuangweiye 发表于 2016-6-15 09:57[/url]
那是3518EV100了

抱歉没有仔细看楼主设置的代码
[/quote]

谢谢!虽然没解决问题,但是让我学到了一些东西!多谢大神!我试试看是不是高宽的问题!
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区