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

Reply via email to