summaryrefslogtreecommitdiffstats
path: root/TOOLS/TVout/matroxtv
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-08-03 00:45:55 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-08-03 00:45:55 +0000
commitc1f0f03b5780a1dd233b118cbb71af8dd32e4446 (patch)
tree20a6fb8b7a4f783b7714affbc9be13b4c9a48b2d /TOOLS/TVout/matroxtv
parentb3179e503f740651ae16cced2f6cfe8e83d2c8a0 (diff)
downloadmpv-c1f0f03b5780a1dd233b118cbb71af8dd32e4446.tar.bz2
mpv-c1f0f03b5780a1dd233b118cbb71af8dd32e4446.tar.xz
Moved to the TOOLS directory.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12941 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'TOOLS/TVout/matroxtv')
-rwxr-xr-xTOOLS/TVout/matroxtv314
1 files changed, 314 insertions, 0 deletions
diff --git a/TOOLS/TVout/matroxtv b/TOOLS/TVout/matroxtv
new file mode 100755
index 0000000000..680877c49b
--- /dev/null
+++ b/TOOLS/TVout/matroxtv
@@ -0,0 +1,314 @@
+#!/bin/sh
+#
+# Gabucino - no warranty, this script can BOOM your TV and/or monitor, or else.
+# v3.0
+# This script has been tested and configured on a Matrox G400DH, a PAL TV,
+# a 14" analog and a 15" digital monitor.
+#
+# INSTALLATION:
+# 1. READ MPLAYER'S TVOUT DOCUMENTATION!
+# 2. Choose proper mode at 'defaultmode', 'TVdefaultmode',
+# and 'SetTVstandard' functions to fit your needs.
+# You normally shouldn't touch anything else.
+# 3. Remove 'exit 1' safety check.
+#
+
+function defaultmode {
+ # You can choose the mode to use in monitor-only mode
+ # 640x480 60Hz 32bpp (14" monitors)
+ fbset -a -xres 640 -yres 480 -vxres 640 -vyres 480 -depth 32 -pixclock 39721 -left 48 -right 16 -upper 33 -lower 10 -hslen 96 -vslen 2 -hsync high -accel true -laced false
+ # 768x576 60Hz 32bpp (14" monitors)
+ # fbset -a -xres 768 -yres 576 -vxres 768 -vyres 5460 -depth 32 -pixclock 26101 -left 144 -right 16 -upper 28 -lower 6 -hslen 112 -vslen 4 -accel true -laced false
+ # 800x600 76Hz 32bpp (15" monitors)
+ # fbset -a -xres 800 -yres 600 -vxres 800 -vyres 1440 -depth 32 -pixclock 20000 -left 128 -right 16 -upper 24 -lower 2 -hslen 96 -vslen 6 -laced false
+ # 1024x768 70Hz 32bpp (15" monitors)
+ # fbset -a -xres 1024 -yres 768 -vxres 1024 -vyres 1440 -depth 32 -pixclock 12500 -left 144 -right 32 -upper 30 -lower 2 -hslen 192 -vslen 6 -laced false
+}
+
+function TVdefaultmode {
+
+ ##
+ ## PAL modes
+ ##
+
+ # 640x512 80Hz 32bpp
+ fbset -fb $1 -a -depth 32 -left 60 -right 0 -upper 70 -lower 39 -hslen 76 -vslen 4 -xres 640 -yres 512 -bcast true -laced false
+ # 640x528 83Hz 32bpp
+ # fbset -fb $1 -a -depth 32 -left 40 -right 0 -upper 63 -lower 29 -hslen 56 -vslen 4 -xres 640 -yres 528 -vxres 640 -vyres 528 -laced false -bcast true
+ # 720x576 78Hz 32bpp
+ # fbset -fb $1 -a -depth 32 -left 54 -right -36 -upper 55 -lower -6 -hslen 46 -vslen 4 -xres 720 -yres 576 -vxres 720 -vyres 576 -laced false -bcast true
+
+ ##
+ ## NTSC modes
+ ##
+
+ # 640x240 non-interlaced 32bpp
+ # fbset -fb $1 -a -depth 32 -xres 640 -yres 240 -vxres 640 -vyres 240 -pixclock 79443 -left 72 -right 40 -upper 15 -lower 5 -hslen 48 -vslen 3 -laced false
+ # 640x480 interlaced 32bpp
+ # fbset -fb $1 -a -depth 32 -xres 640 -yres 480 -vxres 640 -vyres 480 -pixclock 79443 -left 72 -right 40 -upper 30 -lower 10 -hslen 48 -vslen 5 -laced true
+}
+
+function SetTVstandard {
+ matroxset 1 # PAL
+ # matroxset 2 # NTSC
+}
+
+function SetMonitorMode {
+ matroxset 128
+}
+
+function mappingreset {
+ matroxset -f /dev/fb0 -m 0
+ matroxset -f /dev/fb1 -m 0
+ matroxset -f /dev/fb0 -m 1
+ con2fb /dev/fb0 /dev/tty1
+ con2fb /dev/fb0 /dev/tty2
+ SetMonitorMode
+ defaultmode
+}
+
+function warn {
+ clear
+ echo "tty2 will be automatically transferred to fb1 using the con2fb utility."
+ echo
+ echo
+ echo "A big \"1\" letter will be displayed on tty1 after the change."
+ echo "A big \"2\" letter will be displayed on tty2 after the change."
+ echo
+ echo
+ echo "If you read this, PRESS ANY KEY TO CONTINUE"
+ read
+}
+
+function warn2 {
+ id1 > /dev/tty1 &
+ id2 > /dev/tty2 &
+}
+
+function id1 {
+ sleep 1
+ clear
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo " ****"
+ echo " *****"
+ echo " ******"
+ echo " *******"
+ echo " ***"
+ echo " ***"
+ echo " ***"
+ echo " ***"
+ echo " ***"
+ echo " *****"
+ echo
+ echo
+ echo " FAST console"
+ echo
+ echo
+ echo " Press ALT-F1 to change here"
+}
+
+function id2 {
+ sleep 1
+ clear
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo
+ echo " *****"
+ echo " ** **"
+ echo " * **"
+ echo " **"
+ echo " **"
+ echo " **"
+ echo " **"
+ echo " **"
+ echo " ** **"
+ echo " *******"
+ echo
+ echo
+ echo " SLOW console"
+ echo
+ echo
+ echo " Press ALT-F2 to change here"
+}
+
+echo
+echo "Please read MPlayer's TV-out documentation, and install 'matroxset' and 'fbset'."
+echo "Then edit this script to suit your monitor+TV set."
+echo
+exit 1
+
+while [ 1 ]; do
+
+clear
+
+echo " [ 0 ] Clear & blank screen"
+echo " [ 1 ] Monitor only"
+echo
+echo " [ 2 ] Cloning - CRTC1 -> Monitor"
+echo " CRTC2 -> TV"
+echo
+echo " [ 3 ] Cloning - CRTC1 -> Monitor1"
+echo " CRTC2 -> Monitor2"
+echo
+echo " [ 4 ] DualHead - CRTC1 -> Monitor1"
+echo " CRTC2 -> Monitor2"
+echo
+echo " [ 5 ] DualHead - CRTC1 -> Monitor2 (SWAP!)"
+echo " CRTC2 -> Monitor1"
+echo
+echo " [ 6 ] DualHead - CRTC1 -> Monitor1"
+echo " CRTC2 -> TV"
+echo
+echo " [ 7 ] DualHead - CRTC1 -> TV (SWAP!)"
+echo " CRTC2 -> Monitor1"
+
+echo
+
+echo "-- TV MODES on /dev/fb0 -- TV MODES on /dev/fb1"
+echo
+echo " [ a ] 640x512 PAL [ A ] 640x512 PAL"
+echo " [ s ] 640x528 PAL [ S ] 640x528 PAL"
+echo " [ d ] 720x576 PAL [ D ] 720x576 PAL"
+echo " [ f ] 640x240 NTSC [ F ] 640x240 NTSC"
+echo " [ g ] 640x480 NTSC, interlaced [ G ] 640x480 NTSCl"
+echo
+echo " (Warning, fb0 and fb1 tend to change RANDOMLY with these mode changers..)"
+
+read ABC
+
+case "$ABC" in
+ 0)
+ clear
+ setterm -cursor off
+ setterm -blank 0
+ read
+ setterm -cursor on
+ ;;
+
+ 1)
+ mappingreset
+ echo
+ ;;
+
+ 2)
+ mappingreset
+ matroxset -f /dev/fb0 -m 3
+ SetTVstandard
+ TVdefaultmode /dev/fb0
+ ;;
+
+ 3)
+ mappingreset
+ matroxset -f /dev/fb0 -m 3
+ ;;
+
+ 4)
+ warn
+ mappingreset
+ matroxset -f /dev/fb0 -m 1
+ matroxset -f /dev/fb1 -m 2
+ warn2
+ ;;
+
+ 5)
+ warn
+ mappingreset
+ matroxset -f /dev/fb0 -m 2
+ matroxset -f /dev/fb1 -m 1
+ warn2
+ ;;
+
+ 6)
+ warn
+ mappingreset
+ con2fb /dev/fb1 /dev/tty2
+ matroxset -f /dev/fb0 -m 1
+ matroxset -f /dev/fb1 -m 2
+ SetTVstandard
+ TVdefaultmode /dev/fb1
+ warn2
+ ;;
+
+ 7)
+ warn
+ mappingreset
+ con2fb /dev/fb1 /dev/tty2
+ matroxset -f /dev/fb0 -m 2
+ matroxset -f /dev/fb1 -m 1
+ SetTVstandard
+ TVdefaultmode /dev/fb0
+ warn2
+ ;;
+
+ a)
+ # 640x512 80Hz 32bpp
+ fbset -depth 32 -left 60 -right 0 -upper 70 -lower 39 -hslen 76 -vslen 4 -xres 640 -yres 512 -bcast true -laced false
+ ;;
+
+ A)
+ # 640x512 80Hz 32bpp
+ fbset -fb /dev/fb1 -depth 32 -left 60 -right 0 -upper 70 -lower 39 -hslen 76 -vslen 4 -xres 640 -yres 512 -bcast true -laced false
+ ;;
+
+ s)
+ # 640x528 83Hz 32bpp
+ fbset -depth 32 -left 40 -right 0 -upper 63 -lower 29 -hslen 56 -vslen 4 -xres 640 -yres 528 -vxres 640 -vyres 528 -laced false -bcast true
+ ;;
+
+ S)
+ # 640x528 83Hz 32bpp
+ fbset -fb /dev/fb1 -depth 32 -left 40 -right 0 -upper 63 -lower 29 -hslen 56 -vslen 4 -xres 640 -yres 528 -vxres 640 -vyres 528 -laced false -bcast true
+ ;;
+
+ d)
+ # 720x576 78Hz 32bpp
+# fbset -depth 32 -left 54 -right -36 -upper 55 -lower -6 -hslen 46 -vslen 4 -xres 720 -yres 576 -vxres 720 -vyres 576 -laced false -bcast true
+ fbset -depth 32 -right -36 -lower -6 -hslen 46 -vslen 4 -xres 720 -yres 576 -vxres 720 -vyres 576 -laced false -bcast true
+ ;;
+
+ D)
+ # 720x576 78Hz 32bpp
+# fbset -fb /dev/fb1 -depth 32 -left 54 -right -36 -upper 55 -lower -6 -hslen 46 -vslen 4 -xres 720 -yres 576 -vxres 720 -vyres 576 -laced false -bcast true
+ fbset -fb /dev/fb1 -depth 32 -right -36 -lower -6 -hslen 46 -vslen 4 -xres 720 -yres 576 -vxres 720 -vyres 576 -laced false -bcast true
+ ;;
+
+ f)
+ # 640x240 non-interlaced 32bpp
+ fbset -depth 32 -xres 640 -yres 240 -vxres 640 -vyres 240 -pixclock 79443 -left 72 -right 40 -upper 15 -lower 5 -hslen 48 -vslen 3 -laced false
+ ;;
+
+ F)
+ # 640x240 non-interlaced 32bpp
+ fbset -fb /dev/fb1 -depth 32 -xres 640 -yres 240 -vxres 640 -vyres 240 -pixclock 79443 -left 72 -right 40 -upper 15 -lower 5 -hslen 48 -vslen 3 -laced false
+ ;;
+
+ g)
+ # 640x480 interlaced 32bpp
+ fbset -depth 32 -xres 640 -yres 480 -vxres 640 -vyres 480 -pixclock 79443 -left 72 -right 40 -upper 30 -lower 10 -hslen 48 -vslen 5 -laced true
+ ;;
+
+ G)
+ # 640x480 interlaced 32bpp
+ fbset -fb /dev/fb1 -depth 32 -xres 640 -yres 480 -vxres 640 -vyres 480 -pixclock 79443 -left 72 -right 40 -upper 30 -lower 10 -hslen 48 -vslen 5 -laced true
+ ;;
+esac
+
+done