yangguang

yangguang

0个粉丝

4

问答

0

专栏

0

资料

yangguang  发布于  2019-12-31 10:37:13
采纳率 0%
4个问答
1836

[SAMPLE_VGS_Get_Frame_Thread]-162: HI_MPI_VB_GetBlock failed!

 
运行几秒时间之后出现这个问题
[SAMPLE_VGS_Get_Frame_Thread]-162: HI_MPI_VB_GetBlock failed!

[code]
    u32BlkSize = COMMON_GetPicBufferSize(stSize.u32Width, stSize.u32Height, SAMPLE_PIXEL_FORMAT, DATA_BITWIDTH_8, COMPRESS_MODE_NONE, DEFAULT_ALIGN);
    stVbConf.astCommPool[0].u64BlkSize  = u32BlkSize*4;
    stVbConf.astCommPool[0].u32BlkCnt   = 10;

        //从vi输出的数据缓冲池大小
    u32BlkSize = VI_GetRawBufferSize(stSize.u32Width, stSize.u32Height, SAMPLE_PIXEL_FORMAT, COMPRESS_MODE_NONE, DEFAULT_ALIGN);
    stVbConf.astCommPool[1].u64BlkSize  = u32BlkSize*4;
    stVbConf.astCommPool[1].u32BlkCnt   = 10;
[/code]

上述代码已经申请了VB缓冲池大小,我发现 stVbConf.astCommPool[1].u64BlkSize  = u32BlkSize*4;这句话很瘦影响,直接写成 stVbConf.astCommPool[1].u64BlkSize  = u32BlkSize;这样的话  不乘以4  在短时间内会报错  HI_MPI_VB_GetBlock failed!

加上 *4 之后  运行时间稍微长点,但是也还是会报错,这是哪里配置有问题呢?

[code] COMMON_GetPicBufferConfig(u32Width, u32Height, enPixelFormat, enBitWidth, enCmpMode, u32Align, &stCalConfig);
       
        VbHandle = HI_MPI_VB_GetBlock(VB_INVALID_POOLID, stCalConfig.u32VBSize, HI_NULL);   //获取一个缓存块         返回一个handle

        if (VB_INVALID_HANDLE == VbHandle)
        {
            SAMPLE_PRT("HI_MPI_VB_GetBlock failed!\n");
            goto EXIT;
        }
[/code]

每次运行到这个HI_MPI_VB_GetBlock会报错

跪求各位大神
我来回答
回答11个
时间排序
认可量排序

yangguang

0个粉丝

4

问答

0

专栏

0

资料

yangguang 2019-12-31 11:02:41
认可0
而且  经过我测试
[code]stVbConf.astCommPool[0].u32BlkCnt   = 30;[/code]
这段代码也会影响,30比10运行时间长点,难道是说开辟的VB用完了?
大神给帮忙看看:)

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2019-12-31 11:35:40
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=152016&ptid=77258]yangguang 发表于 2019-12-31 11:02[/url]
而且  经过我测试

这段代码也会影响,30比10运行时间长点,难道是说开辟的VB用完了?
[/quote]

get得到的VB用完要release, 不然都放在你自己手上,当然用完了

yangguang

0个粉丝

4

问答

0

专栏

0

资料

yangguang 2019-12-31 11:54:18
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=152020&ptid=77258]zhuangweiye 发表于 2019-12-31 11:35[/url]
get得到的VB用完要release, 不然都放在你自己手上,当然用完了[/quote]

感谢回复



右边为原始的代码,VGS相关的,能正常运行,我也看到了在while循环中会release VB

我只是将其中一些参数进行了修改     压缩方式、视频格式、datawidth进行了修改,整个的大流程并没有改变,

每次get之后都会进行release

将这些参数改成我希望的参数之后就只能运行几秒的时间,然后就会报错   HI_MPI_VB_GetBlock failed

请问这是什么原因呢?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2019-12-31 11:58:34
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=152021&ptid=77258]yangguang 发表于 2019-12-31 11:54[/url]
感谢回复


[/quote]

如果release, 那么就是大小有问题了

可能的话贴下运行时的/proc/umap/vb

yangguang

0个粉丝

4

问答

0

专栏

0

资料

yangguang 2019-12-31 17:07:48
认可0
本帖最后由 yangguang 于 2019-12-31 17:17 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=152022&ptid=77258]zhuangweiye 发表于 2019-12-31 11:58[/url]
如果release, 那么就是大小有问题了

可能的话贴下运行时的/proc/umap/vb[/quote]



提示是这样

设置的输入  3840*2160

