|
瑞芯微RV1126开发板使用VI帧率不足问题
发表于 2023-9-14 15:19:51
浏览:2813
|
回复:2
打印
只看该作者
[复制链接]
楼主
本帖最后由 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时,会报丢帧打印 [19890.005702] 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|
|
|