TI中文支持网
TI专业的中文技术问题搜集分享网站

请问DM6437 vpfe resizer中长宽各缩小四倍的正确配置方法

紧急!

我配置成功了VPFE的功能,输出是720*576的YUV图像。请问现在配置resizer将CCDC输出的图像缩小到180*144的YUV该怎样配置?或者说哪里有相关参考例程,下边是我的配置,但一直没效果,输出的都是0x80008000,希望能够指正。

采用RESIZE读SDRAM方式:

VPFE_RESZ_PID = 0x00
|(0x10<<16)
|(0xFE<<8);
VPFE_RESZ_RSZ_CNT = 0x00
|(0<<29) //Chrominance horizontal algorithm 0:Same as luminance processing 1:Bilinear interpolation
|(1<<28) //INPSRC input source 0:Preview engine,1:SDRAM
|(0<<27) //YUV422 0:YUV422 color interleaved, 1:Color separate (8-bit data)
|(1<<26) //YCPOS 0:YC, 1:CY UYVY
|(1018<<10)//vertical resizing value
|(1019); //horizontal resizing value
VPFE_RESZ_OUT_SIZE = 0x0
|(144 << 16) |(180 << 0); VPFE_RESZ_IN_START = 0x0
|(0 << 16) |(0 << 0); VPFE_RESZ_IN_SIZE = 0x0
|(576 << 16) // ih=576
|(720 << 0); // iw=720
VPFE_RESZ_SDR_INADD = 0x81000000; // ccdc should be 0
VPFE_RESZ_SDR_INOFF = 0; // ccdc should be 0
VPFE_RESZ_SDR_OUTADD = 0x83000000;
VPFE_RESZ_SDR_OUTOFF = 0;

VPFE_RESZ_PCR = 0x00
|(1<<0); //enable resizer module

采用RESIZE直接读CCDC方式:

VPFE_RESZ_PID = 0x0010fe00;
VPFE_RESZ_RSZ_CNT = 0x00
|(0<<29) //Chrominance horizontal algorithm 0:Same as luminance processing 1:Bilinear interpolation
|(0<<28) //INPSRC input source 0:Preview engine,1:SDRAM
|(0<<27) //YUV422 0:YUV422 color interleaved, 1:Color separate (8-bit data)
|(1<<26) //YCPOS 0:YC, 1:CY UYVY
|(0<<23)//Vertical starting phase (0-7)
|(0<<20) //Horizontal starting phase (0-7)
|(1018<<10)//vertical resizing value
|(1019); //horizontal resizing value
VPFE_RESZ_OUT_SIZE = 0x0
|(144 << 16) // output height
|(180 << 0);
VPFE_RESZ_IN_START = 0x00000000;
VPFE_RESZ_IN_SIZE = 0x0
|(576 << 16) // ih=576
|(720 << 0); // iw=720
VPFE_RESZ_SDR_INADD = 0x00000000;
VPFE_RESZ_SDR_INOFF = 0x00000000;
VPFE_RESZ_SDR_OUTADD = 0x83000000;
VPFE_RESZ_SDR_OUTOFF = 360;

VPFE_RESZ_PCR = 0x00
|(1<<0); //enable resizer module

Chris Meng:

你好,

请问你有参考过下面的应用文档么?

www.ti.com/…/spraai7b.pdf

johnny su:

回复 Chris Meng:

你好,

我看了这个文档,对于HRSZ,VRSZ就是按照此文档的公式求出来的,另外文档中的一些example是针对Linux平台库函数开发的,和直接配置寄存器并不对应,所以一直没有解决我的问题。

希望帮我看看代码配置有哪些问题。

Chris Meng:

回复 johnny su:

你好,

请问你输入输出图像的偏移是否是32-byte对齐的?

e2e.ti.com/…/528922

The important point note down here is that you have to consider pitch alignment for both input and output image. It means, while viewing image you must consider 32 byte alignment of pitch configuration.

Chris Meng:

回复 Chris Meng:

例如720×576的图像是放在一个736×576的buffer里面,每行偏移736。

johnny su:

回复 Chris Meng:

工程使用的是小端模式,看到图像经过CCDC输出到内存显示的是
地址数据
0x8000000011801280(从低到高依次是UYUV)
0x8000000411801180
这种是32位对齐吗?

johnny su:

回复 Chris Meng:

但我如果resizer直接使用ccdc输出的值,就不用设置VPFE_RESZ_SDR_INOFF=736了吧,输出的偏移是否也要是32的倍数?

Chris Meng:

回复 johnny su:

你好,

请问你使用的软件是psp里的resizer驱动么?

e2e.ti.com/…/367838

关于pitch的32 byte对齐,请参考信息:例如720×576的图像是放在一个736×576的buffer里面,每行偏移736。

johnny su:

回复 Chris Meng:

没有用psp,这需要在哪儿下载?我是直接配置寄存器,直接配置寄存器不能生效吗?

johnny su:

回复 Chris Meng:

请问你们有DM6437的resizer寄存器配置成功的例程吗?缩放多少都可以,感谢抽空回答!

赞(0)
未经允许不得转载:TI中文支持网 » 请问DM6437 vpfe resizer中长宽各缩小四倍的正确配置方法
分享到: 更多 (0)