[code]u32BlkSize = COMMON_GetPicBufferSize(stSize.u32Width, stSize.u32Height, SAMPLE_PIXEL_FORMAT, DATA_BITWIDTH_8, COMPRESS_MODE_NONE, DEFAULT_ALIGN);[/code]
打印输出blk大小    blk size = 12441600    计算方式应当是 3840*1920*1.5=12441600



输出           1920*1080

[code]u32Align      = 0;
        enCmpMode     = COMPRESS_MODE_NONE;
        enPixelFormat = PIXEL_FORMAT_YVU_SEMIPLANAR_420;
        enBitWidth    = DATA_BITWIDTH_8;
        u32Width      = u32OutWidth;
        u32Height     = u32OutHeight;

        COMMON_GetPicBufferConfig(u32Width, u32Height, enPixelFormat, enBitWidth, enCmpMode, u32Align, &stCalConfig);

                printf("3 blk size = %d\n",stCalConfig.u32VBSize);

        VbHandle = HI_MPI_VB_GetBlock(VB_INVALID_POOLID, stCalConfig.u32VBSize, HI_NULL);   //获取一个缓存块         返回一个handle[/code]

打印输出  blk size = 3110400    计算方式应当是   1920*1080*1.5 =3110400   

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2019-12-31 17:14:37
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=152041&ptid=77258]yangguang 发表于 2019-12-31 17:07[/url]
提示是这样[/quote]


看到了一片0, 昏倒

还是放文本吧, 截图信息不全

yangguang

0个粉丝

4

问答

0

专栏

0

资料

yangguang 2019-12-31 17:18:02
认可0
本帖最后由 yangguang 于 2019-12-31 17:19 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=152042&ptid=77258]zhuangweiye 发表于 2019-12-31 17:14[/url]
看到了一片0, 昏倒

还是放文本吧, 截图信息不全[/quote]

[VB] Version: [Hi3559AV100_MPP_V2.0.2.0 B060 Release], Build Time[Dec 21 2018, 16:57:15]

-----VB PUB CONFIG--------------------------------------------------------------
MaxPoolCnt
       768
-----VB SUPPLEMENT ATTR---------------------------------------------------------
  Config    Size   VbCnt
       0       0      23
-----COMMON POOL CONFIG---------------------------------------------------------
PoolId         0         1         2         3         4         5         6         7         8         9        10        11        12        13        14        15
Size    12441600  12441600         0         0         0         0         0         0         0         0         0         0         0         0         0         0
Count         10        10         0         0         0         0         0         0         0         0         0         0         0         0         0         0

--------------------------------------------------------------------------------
PoolId  PhysAddr            VirtAddr            IsComm  Owner  BlkSz     BlkCnt  Free    MinFree
0       0x6747a000          0x0                 1       -1     12441600  10      6       6      
BLK   VI    VO    VGS   VENC  VDEC  H265E H264E JPEGE H264D JPEGD VPSS  DIS   USER  PCIV  AI    AENC  RC    VFMW  GDC   AVS   RECT  MATCH
5     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     
6     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     
7     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     
8     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     
Sum   4     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     

--------------------------------------------------------------------------------
PoolId  PhysAddr            VirtAddr            IsComm  Owner  BlkSz     BlkCnt  Free    MinFree
1       0x6eb22000          0x0                 1       -1     12441600  10      10      10      

--------------------------------------------------------------------------------
PoolId  PhysAddr            VirtAddr            IsComm  Owner  BlkSz     BlkCnt  Free    MinFree
2       0x792d6000          0x0                 0       -2     3110400   3       1       0      
BLK   VI    VO    VGS   VENC  VDEC  H265E H264E JPEGE H264D JPEGD VPSS  DIS   USER  PCIV  AI    AENC  RC    VFMW  GDC   AVS   RECT  MATCH
1     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     
2     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     
Sum   0     2     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0    ount         10        10         0         0         0         0         0         0         0         0         0         0         0         0         0         0

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2019-12-31 17:33:42
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=152043&ptid=77258]yangguang 发表于 2019-12-31 17:18[/url]
[VB] Version: [Hi3559AV100_MPP_V2.0.2.0 B060 Release], Build Time[Dec 21 2018, 16:57:15]

---- ...[/quote]

从 /proc/umap/vb来看, vb池里面的vb并没有被占满, 而且只有vi在使用

这个和楼主说的现象有点对不起来

yangguang

0个粉丝

4

问答

0

专栏

0

资料

yangguang 2019-12-31 17:47:23
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=152044&ptid=77258]zhuangweiye 发表于 2019-12-31 17:33[/url]
从 /proc/umap/vb来看, vb池里面的vb并没有被占满, 而且只有vi在使用

这个和楼主说的现象有点对不起来[/quote]

[VB] Version: [Hi3559AV100_MPP_V2.0.2.0 B060 Release], Build Time[Dec 21 2018, 16:57:15]

