Thanks Zheng!!! After changing hrsz and vrsz values, the resizer works
perfectly. You have been a great help. Thanks once again.
Regards,
Pradeep Sriram
On 1/17/07, #ZHENG LEI# <[EMAIL PROTECTED]> wrote:
Hi:
In my experiment, it seems that the resizer will hang only if the input
size is too small, while bigger is okay. So, to be safe, you can keep your
input size and output size as it is, and try some smaller RSZ. If you follow
the formula in sprue38a, then
hrsz = ((iw-4)<<8 – 16 – 32*sph) / (ow-1) = ((240-4)*256 –
16)/239 = 252
vrsz = ((ih-4)<<8 – 16 – 32*spv) / (oh–1) = ((320-4)*256 –
16)/319 = 253
If you use these rsz to get back the required input width and height, the
result is a smaller 239x319, which is due to the truncation of the fraction
number. Sprue38A is not clear about whether we should use truncation or
rounding. If use rounding, then hrsz=253 and vrsz=254, the required input
size will be back to 240x320. It happens so that if you keep the input size
as 240x320, the resizer will work in both cases.
The other thing, although not related to the hanging issue, your filter
coefficients seem to be wrong, since the resizer only performs dot product
without any averaging operation, your should set 0.25 for each
coefficient, i.e. set 0x00400040 for each register. And because the RSZ is
not exactly 256, you might want to set the other filter also. Just set all
to 0x00400040.
Regards
Zheng Lei
-----Original Message-----
*From:* [EMAIL PROTECTED] [mailto:
[EMAIL PROTECTED] *On Behalf Of *Pradeep
Sriram
*Sent:* Tuesday, January 16, 2007 11:18 PM
*To:* [email protected]
*Subject:* Re: Resizer stuck indefinitely
Hi Carlos ,
I modified the registers as per your comments.
regw (0x00F30146, IN_SIZE);
Even with these new values, the resizer is hung. Am I missing some
configuration?
Regards,
Pradeep Sriram
On 1/12/07, *Pradeep Sriram* <[EMAIL PROTECTED]> wrote:
Hi all,
I have written a simple char driver for the resizer. The resizer seems to
be stuck indefinitely (ie) the busy flag is stuck at 1. Given below is my
register configuration for simple video pass through. I am not sure what is
wrong. Please help.
regw (0x30040100, RSZ_CNT );// Bilinear, sdram, interleaved, YC,
RSZ=1X, 1X(pass through)
regw (0x00F00140, IN_SIZE);//240x320
regw (0x00F00140, OUT_SIZE);//240x320
regw (0x00000280, SDR_INOFF);//640
regw (0x00000280, SDR_OUTOFF);//640
// Set 1st phase filters to 1 for pass through
regw (0x01000100, HFILT10 );
regw (0x01000100, HFILT32 );
regw (0x01000100, VFILT10 );
regw (0x01000100, VFILT32);
Memory_getPhysicalAddress used to get SDRAM physical addresses. Input
buffer is got by Memory_contigAlloc and output buffer is frame buffer.
Thanks & Regards,
Pradeep Sriram
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source