[MPlayer-users] rescaling NTSC video streams

Florin Andrei florin at andrei.myip.org
Sun Mar 2 22:46:45 CET 2003


(using mplayer-0.90rc4)

This is how my DV files (NTSC format) are detected:

VIDEO:  [dvsd]  720x480  24bpp  29.97 fps  28771.8 kbps (3512.2 kbyte/s)

I'm playing them with mplayer, using -aspect 4:3.
mplayer performs the rescale by bumping up the vertical size from 480 to
540:

#######################
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 1 -> 1
SwScaler: reducing / aligning filtersize 9 -> 8

SwScaler: BICUBIC scaler, from Packed YUY2 to Planar YV12 using MMX2
VO: [xv] 720x480 => 720x540 Planar YV12
Selected video codec: [qdv] vfm:dshow (Sony Digital Video (DV))
#######################

I feel that it is somewhat unnatural to rescale NTSC streams this way. I
believe NTSC DV should be rescaled to 640x480. Here's why:

1. NTSC DV has a frame size of 720x480 with non-square pixels which
coresponds to a real image of 640x480; that is, the _information_
contained in the 720x frame is really only 640x.
When played by any player (hardware or software) that is aware of the
NTSC DV format, the standard rescaling should be (and it actually is in
all cases i've seen with the exception of mplayer) down to 640x480. This
is how non-square-pixel NTSC streams are displayed, even on high-end
digital video gear, because the NTSC square-pixel frame is 640x480.

2. When bumping up the vertical size, if the original stream is
interlaced (usually it is, and mine surely is) and if you _must_
preserve the interlaced format (such as when using an interlaced NTSC
display [480 lines], or for weird technicalities like debugging the
camera - i won't go there, it's kinda offtopic), then you _must_ leave
the vertical size (the scanlines) untouched. Otherwise interlacing gets
all wrong and you can't figure out the details you were looking for.

Also, i feel that reducing the horizontal must be overall simpler for
the software than increasing the vertical, at least from a performance
perspective (and every bit of performance _does_ matter when playing DV,
because this format is a son of a b**** CPU-wise), but perhaps i'm
wrong.

This is why i suggest to modify the -rescale parameter so that
non-square-pixel 480i NTSC streams (720x480 interlaced in "normal
speak") are rescaled down to 640x480.
I believe this should apply to all non-square-pixel NTSC formats, not
just DV, but for now i'm speaking only about DV.

I am not sure about PAL. If i'm not all wrong, rescaling there should be
from 720x576 to 768x576, again having the advantage of preserving the
scanlines untouched.
But frankly, i'm not using PAL, so i don't quite care about it.

If one of the mplayer developers is interested in doing the change and
testing it with actual NTSC DV material, i can provide a sample by
request on FTP. Just let me know what's the maximum acceptable size of
the file.

Regards,

-- 
Florin Andrei

http://florin.myip.org/



More information about the MPlayer-users mailing list