-----VB PUB CONFIG--------------------------------------------------------------
MaxPoolCnt
       768
-----VB SUPPLEMENT ATTR---------------------------------------------------------
  Config    Size   VbCnt
       0       0      20
-----COMMON POOL CONFIG---------------------------------------------------------
PoolId         0         1         2         3         4         5         6         7         8         9        10        11        12        13        14        15
Size    12441600  12441600         0         0         0         0         0         0         0         0         0         0         0         0         0         0
Count         10        10         0         0         0         0         0         0         0         0         0         0         0         0         0         0

--------------------------------------------------------------------------------
PoolId  PhysAddr            VirtAddr            IsComm  Owner  BlkSz     BlkCnt  Free    MinFree
0       0x6747a000          0x0                 1       -1     12441600  10      0       0      
BLK   VI    VO    VGS   VENC  VDEC  H265E H264E JPEGE H264D JPEGD VPSS  DIS   USER  PCIV  AI    AENC  RC    VFMW  GDC   AVS   RECT  MATCH
8     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
2     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
6     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
5     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
4     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
9     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
3     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
1     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
0     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
7     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
Sum   0     0     0     0     0     0     0     0     0     0     0     0     10    0     0     0     0     0     0     0     0     0     0     

--------------------------------------------------------------------------------
PoolId  PhysAddr            VirtAddr            IsComm  Owner  BlkSz     BlkCnt  Free    MinFree
1       0x6eb22000          0x0                 1       -1     12441600  10      0       0      
BLK   VI    VO    VGS   VENC  VDEC  H265E H264E JPEGE H264D JPEGD VPSS  DIS   USER  PCIV  AI    AENC  RC    VFMW  GDC   AVS   RECT  MATCH
0     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
1     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
2     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
3     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
4     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
5     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
6     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
7     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
8     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
9     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     
Sum   0     0     0     0     0     0     0     0     0     0     0     0     10    0     0     0     0     0     0     0     0     0     0  



刚才贴的是运行中的,现在贴的是程序崩溃以后的。麻烦帮忙看看?

yangguang

0个粉丝

4

问答

0

专栏

0

资料

yangguang 2019-12-31 18:29:21
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=152044&ptid=77258]zhuangweiye 发表于 2019-12-31 17:33[/url]
从 /proc/umap/vb来看, vb池里面的vb并没有被占满, 而且只有vi在使用

这个和楼主说的现象有点对不起来[/quote]

大概找到问题了,但是不知道是什么原因

[code]       
    #define SAMPLE_PIXEL_FORMAT         PIXEL_FORMAT_YVU_SEMIPLANAR_420

    u32BlkSize = COMMON_GetPicBufferSize(stSize.u32Width, stSize.u32Height, SAMPLE_PIXEL_FORMAT, DATA_BITWIDTH_8, COMPRESS_MODE_NONE, DEFAULT_ALIGN);
    stVbConf.astCommPool[0].u64BlkSize  = u32BlkSize;
    stVbConf.astCommPool[0].u32BlkCnt   = 10;

        printf("1 blk size = %d\n",u32BlkSize);


        //从vi输出的数据缓冲池大小
    u32BlkSize = VI_GetRawBufferSize(stSize.u32Width, stSize.u32Height, PIXEL_FORMAT_RGB_BAYER_16BPP, COMPRESS_MODE_NONE, DEFAULT_ALIGN);
    stVbConf.astCommPool[1].u64BlkSize  = u32BlkSize;
    stVbConf.astCommPool[1].u32BlkCnt   = 10;

        printf("2 blk size = %d\n",u32BlkSize);[/code]

VI_GetRawBufferSize这个函数中,如果传入参数 SAMPLE_PIXEL_FORMAT  返回值 u32BlkSize  = 0
如果传入参数   PIXEL_FORMAT_RGB_BAYER_16BPP  则 返回值u32BlkSize  = 16588800

这个传入参数会有这么大影响么?   SAMPLE_PIXEL_FORMAT  是自定义的420sp格式的,难道这个函数不支持么?我在vi  vpss阶段都用的是  420sp格式的啊?

前辈  您知道这是怎么回事么?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2020-01-02 08:55:02
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=152054&ptid=77258]yangguang 发表于 2019-12-31 18:29[/url]
大概找到问题了,但是不知道是什么原因


[/quote]

这个只能看代码了

好像只支持        
PIXEL_FORMAT_RGB_BAYER_8BPP
PIXEL_FORMAT_RGB_BAYER_10BPP
PIXEL_FORMAT_RGB_BAYER_12BPP
PIXEL_FORMAT_RGB_BAYER_14BPP
PIXEL_FORMAT_RGB_BAYER_16BPP

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区