nV News Forums


nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   Geforce FX 5200, 1080i video, and 800x600 screen (http://www.nvnews.net/vbulletin/showthread.php?t=62947)

jcrews98 01-07-06 12:00 AM

Geforce FX 5200, 1080i video, and 800x600 screen

I have an FX5200 card that is being used with an SVGA display. When using mplayer with the -zoom and/or -fs options, all video plays on XV, correctly scaling to 800x600, letterboxing as necessary. The only problem is, if the video is 1920x1080i formatted, the output will not scale correctly. The aspect is stretched out horizontally, and will extend beyond the right edge of the real screen.

For example, a 4:3 image transmitted in a 16:9 1920x1080 stream will appear as something more like 16:9 stretched beyond the right edge. This looks a little silly.
A 16:9 image in 1920x1080 just stretches past the right edge, making it wider than 16:9, making heads fat, as does the previous scenario. If this is so, the scaling happening could be 1920x1080 -> 900x600.

Note that if I attach a high resolution VGA monitor, running the X server in 720p will result in 1080i scaling correctly. I have not tried other modes, such as XVGA.

Does anyone know why this happens only for 1080i? Is this a driver(bug) problem? Weird hardware limitation? I'm using 6629 and VGA.

Furthermore, does anyone know of a DVI capable card that can (i.e., tested)
-run without a fan
-have good power consumption at 2D graphics
-Output DVI 1920x1080 (progressive scan), considering also using reduced blanking?

netllama 01-07-06 10:13 AM

Re: Geforce FX 5200, 1080i video, and 800x600 screen
If this reproduces with 1.0-8178, please generate and provide a bug report along with a pointer to the content that reproduces the problem, the version of MPlayer you're using, and the exact mplayer command you're running.


jcrews98 01-08-06 12:08 PM

Re: Geforce FX 5200, 1080i video, and 800x600 screen
1 Attachment(s)
Here's my mplayer output with the 1.0-8178 driver.
Xorg server is 6.8.2. Linux is 2.6.13.

You can get the file (30MB) at http://www.gridlox.net/files/sample.mpg.bz2

$ mplayer -ac hwac3 -ao alsa -zoom -fs /video/sample.mpg
MPlayer 1.0pre7try2-3.3.6 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon 4 /Athlon MP/XP Palomino (Family: 6, Stepping: 2)
Detected cache-line size is 64 bytes
MMX2 supported but disabled
3DNowExt supported but disabled
CPUflags: MMX: 1 MMX2: 0 3DNow: 1 3DNow2: 0 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX 3DNow SSE

85 audio & 196 video codecs
Setting up LIRC support...
Playing /video/sample.mpg.
Cache fill: 0.00% (0 bytes) TS file format detected.
PROBING UP TO 2000000, PROG: 0
VIDEO MPEG2(pid=49)AUDIO A52(pid=52) NO SUBS (yet)! PROGRAM N. 0
Opened TS demuxer, audio: 2000(pid 52), video: 10000002(pid 49)...POS=29704
VIDEO: MPEG2 1920x1080 (aspect 3) 29.970 fps 65000.0 kbps (8125.0 kbyte/s)
================================================== ========================
Forced audio codec: hwac3
Opening audio decoder: [hwac3] AC3/DTS pass-through S/PDIF
No accelerated IMDCT transform found
hwac3: switched to AC3, 384000 bps, 48000 Hz
AUDIO: 48000 Hz, 2 ch, ac3, 384.0 kbit/25.00% (ratio: 48000->192000)
Selected audio codec: [hwac3] afm:hwac3 (AC3 through S/PDIF)
================================================== ========================
vo: X11 running at 800x600 with depth 24 and 32 bpp (":0" => local display)
================================================== ========================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 1920 x 1080 (preferred csp: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
VDecoder init failed :(
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b
Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG-1 or 2 (libmpeg2))
================================================== ========================
Checking audio filter chain for 48000Hz/2ch/ac3 -> 48000Hz/2ch/ac3...
AF_pre: 48000Hz/2ch/ac3
alsa-init: 1 soundcard found, using: iec958:{CARD 0 AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
alsa: 48000 Hz/2 channels/4 bpf/65536 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch ac3 (1 bps)
Building audio filter chain for 48000Hz/2ch/ac3 -> 48000Hz/2ch/ac3...
Starting playback...
VDec: vo config request - 1920 x 1080 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 1920x1080 => 1920x1080 Planar YV12 [fs] [zoom]
aspect: Warning: no suitable new res found!
aspect: Warning: no suitable new res found!
aspect: Warning: no suitable new res found!
aspect: Warning: no suitable new res found!
aspect: Warning: no suitable new res found!
aspect: Warning: no suitable new res found!
a52: CRC check failed! 0.085 ct: -0.428 580/580 51% 43% 1.2% 1 0 0%
alsa-space: xrun of at least 23.769 msecs. resetting stream 1.1% 1 0 0%
A:61473.4 V:61473.5 A-V: -0.170 ct: -0.412 597/597 51% 43% 1.1% 1 0 0%
alsa-uninit: pcm closed

Exiting... (End of file)

Edited to add nvidia-bug-report.log. It's bzip2, but the uploader won't accept non .zip extensions.

EasyPrey 01-09-06 04:36 AM

Re: Geforce FX 5200, 1080i video, and 800x600 screen
mplayer always assumes 4:3 aspect ratio. Why? I don't know why. It just does.

So the correct command to play on a 16:9 resolutions would be:
mplayer -ac hwac3 -ao alsa -zoom -fs -monitoraspect 16:9 /video/sample.mpg

Without the monitoraspect switch, it would look wierd. Kinda like what you are describing.


jcrews98 01-10-06 05:33 PM

Re: Geforce FX 5200, 1080i video, and 800x600 screen
I disagree with that statement for a couple of reasons. First, my monitor aspect _is_ 4:3. Setting monitoraspect = 16:9 would only remove letterboxing, and make the image stretch vertically to fill the screen.

Second, my distortion is horizontal, causing the video to be the correct height, but too wide for the screen. This leads me to conclude that the stretching algorithm in use does not remove enough pixels in the horizonal (though it does in the vertical). Software scalers fix this, but performance obviously is not good.

mplayer ... -vf scale=800:600 scales both 720p and 1080i to 1066:600 which may be indicative as to why the hw scaler does this (the resultant surface for 1080i is 1066:600?)

netllama 01-10-06 06:08 PM

Re: Geforce FX 5200, 1080i video, and 800x600 screen
I've looked at this, but its not clear to me why you think this is an nvidia driver bug. Is the behavior different if you switch to using the 'nv' X driver?


jcrews98 01-11-06 07:33 AM

Re: Geforce FX 5200, 1080i video, and 800x600 screen
I only threw out "driver bug?" as a question, not as an assertion.

With the nv driver, the same thing happens. Where is scaling division done? This appears to be in the hardware, so this could be some hw design that is limiting my ability to scale all the way down to 800x600? 720p works fine, and I have tried XGA.

XGA still shows the same kind of geometry distortion, but much more is displayed, leaving maybe only 5-10% over the edge instead of 15-20%. It appears at specifically 1080i, this nv34 does not like scaling to 4:3.

I have taken notice that whenever I use -vf scale=800:600, something like this is displayed:
VO: [xv] 800x600 => 1066x600 Planar YV12 [fs] [zoom]

Which has an aspect of ~1.778. That's a difference of 266 pixels. The hardware appears to help it display on 4:3.
In contrast, when I use a 16:9 display mode, the sw scaler preserves the aspect perfectly.

A scaling algorithm would reasonably seem to work in this way:
Crop the output (active pixels) so that the xv active surface == movieAspect.
In this case, 16:9. The video would result in centered 800:450, and black would be drawn in the inactive area to cover the screen behind it. This would contain the scaled 16:9 video, which is now very easy to do because aspect is preserved. The opposite is happening here. video _height_ is being preserved at all costs, at least at 1080i, causing width to warp around it.

The real thought provoker here is, why does scaling [appear to] happen as illustrated above for every video size EXCEPT for 1080i?

netllama 01-11-06 02:09 PM

Re: Geforce FX 5200, 1080i video, and 800x600 screen
Have you brought up this question/topic on the Mplayer-users mailing list?


jcrews98 01-11-06 03:34 PM

Re: Geforce FX 5200, 1080i video, and 800x600 screen
No, I have not. The common link looks like the video card. Xine does the same thing. VLC probably will to. Can you duplicate my results with your machinery? There's a 30MB video clip available above if you need some 1080i material.

netllama 01-11-06 03:53 PM

Re: Geforce FX 5200, 1080i video, and 800x600 screen
Yes, I can reproduce what you're reporting. However, as you noted, it also happens with the 'nv' X driver, so its unlikely to be an nvidia driver bug.


All times are GMT -5. The time now is 12:16 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.