嵌入式开发者社区

标题: DM8148图像图像案例咨询 [打印本页]

作者: 梁淑怡-Tronlong    时间: 2019-12-11 10:31
标题: DM8148图像图像案例咨询
我们要更改的dvr_rdk\mcfw\src_bios6\links_m3vpss内的相关代码主要是想修改:
typedef struct
{
    UInt32              bufType; /**< see System_BufType */
    UInt32              codingformat; /**< Video coding format - IVIDEO_H264BP, IVIDEO_H264MP,...*/
    UInt32              dataFormat; /**< see System_VideoDataFormat */
    UInt32              memType; /**< see System_MemoryType - Tiled / non-tiled */
    UInt32              startX; /**< Start x position */
    UInt32              startY; /**< Start x position */
    UInt32              width; /**< channel resolution - width */
    UInt32              height; /**< channel resolution - height */
    UInt32              pitch[SYSTEM_MAX_PLANES]; /**< Pitch for various formats / planes  */
    UInt32              scanFormat; /**< see System_VideoScanFormat */
    UInt32              bufferFmt; /* see FVID2_BufferFormat */
} System_LinkChInfo;

数据结构内部的几个成员
startX;
startY;
width;
height;

我们的目的是对采集到的1080p图像提取几个小图像块(如:320x240),再做压缩;
但是基于目前的几个link感觉做不到吧?

所以想以dup或merge为基础进行修改,然后用System_linkControl来控制startX; startY; width; height;的值(如:startX=256,startY=128,width=320,height=240)

cap-----dup(修改)---vpssout----videoin----enc----bitouttoA8----
1080---320x240x2-----------------------------------------------

请问enclink是否支持startX; startY; width; height做局部图像压缩吗?,如果不支持,就还要在duplink进一步修改malloc几个320x240的buf,然后dma copy生成几个320x240的图像?

请问,能有更好的方法实现这一功能吗?


作者: 梁淑怡-Tronlong    时间: 2019-12-11 10:36
思路:
  1.EncLink 有编码 ROI 可以设置,可查看DVR RDK API 文档,在安装目录下的 “docs/UserGuides ”中“DVR_RDK_ApiGuide.CHM”;ROI能让局部区域编码图像更清晰一些。
  2.从文档里面找到enclink 模块,看 EncLink_ChROIParams 的说明;

作者: 梁淑怡-Tronlong    时间: 2019-12-11 10:36
问题:
    我们需要的对caplink的1080p图像,进行裁剪,在指定的startX;startY; 开始的地方单独截取一小块图像320x240,然后对这一小块图像编码。

作者: 梁淑怡-Tronlong    时间: 2019-12-11 10:37
思路:
1.参考我司DSP增加自定义算法link的例程;
[attach]6004[/attach]
2.基于参考的DSP增加自定义算法link的例程去再增加一个link,这个link内部可以使用EDMA去搬移内存实现图像裁剪。
   3.如需全部显示1080P,不能使用caplink 的 crop 功能,在 caplink 就 crop 裁剪掉,不然无法输出显示1080P
作者: 梁淑怡-Tronlong    时间: 2019-12-11 10:38
问题:
   如果采用添加DSP link的方法,可能会引入较多的延时,
请问,vpss m3 增加一个link ,放在在cap link之后呢?在vpss  m3使用EDMA去搬移内存实现图像裁剪

能否提供类似的例程呢?

作者: 梁淑怡-Tronlong    时间: 2019-12-11 10:39
您好,
   目前没有修改 M3 固件的案例,建议您参考我司DSP增加自定义算法link的例程;




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4