firefly133 发表于 2023-9-14 15:19:51

瑞芯微RV1126开发板使用VI帧率不足问题

本帖最后由 firefly133 于 2023-9-14 15:30 编辑

ISP设置如下:   
    string strIqFileDir = RK_IQ_FILE_PATH;
    if (strIqFileDir.empty())
    {
      LOG(INFO) << "strIqFileDir.empty is true.";
      return -1;
    }
    RK_BOOL bMultictx = RK_FALSE;
    rk_aiq_working_mode_t hdr_mode = RK_AIQ_WORKING_MODE_NORMAL;
    SAMPLE_COMM_ISP_Init(iCamIdx, hdr_mode, bMultictx, strIqFileDir.c_str());
    SAMPLE_COMM_ISP_Run(iCamIdx);
    SAMPLE_COMM_ISP_SetFrameRate(iCamIdx, 25);   // 设置帧率.


VI设置如下:
    VI_CHN_ATTR_S vi_chn_attr;
    vi_chn_attr.pcVideoNode = strVideoNode.c_str();
    vi_chn_attr.u32BufCnt= 8;
    vi_chn_attr.u32Width   = iSrcW;
    vi_chn_attr.u32Height= iSrcH;
    vi_chn_attr.enPixFmt   = (IMAGE_TYPE_E)eSrcPixFmt;
    vi_chn_attr.enWorkMode = VI_WORK_MODE_NORMAL;
    vi_chn_attr.enBufType = ("rkispp_m_bypass" == strVideoNode) ? VI_CHN_BUF_TYPE_MMAP : VI_CHN_BUF_TYPE_DMA;
    ret= RK_MPI_VI_SetChnAttr(iCamIdx, iViChn, &vi_chn_attr);
    ret |= RK_MPI_VI_EnableChn(iCamIdx, iViChn);

问题现象:
    1. 开启一个VI时,使用线程不断RK_MPI_SYS_GetMediaBuffer获取,测试得fps=22,没有达到设置的25fps。
    2. 开启两个VI时,同1方式测试,得到帧率为fps=8~9,与设置的25fps差很大。
    3. 开启两个VI时,会报丢帧打印 rkisp1: tx stream:4 lose frame:5665, isp state:0x204 frame:5663
查询了SDK的dome和API暂时没有什么思路,求助各路大神指点。感谢!!

cat /proc/mpp_service/rkvenc/session_info
------------------------------------------------------------------------------------------------------------
| session|device|   width|height|format|fps_in| fps_out| rc_mode| bitrate|gop_size|fps_calc| profile|
|92f25afb|RKVENC|    1280|   720|    h264|      25|      25|   vbr| 1658880|   100|   10.48|    main|






firefly133 发表于 2023-9-22 14:43:28

换了一块新的板子、新的驱动后,ISP的帧率上来了,所以还是怀疑是驱动中某个地方限制了镜头的出帧率导致的问题。
页: [1]
查看完整版本: 瑞芯微RV1126开发板使用VI帧率不足问题