专栏底层软件请教 HB_VIN_RegisterDisCallback 的详细用法说明

请教 HB_VIN_RegisterDisCallback 的详细用法说明

已解决
soon2k2023-02-07
25
17

我们现在尝试在J3平台的VIN_SIF节点修改pipeline中的图像数据,看到官方文档里看到有个API HB_VIN_RegisterDisCallback可以注册callback。

请教几个问题:

1. 这个callback是在哪个VIN节点执行的?

2. 如果callback里修改了图像数据,是直接修改了pipeline中的数据吗?还是只是一个副本?

3. 注册callback的时候是否需要通过 HB_SYS_SetVINVPSMode 设置相关节点为offline模式?

另外有没有更好的方式实现上面的需求?

底层软件
征程3技术深度解析
评论3
0/1000
  • wangfenfen
    Lv.1

    您好,

    J3平台的VIN_SIF节点修改pipeline中的图像数据?可以说下具体的需求。HB_VIN_RegisterDisCallback这个接口不建议使用。

    2023-02-07
    0
    13
    • soon2k回复wangfenfen:

      我们有一个raw域的图像增强算法,尝试集成到J3平台的VIO pipeline中。我们的理解是SIF节点是比较合适的时机。

      2023-02-07
      0
    • wangfenfen回复soon2k:

      那可以从SIF获取raw图,然后经过你的算法处理,处理之后给到ISP。

      SIF的接口有HB_VIN_GetDevFrame、HB_VIN_ReleaseDevFrame.

      2023-02-07
      0
    • soon2k回复wangfenfen:

      那这个处理怎么加到pipeline里呢?有消息驱动,回调之类的时机吗?

      2023-02-07
      0
    • wangfenfen回复soon2k:

      直接用这个接口获取buff raw数据,然后调用你的算法处理。没有回调和消息驱动。

      2023-02-07
      0
    • soon2k回复wangfenfen:

      好的,谢谢

      2023-02-07
      0
    • wangfenfen回复soon2k:

      这个算法完全由CPU实现,确实要考虑算力。

      2023-02-07
      0
    • wangfenfen回复soon2k:

      您好,有两种方法:

      1. 用HB_VIN_GetDevFrame获取sif的raw数据,从buff中获取raw数据,经过算法处理,然后在用HB_VIN_SendPipeRaw接口回灌给ISP处理。

      2. 第二种方法就是需要改VIO库源码,sif的数据给到ISP之前先用你们的算法处理,处理之后再给到ISP。不知道您是否有VIO库源码,有的话可以联系我,指导你们怎么改。

      2023-02-07
      0
    • soon2k回复wangfenfen:

      VIO库源码要怎么申请吗?我们拿到的官方的J3 EVB的SDK里面没有源码

      2023-02-08
      0
    • soon2k回复soon2k:
      另外问下,HB_VIN_ 打头 和 hb_vio_ 打头的API的关系是什么?我看到有HB_VIN_SendPipeRaw 也有 hb_vio_raw_feedback
      2023-02-08
      0
    • wangfenfen回复soon2k:

      这是两套API,一套叫HAPI,一套叫VAPI。从你的问题看你用的是HAPI。

      2023-02-09
      0
    • wangfenfen回复soon2k:

      您好,

      我刚问了下,说是源码不释放,那就用第一种方式吧,先获取raw,经过你们算法处理,然后再回灌给ISP。

      HB_VIN_GetDevFrame获取raw数据,经过你们算法处理,buff用完之后HB_VIN_ReleaseDevFrame.释放,申请一个buff,处理之后的数据写到新申请的buff里,HB_VIN_SendPipeRaw给ISP。 可以参考demo,这几个接口的用法。

      2023-02-09
      0
    • soon2k回复wangfenfen:

      这两套API都可以用?还是要根据不同的平台(X3 AIOT / J3 AUTO)选用相应的API。我们这里J3和X3都有在用,您建议用哪一套API?

      2023-02-09
      0
    • wangfenfen回复soon2k:

      一般AIOT使用HAPI,AUTO使用VAPI,主要看您的使用场景。

      2023-02-09
      0
  • lanzhe
    Lv.1

    1. 需要注意以下几个点

    a. 如果是pwl 模式,需要先解压,处理后再压缩,否则改变图像成非线性,isp 处理会有问题

    b. 如果cpu 处理需要考虑cpu 实际的算力,可能会影响帧率

    2023-02-07
    0
    1
    • soon2k回复lanzhe:

      谢谢您的建议,我们没用到pwl模式,这次集成也是要评估一下性能问题。

      2023-02-07
      0
  • wangfenfen
    Lv.1

    您好,

    这个是VIN中DWE中的DIS模块功能实现的防抖功能,该功能防抖效果不好。不建议使用。online/offline都可以使用。

    2023-02-07
    0
    0