1.基于dm8148,通过tvp5147来采集模拟视频输入 ,经过tvp5147输出pal制,8bit yuv422 嵌入时序输入到VIP0口,通过v4l2接口采集后,最终存到内存中的数据格式是什么,也是yuv422么,pal制是分奇偶场的,最终buffer里如何存放奇偶场数据的?
2.采集到的数据为yuv422I_yuyv,可是H264编码只支持yuv420sp,想通过硬件做转换,如何做呢?v4l2接口支持么?
3.DEI(De-interlaced)module是指将奇偶场数据合并一个field么?
roderick fang:
奇偶场的数据合并好像不是在DEI里面做的吧?
我们现在用V4L2采集1080i,驱动出来就是合并后的数据。
user2000895:
2.通过直接硬件转换 估计比较麻烦啊 看找找 有没有相关的软件算法
DEI(De-interlaced)module 好像不是这么理解的 ,你仔细看一下手册看看
这里有人 问过 相关的问题 你可以看一下 How to use De-interlacer module in DM814X
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/285929.aspx
roderick fang:
回复 user2000895:
因其他原因,我们没有HDVPSS部分详细的资料,只有TRM和DATASHEET。所以在DEI部分可能理解有误。
我们用的是EZSDK05 05 02 00, GSTREAMER+V4L2
从实际采集的1080I信号看,V4L2拿到的数据就已经是奇偶场合并后的数据。我们没有M3 firmware的源码和HDVPSS的详细资料,不知道这个合并是如何实现的?
在采集1080I视频时,如果视频中物体的移动速度很快,可以看到一条条的横线,可能就是这个奇偶场合并造成的。我们也很想用这个DEI,可是TI提供的omx_mdeiscaler用在视频采集的pipeline上是有问题的,下面的这个pipeline不能运行。而且DEI 有四种模式,但在这个模块的属性中都没有相关的描述和设置。
gst-launch v4l2src …. ! omx_mdeiscaler name d d.src_01 ! … ! encoder ! filesink … d.src_00 ! …. ! omx_videosink
请TI的FAE帮忙解答。
escofield Zhu:
回复 roderick fang:
v4l2采集后是合并的数据,这个我证实了,貌似是硬件做的,驱动中有filemerge[0]设置,为1则合并,为0则不合并,反正驱动里没有看到任何有关合并的代码,我想应该是硬件来做的。
escofield Zhu:
回复 user2000895:
有相关的软件转换算法,这容易影响网络传输,很耗时间的,不过我解决了,直接通过VIP口有scaler,可以直接down-sampling,将422转为420,只要在驱动中capt.fmt.fmt.pixformat=V4L2_YUV_NV12就行了,采集到的就是420,输入的是嵌入时序的8位422.
要想将420转换为422来播放,也有硬件可以做到,比如NF,还有CHU_S SCALER5 吧,名字记不太清了,驱动貌似不支持使用这些硬件,不过omx的demo程序有使用这些硬件的,可以看看
roderick fang:
回复 escofield Zhu:
请问你们有做过1080i的视频采集吗?效果如何?我们用gstreamer+v4l2采集,在图像中有很多横线,在画面目标快速移动时很明显。
谢谢
escofield Zhu:
回复 roderick fang:
还没开始高清视频,目前正在做模拟视频,下一步才上高清