This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好,
利用mpSclr link做缩放,输入3840*2160视频,能否输出3840*1080分辨率?
谢谢!
OYE,
我们请实习生基于IPNC RDK3.8对mpSclar做了修改,有如下支持:
放大:
输入分辨率范围: 可以是小于1080P、等于1080P也可以是大于1080P。
输出分辨率范围: 支持大于1080P的输出。
缩小:
输入分辨率范围:支持大于1080P的输入
输出分辨率范围: 支持小于1080P、等于1080P也可以是大于1080P的输出
但是该软件测试的分辨率有限,目前还有如下两个bug,,而且这个代码现在也没有人维护。如果你可以接受该代码没有支持,并且贵公司和TI签署过相关保密协议,我可以提供相关代码供你参考。请私信我你的公司名称和公司邮箱。
There are two known issue for YUV420 output.
1) up-sampling: color artifact in first two lines
2) down-sampling: color artifact in last line
你好,
我通过代理商拿到了相关的demo,参考这个修改后可以将3840*2160缩放成3840*1080,但是输出的时候只能输出1帧数据,画面就死掉了,程序里也没报什么错出来。
OYE,
我不清楚你拿到的软件是否是我说的这个。
目前的问题,只能加打印,看看具体是挂在了什么地方。也不一定是mpscalr link,也可能是其他的link。
你好,
我拿到的软件里有个说明文档,文档名称为:图像缩放拼接使用文档说明__修订版20140530.docx
里面标题为:大分辨率图像缩放使用文档,是在 DM8127 V3.8正式版的基础上修改的,我使用的平台是DM8168,开发包为:DVRRDK_04.00.00.03
我加打印信息调试了,打印如下:
[m3video] 693713: HDVICP-ID:0
[m3vpss ]
[m3vpss ] *** [MP_SCLR0 ] Statistics ***
[m3vpss ]
[m3vpss ] Total Frames Received : 17
[m3vpss ] Total Frames Forwarded : 0
[m3vpss ]
[m3vpss ]
[m3vpss ] CH | In Recv In Reject Processed Latency(DRV) Processed Rejected
[m3vpss ] Num | FPS FPS FPS Min / Max Frames Frames
[m3vpss ] -------------------------------------------------------------------
[m3video] All percentage figures are based off totalElapsedTime
[m3vpss ] 0 | 0 0 0 35 35 1 0
[m3vpss ]
[m3vpss ] *** [SWMS0] Mosaic Statistics ***
[m3vpss ]
[m3vpss ] Elasped Time: 683 secs
[m3vpss ]
[m3vpss ] Output Request FPS : 25 fps (17098 frames)
[m3vpss ] Output Actual FPS : 25 fps (17098 frames)
[m3vpss ] Output Drop FPS : 0 fps (0 frames)
[m3vpss ] Output Reject FPS : 0 fps (0 frames)
[m3vpss ] Scaling Internal : 39 ms
[m3vpss ] Scaling Internal min : 39 ms
[m3vpss ] Scaling Internal max : 53 ms
[m3vpss ]
[m3vpss ] Win | Window Repeat Drop Recv Que FID Invlid Acc Event Invalid Que Reject Reject Latency OutBufCopy InBufCopy
[m3vpss ] Num | FPS FPS FPS FPS FPS FPS Count (Max/Min) CH Frames Frames Frames Min / Max FPS FPS
[m3vpss ] ---------------------------------------------------------------------------------------------------------------------------
[m3video] totalAcquire2wait :0 %
[m3video] totalWait2Isr :91 %
[m3video] totalIsr2Done :0 %
[m3video] totalWait2Done :91 %
[m3video] totalDone2Release :0 %
[m3video] totalAcquire2Release :91 %
[m3video] totalAcq2acqDelay :8 %
[m3video] totalElapsedTime in msec : 661
[m3video] numAccessCnt: 17
[m3vpss ] 0 | 24 25 0 0 0 0 0 ( 0/255) 0 0 0 4552 / 687112 25 0
[m3vpss ]
[m3video] IVA-FPS : 0
[m3vpss ]
[m3vpss ] *** [SWMS0] Mosaic Parameters ***
[m3vpss ]
[m3vpss ] Output FPS: 25
[m3vpss ]
[m3vpss ] Win | Ch | Input | Input | Input | Input | Output | Output | Output | Output | Low Cost | SWMS | Data | Blank |
[m3vpss ] Num | Num | Start X, Y | Width x Height | Pitch Y / C | Memory Type | Start X, Y | Width x Height | Pitch Y / C | Memory Type | ON / OFF | Inst | Format| Frame |
[m3vpss ] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
[m3vpss ] 0 | 0 | 0, 0 | 1920 x 1080 | 3840 / 3840 | NON-TILED | 0, 0 | 1920 x 1080 | 3840 / 0 | NON-TILED | OFF | 0 | 420SP | OFF |
[m3video] Average time spent per frame in microsec: 35382
[m3vpss ]
[m3vpss ]
[m3video] 693714: HDVICP-ID:1
[m3video] All percentage figures are based off totalElapsedTime
[m3video] totalAcquire2wait :0 %
[m3video] totalWait2Isr :0 %
[m3video] totalIsr2Done :0 %
[m3video] totalWait2Done :0 %
[m3video] totalDone2Release :0 %
[m3video] totalAcquire2Release :0 %
[m3video] totalAcq2acqDelay :0 %
[m3video] totalElapsedTime in msec : 0
[m3video] numAccessCnt: 0
[m3video] IVA-FPS : 0
[m3video] Average time spent per frame in microsec: 0
[m3video] 693714: HDVICP-ID:2
[m3video] All percentage figures are based off totalElapsedTime
[m3video] totalAcquire2wait :0 %
[m3video] totalWait2Isr :0 %
[m3video] totalIsr2Done :0 %
[m3video] totalWait2Done :0 %
[m3video] totalDone2Release :0 %
[m3video] totalAcquire2Release :0 %
[m3video] totalAcq2acqDelay :0 %
[m3video] totalElapsedTime in msec : 0
[m3video] numAccessCnt: 0
[m3video] IVA-FPS : 0
[m3video] Average time spent per frame in microsec: 0
我在代码里跟踪的情况是:在A8里将流送给dec的时候,在下面接口这就给返回了,当我把输入分辨率改成1920*1080时就可以正常的获取码流,设成3840*2160时,就只能获取到一帧数据
IpcBitsOutLink_getEmptyVideoBitStreamBufs(SYSTEM_HOST_LINK_ID_IPC_BITS_OUT_0, &emptyBufList, &reqInfo);
if(0 == emptyBufList.numBufs)
{
goto __return_process;
}
Chris Meng 说:但是该软件测试的分辨率有限,目前还有如下两个bug,,而且这个代码现在也没有人维护。如果你可以接受该代码没有支持,并且贵公司和TI签署过相关保密协议,我可以提供相关代码供你参考。请私信我你的公司名称和公司邮箱。
该代码的状态不变。
有客户使用过该代码,但是不是放大缩小都用的,修改issue都是客户自己改的。
Old,
抱歉测试的分辨率有限,下面是测试过的缩小情况下输出大于1080p的输入输出分辨率,供参考:
测试示例
示例一 示例二
输入分辨率 3648 x 2736 2560 x 1920
输出分辨率 2560 x 1920 2048x1536
你好,
修改过的MPsclar缩小方案,没有测试过720P以下输出。
建议你可以修改MP_SCLR_LINK_MAX_VERTICAL_SLICE_SIZE值,再尝试一下。
实在不行,就先缩到720p,然后再用sclar缩到更小分辨率。
Hi Chris
小分辨卡死的问题,定位了一下,发现跟 hsType有关
mpSclrLink_drv.c中
pDrvChPrm->scCfg->hsType = VPS_SC_HST_POLYPHASE;
sclrLink_drv.c中
pChObj->scCfg.hsType = VPS_SC_HST_AUTO;
但是在vpscore_vip.c 函数vcoreVipSetScHalCfg中
scHalCfg->hsType = VPS_SC_HST_AUTO;
写死了,
如果在此处改为VPS_SC_HST_POLYPHASE, mpsclar小分辨率不卡死,
请问这样改对普通的sclar有没有影响?
或者怎么样能让link中的配置真正在底层的sc驱动中起作用?
你好,
对于水平方向的缩放,如果是放大,只会使用polyphase的filter,但如果是缩小,而且是小于1/2,还会使用其他滤波器,先把图像缩小1/2再使用polyphase的filter。
现在的问题是Mpscalar create时指定的是polyphase, 但真正起作用的是AUTO(代码里写死的,没有根据create的),这就是目前小分辨率的缩小卡死的原因,但是不知道怎么把create的 hsType传下来
你好,
你现在是缩小的应用,所以在VpsHal_scSetAdvConfig里面会根据缩小的比例来进行配置,这应该是没有问题的。
是不是mpscalar在把图片分割后往下传的缩放比例,或者是宽度有问题,导致了你代码的挂起?
对这一块不熟悉,目前只是跟踪。
确实,如果
hsType 选VPS_SC_HST_POLYPHASE
VpsHal_scSetAdvConfig中
value &= ~(CSL_VPS_SC_H_CFG_SC0_CFG_DCM_4X_MASK);
value &= ~(CSL_VPS_SC_H_CFG_SC0_CFG_DCM_2X_MASK);
这组配置不会卡死,缩出来的图像也对.
其它配置都会死掉
但是vcoreVipSetScHalCfg中,scHalCfg->hsType已经写死了是AUTO,选择了其它配置,所以死掉了.
我的问题是怎么修改 可以vcoreVipSetScHalCfg中,scHalCfg->hsType 根据传进来的创建参数来,选到VPS_SC_HST_POLYPHASE
你好,
如果只是使用sclink,缩小任何分辨率都不应该有问题,所以,sc本身的驱动应该是没有问题的,我不建议修改sc驱动。
我认为你看到只是问题的表象,实际的问题可能是mpsclar拆分图像后,缩放比例或者是输入输出宽度传给sc驱动的不正确,导致了问题,请再继续跟踪一下。