DM36x Capture引擎能否实现对输入图像(component输入或来自SDRAM的YUV422/420数据)的指定范围(由下图X,Y,sub-width和sub-height等参数限定的部分)进行Resizing操作?
期望结果是灰色部分被忽略,草绿色部分(sub-window)经resizer A和B,输出YUV420格式的数据用于H.264编码。
Jing Lee:
看了代码中的参数表,应该是Single Mode才有可能做到。哪里去找SS mode的例子来参考?
Jing Lee:
回复 Feng Dong:
谢谢解答。
请问“resizer需要连续物理空间”, 这是绝对的还是某一层软件的限制?是DMAI还是PSP?
如果通过PSP的VPFE driver直接对Resizer或者IPIPE的寄存器Vertical Start Position (SRC_VPS), Vertical Processing Size (SRC_VSZ), Horizontal Start Position (SRC_HPS)和Horizontal Processing Size (SRC_HSZ)进行设置, 能否实现对不连续空间的resizing呢?
maliu Zhou:
回复 Feng Dong:
在psp目录下,有SS mode的例子
我问一个问题 如何获得resize b输出的数据
Jing Lee:
回复 maliu Zhou:
谢谢Feng。
比较失望,既然硬件不支持,只好用ARM另外处理了。
maliu Zhou:
回复 Jing Lee:
我感觉是可以的
你仔细看看 v4l2的文档
Jing Lee:
回复 maliu Zhou:
以PSP的Do_resize为例,调用ioctl(resizer_fd, RSZ_RESIZE, &convert), RSZB的输出首地址是convert.out_buff2..offset。
如果是EVM的Demos如Encdoe,需要先enable RSZB并设置相关参数, 重新编译DMAI;那么在CapBuf中,RSZB的输出紧跟在RSZA输出之后,偏移Width*Height*BPP处开始。
maliu Zhou:
回复 Jing Lee:
谢谢 Jing Lee 的回答
以PSP的Do_resize为例,调用ioctl(resizer_fd, RSZ_RESIZE, &convert)中,是不是rsz A 和rsz B 全都使用了?
Jing Lee:
回复 maliu Zhou:
参考以下代码:
if (second_output) {
rsz_ss_config.output2.enable = 1;
rsz_ss_config.output2.width = 640;
rsz_ss_config.output2.height = 480;
rsz_ss_config.output2.pix_fmt = IPIPE_YUV420SP;
。。。
ioctl(resizer_fd, RSZ_S_CONFIG, &rsz_chan_config)