我想使用368做1080p 30的编码,输入是YUV422 16位内嵌同步,使用的软件开发包是IPNC_RDK5.0.0,用./moduletest.out drv_isif已经显示图片没问题了。
接下来做编码的部分,请问需要注意到哪些问题呢?
同时,我有以下三个问题,望给予解答:
1、我在UI_setconfig 里面看到以下设置,请问isif和DDR两种模式在数据流向上有什么区别呢?
2、我在编码时发现打印信息上没有resize的部分,我了解的resize可以把422格式的数据转换为420的格式,而368只能处理420格式,请问我需不需要把resize的部分添加上?
3、我在TI的论坛里面看到,368的主频要486Mhz才能支持1080p 30的编码?
Chris Meng:
你好,
默认的YUV输入,应该走的是ISIF-》DDR-》IPIPE(resizer)-》DDR这样的数据通路,但是这样在DDR多了一次读和一次写,对编码性能是有很大影响的。
建议你修改现有YUV输入的代码为:ISIF-》IPIPE(resizer)-》DDR,RAW数据输入就是走的这个通路。
是否能支持1080p30,取决于你系统的DDR访问loading。IPNC RDK 5.1可以在486Mhz的DM368上实现1080p30+D1@30 h264enc。
malik:
回复 Chris Meng:
Chris Meng,
我想问一下,我1080p运行的命令是./av_server.out DM368 1080P H264 4000000 VBR AUTO MUNUOFF &
最后的打印信息如下:
这是否正确,因为对比标清的话,这个多了一个IPIPE,少个resize的信息?
Chris Meng:
回复 malik:
你好,
resizer是ipipe的一部分。
malik:
回复 Chris Meng:
Chris Meng,
你好!
但1080p的程序默认没有进入resize的线程,这是我添加打印信息发现的,只有修改
才会进入,是否有必要修改这个呢?
Chris Meng:
回复 malik:
你好,
下面三种数据通路都是可以的,但最后一种对DDR的访问最少,建议使用。
YUV ->ISIF->DDR->Resizer-》DDR
YUV/RAW ->ISIF->DDR->IPIPE (Resizer)-》DDR
YUV/RAW ->ISIF->IPIPE (Resizer)-》DDR
malik:
回复 Chris Meng:
Chris Meng,
您好!
我想问一下,我仅仅实现1080p编码的功能,程序是可以直接用吗?
我用的是IPNC_RDK5的,另外我出来的视频显示很暗,延迟相当高。但我仅仅实现1080p啊,没有加上D1
malik:
回复 Chris Meng:
Chris Meng,
您好!
我想问一下dm368的帧率设置和输入数据的帧率有什么关系,哪些地方会导致帧率增加呢?
Chris Meng:
回复 malik:
你好,
抱歉,我没有关注过统计数据的代码,我建议你看看相关代码。
实际的采集帧率应该是根据VD中断来的。