专栏底层软件请问hbplayer的channel_id在tuning_tool代码里面怎么对应?

请问hbplayer的channel_id在tuning_tool代码里面怎么对应?

已解决
五岁月下练剑2023-01-17
68
15

您好,

请问hbplayer的channel_id在tuning_tool代码里面怎么对应?

从ipu2 get data了,然后做了感知并将感知结果写到原始ds2 get data的地址,通过send_yuv接口发送图像和感知结果的数据buf,可以从hbplayer的channel_id=2上看到图像和感知结果。

同时,也从ds0 get data,直接通过send_yuv接口发送图像数据(不做感知处理),此时如果从hbplayer的channel_id=0拿数据,拿到的图像也有感知结果,按说如果从ds0拿的数据,应该只有图像,没有感知信息的。

感觉像是ds0 get data的地址和ds2 get data的地址是同一个地址。

那么请问这个hbplayer的channel_id怎么和tuning_tool里面发送的buf对应起来?

底层软件
征程3
评论4
0/1000
  • 费小财
    Lv.5

    另外你说的ds0跟ds2数据一样,看上去不太可能,是不是配置不对,或者有打印过buf地址吗

    2023-01-17
    0
    6
    • 五岁月下练剑回复费小财:

      ds2和ds0地址是不一样的,每次get后free

      2023-01-17
      0
    • 费小财回复五岁月下练剑:

      从ipu2 get data了,然后做了感知并将感知结果写到原始ds2 get data的地址---》这个操作是怎么样得,有对应得操作代码吗

      2023-01-17
      0
    • 费小财回复五岁月下练剑:

      另外你显示上hbplay选择得是0还是2 这个没有选择混把,看着确实不怎么合理得

      2023-01-17
      0
    • 五岁月下练剑回复费小财:

      主要的流程就是创建了两个线程,以从IPU DS2拿数据为例

      get_yuv_buf(&info);

      get_ipu_ds2_buf_func(pipe_num, HB_VIO_IPU_DS2_DATA, &buf);

      内部调用->hb_vio_get_data(pipe_id, data_type, buf);

      size = buf.img_addr.stride_size * buf.img_addr.height;

      info.header_info.width = buf.img_addr.width;

      info.header_info.height = buf.img_addr.height;

      info.header_info.stride = buf.img_addr.stride_size;

      info.header_info.length = size + size/2;

      /*感知处理*/

      send_yuvdata(&info.header_info, buf.img_addr.addr[0], size,buf.img_addr.addr[1], size/2);

      hb_vio_free_ipubuf(pipe_num, &buf);

      free_yuv_buf(&info);

      2023-01-17
      0
    • 费小财回复五岁月下练剑:

      ds0的呢?

      2023-01-17
      0
    • 费小财回复五岁月下练剑:

      另外通路初始化的时候ds0 ds2是怎么配置通路的?

      2023-01-17
      0
  • 费小财
    Lv.5

    您好

    channel id 表示ipu 第几个通道,tuning tool里面只操作ISP的通路的,buf对应的应该是通过接口配置的

    2023-01-17
    0
    4
    • 五岁月下练剑回复费小财:

      麻烦问下,hbplayer接收yuv数据,那么在tuning_tool代码中,是哪里指定的发送的ipu ds通道号?我看实际发送的函数是send_yuvdata(&info.header_info, info.buf.img_addr.addr[0], size, info.buf.img_addr.addr[1], size/2);但是实际上好像这些参数都没有包括ds通道号的信息呀

      2023-01-18
      0
    • 费小财回复五岁月下练剑:

      info.header 里面有写的

      2023-01-18
      0
    • 五岁月下练剑回复费小财:

      在这个cmd head里面好像没有看到呢

      2023-01-18
      0
    • 五岁月下练剑回复费小财:

      我们看了下,应该是上位机发送channel id告诉J3 ,J3按照要求发对应的buf给上位机就好了,不用再告诉上位机我发的是channel几。

      感谢!

      2023-02-01
      0
  • 新手村
    Lv.4

    ipu实现上ds0~ds4都是独立分配buffer的,不会有共用地址的现象;

    通过channel id知道是哪个ds号,每个ds都可以通过json分配多块buffer,一般分配3~6块,DS之间是独立的;

    2023-01-17
    0
    1
    • 新手村回复新手村:

      从你的图的log来看,你的buffer是多块轮转的,完全没问题,ds0和ds2的buffer都是不同地址的,应该没有你说的问题

      2023-01-17
      0
  • 新手村
    Lv.4

    您好:

    hbplayer channel_id代表的是IPU的通道号,分别代表ds0~ds4;

    2023-01-17
    0
    0