On Fri, Feb 25, 2005 at 08:20:51AM +1100, Nick Tan wrote:
I use an FX5200 without any deinterlacing and watching sports and fast moving stuff is just fine. In fact, I find that the picture quality is
When I tried using a GF4 MX a year and a half ago, it was terrible.
I've been meaning to try again to see if the bob deinterlacing or
newer nvidia drivers have improved anything.
You made a good choice at the time. However, things have changed drastically since then. The main issues are raster alignment and frame timing. At about the same time, I was considering a PVR-350 even though I hated the issues I had with a 250 (still do =).
I decided to look into the alignment problem. In a long afternoon of divide and conquer, I found a magic overscan value that put a 480 pixel image in 480 scan lines for the 4xxx driver. Of course, the overscan changed with the 6xxx drivers and are now controlled by the "nvidia-settings" tool. If the overscan value is set to 250 (actually anywhere from 243-250) it is pretty darn close if not exactly 480 pixels on 480 scan lines. This means that by not scaling and with accurate frame timing, only data from one of the recoded fields is displayed per field refresh.
For frame timing, Doug's OpenGL and RTC contributions make near perfect timing possible. After hashing out problems to avoid the 'straddle' problem and a less heralded fix to do a better job of deciding if a frame should draw ASAP or wait for the next refresh if prepareFrame finishes less than a refresh cycle ahead, there are virtually no flaws. Frame field misses are one or two per minute or less making flaws just about imperceptible. This, along with bob to cover any remaining flaws in scaling or timing make motion indistinguishable from the original TV signal.
Would you mind sending your XF86Config?
Section "Module" #Load "GLcore" Load "bitmap" Load "dbe" Load "ddc" #Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "record" Load "speedo" Load "type1" Load "v4l" Load "vbe" EndSection
...
Section "Device" Identifier "Generic Video Card" Driver "nvidia" Option "TVOverScan" "0.979" Option "TVStandard" "NTSC-M" Option "ConnectedMonitor" "TV" Option "TVOutFormat" "SVIDEO" Option "RenderAccel" "1" Option "NoLogo" "true" EndSection
...
Section "Screen" ... SubSection "Display" Depth 24 Modes "640x480" # "1024x768" 800x600 EndSubSection
However, The important stuff is now controlled by "nvidia-settings" which is installed along with NVIDIA-Linux-x86-1.0-6629-pkg1.run . For raster alignment, set the overscan to 250. In myth, record at Nx480, uncheck "Use GUI size for TV playback", And in TV Settings-> Playback Overscan set the horizontal percentage to 0.
In "nvidia-settings", set the flicker filter to 1, and sharpness to about 6 to 8. Set "TV Saturation" to about 172 to 178. The last one is important. I've found that both nVidia and ATI tvout tend to bleed bright reds when the TV is set the same as for a TV signal. The best solution I've found is to turn down the color on the TV set to just below the point where reds pulsate, glow or bleed then turn up this nvidia saturation control. Recording with higher sat would distort the colors in the recording and the Xv saturation seems to cause distortion also. However, the nvidia setting gives colors more body without distortion until you are at a point where the colors are cleanly overdriven.
One note, at 640x480 the Sharpness slider does not fit on the screen.
It can be adjusted blindly by tabbing to it or by editing the rc file. However, I'll save you the trouble and attach a .nvidia-settings-rc
file that you can put in you home dir.
-- bjm
# # /home/bjm/.nvidia-settings-rc # # Configuration file for nvidia-settings - the NVIDIA X Server Settings utility # Generated on Sat Feb 19 02:44:07 2005 #
# ConfigProperties: ToolTips = Yes DisplayStatusBar = Yes SliderTextEntries = Yes IncludeDisplayNameInConfigFile = No ShowQuitDialog = Yes # Attributes: 0/DigitalVibrance[TV-0]=0 0/ImageSharpening[TV-0]=8 0/SyncToVBlank=1 0/LogAniso=0 0/FSAA=0 0/TextureSharpen=0 0/ForceGenericCpu=0 0/CursorShadow=1 0/CursorShadowXOffset=4 0/CursorShadowYOffset=2 0/CursorShadowAlpha=64 0/CursorShadowRed=0 0/CursorShadowGreen=0 0/CursorShadowBlue=0 0/FSAAAppControlled=1 0/LogAnisoAppControlled=1 0/RedBrightness=-0.000000 0/GreenBrightness=-0.000000 0/BlueBrightness=-0.000000 0/RedContrast=0.000000 0/GreenContrast=0.000000 0/BlueContrast=0.000000 0/RedGamma=1.000000 0/GreenGamma=1.000000 0/BlueGamma=1.000000 0/TVOverScan[TV-0]=250 0/TVFlickerFilter[TV-0]=1 0/TVHue[TV-0]=0 0/TVSaturation[TV-0]=178 0/XVideoOverlaySaturation=4095 0/XVideoOverlayContrast=4095 0/XVideoOverlayBrightness=0 0/XVideoOverlayHue=0 0/XVideoTextureSyncToVBlank=1 0/XVideoBlitterSyncToVBlank=1
### BEGIN DEBCONF SECTION # XF86Config-4 (XFree86 server configuration file) generated by dexconf, the # Debian X Configuration tool, using values from the debconf database. # # Edit this file with caution, and see the XF86Config-4 manual page. # (Type "man XF86Config-4" at the shell prompt.) # # If you want your changes to this file preserved by dexconf, only make changes # before the "### BEGIN DEBCONF SECTION" line above, and/or after the # "### END DEBCONF SECTION" line below. # # To change things within the debconf section, run the command: # dpkg-reconfigure xserver-xfree86 # as root. Also see "How do I add custom sections to a dexconf-generated # XF86Config or XF86Config-4 file?" in /usr/share/doc/xfree86-common/FAQ.gz. Section "Files" # FontPath "unix/:7100" # local font server # if the local font server has problems, we can fall back on these FontPath "/usr/lib/X11/fonts/Type1" FontPath "/usr/lib/X11/fonts/CID" FontPath "/usr/lib/X11/fonts/Speedo" FontPath "/usr/lib/X11/fonts/misc" FontPath "/usr/lib/X11/fonts/cyrillic" FontPath "/usr/lib/X11/fonts/75dpi" FontPath "/usr/lib/X11/fonts/100dpi" FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" EndSection Section "Module" #Load "GLcore" Load "bitmap" Load "dbe" Load "ddc" #Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "record" Load "speedo" Load "type1" Load "v4l" Load "vbe" EndSection Section "InputDevice" Identifier "Generic Keyboard" Driver "keyboard" Option "CoreKeyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc104" Option "XkbLayout" "us" #Option "XkbOptions" "ctrl:swapcaps" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" #Option "CorePointer" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "PS/2" Option "Emulate3Buttons" "true" #Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" Identifier "Generic Mouse" Driver "mouse" Option "CorePointer" Option "SendCoreEvents" "true" Option "Device" "/dev/ttyS0" Option "Protocol" "Microsoft" Option "Emulate3Buttons" "true" #Option "ZAxisMapping" "4 5" EndSection Section "Device" Identifier "Generic Video Card" Driver "nvidia" Option "TVOverScan" "0.979" Option "TVStandard" "NTSC-M" Option "ConnectedMonitor" "TV" Option "TVOutFormat" "SVIDEO" Option "RenderAccel" "1" Option "NoLogo" "true" EndSection Section "Monitor" Identifier "Generic Monitor" HorizSync 30-50 VertRefresh 60 Option "DPMS" EndSection Section "Screen" Identifier "Default Screen" Device "Generic Video Card" Monitor "Generic Monitor" DefaultDepth 24 SubSection "Display" Depth 1 Modes "800x600" "640x480" EndSubSection SubSection "Display" Depth 4 Modes "800x600" "640x480" EndSubSection SubSection "Display" Depth 8 Modes "800x600" "640x480" EndSubSection SubSection "Display" Depth 15 Modes "800x600" "640x480" EndSubSection SubSection "Display" Depth 16 Modes "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "640x480" # "1024x768" 800x600 EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" # InputDevice "Configured Mouse" InputDevice "Generic Mouse" EndSection Section "DRI" Mode 0666 EndSection ### END DEBCONF SECTION
_______________________________________________ mythtv-users mailing list mythtv-users@mythtv.org http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users