On 6 Nov 2004, scott wrote:

> I doing this little mod to y4mshift to try and correct some vertical
> shaking in recording from a VCR and I have got to the point where I now

        You may want to look at 'y4mstabilizer' (in the CVS version of
        mjpegtools) - perhaps it will do some of what you want.

> I think I understand that 4:2:0 has (for each square of 4 pixels) 4 Y
> values, 1 U, and 1 V value.  But what happens in the uchar **yuv arrays
> for interlaced material.  I presume that the first row of U/V values

        4:2:0 is, as you noticed, subsampled in BOTH the horizontal _and_
        vertical dimensions.

> Is that correct and if so are there any algorithms in the library to
> handle shifting by numbers that are not a factor of 4?

        Not if you're doing the processing in 4:2:0 - two fields x the vertical
        subsampling factor of 2 = 4.

        What you can do is supersample the data up to 4:2:2 or even 4:4:4,
        perform whatever manipulations you want, and then subsample back to
        4:2:0

        y4mscaler can do that for you with the option "-O chromass=422" or 
        "-O chromass=444".  Then to convert back to 420 before going into
        the encoder you'd use "-O chromass=420_mpeg2"

        The other thing which may make life simpler is to deinterlace the
        material with 'yuvdeinterlace'.  Deinterlaced supersampled (to 4:4:4)
        data may be the simplest/easiest form to work with for stabilization
        purposes.

        Cheers,
        Steven Schultz



-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
Mjpeg-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/mjpeg-users

Reply via email to