大家好,
利用mpSclr link做缩放,输入3840*2160视频,能否输出3840*1080分辨率?
谢谢!
Chris Meng:
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 lines2) down-sampling: color artifact in last line
OYE:
回复 Chris Meng:
你好,
已私信给你了。
谢谢拉!
OYE:
回复 Chris Meng:
你好,
我通过代理商拿到了相关的demo,参考这个修改后可以将3840*2160缩放成3840*1080,但是输出的时候只能输出1帧数据,画面就死掉了,程序里也没报什么错出来。
Chris Meng:
回复 OYE:
OYE,
我不清楚你拿到的软件是否是我说的这个。
目前的问题,只能加打印,看看具体是挂在了什么地方。也不一定是mpscalr link,也可能是其他的link。
OYE:
回复 Chris Meng:
你好,
我拿到的软件里有个说明文档,文档名称为:图像缩放拼接使用文档说明__修订版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; }
OYE:
回复 Chris Meng:
你好,
找了好几天也没查到问题是在哪,能给个思路吗?这怎么会影响到A8处获取缓冲队列了。
Chris Meng:
回复 Chris Meng:
Chris Meng但是该软件测试的分辨率有限,目前还有如下两个bug,,而且这个代码现在也没有人维护。如果你可以接受该代码没有支持,并且贵公司和TI签署过相关保密协议,我可以提供相关代码供你参考。请私信我你的公司名称和公司邮箱。
该代码的状态不变。
有客户使用过该代码,但是不是放大缩小都用的,修改issue都是客户自己改的。
old wang:
回复 Chris Meng:
谢谢回复!
我们现在的需求是700万(3392*2008)缩到500万(2422*1434),请问这个分辨率支不支持?
Chris Meng:
回复 old wang:
Old,
抱歉测试的分辨率有限,下面是测试过的缩小情况下输出大于1080p的输入输出分辨率,供参考:
测试示例 示例一 示例二输入分辨率 3648 x 2736 2560 x 1920输出分辨率 2560 x 1920 2048×1536
old wang:
回复 Chris Meng:
Hi Chris
请问你们缩小的情况测试过的分辨率有哪些
我们测试发现小于720P的都做不了,卡死了.
TI中文支持网

