mirror of
https://github.com/mpv-player/mpv
synced 2024-12-12 01:46:16 +00:00
63a54503dd
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9840 b3059339-0415-0410-9bf9-f77b7e298cf2
210 lines
5.6 KiB
Bash
Executable File
210 lines
5.6 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Gabucino - no warranty, this script can BOOM your TV and/or monitor, or else.
|
|
# v2.5
|
|
# 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. Edit 'defaultmode', 'TVdefaultmode', and 'SetTVstandard' functions
|
|
# below to fit your needs.
|
|
# 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 -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 -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 -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 -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 -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 "Display routing is about to come! Due to certain limitations"
|
|
echo "(kernel? driver?), you MUST switch ttys a few times for"
|
|
echo "these changes to take effect!!!!! After pressing a key now."
|
|
echo
|
|
echo "I.e.: press alt-f1, alt-f2, alt-f3, then back to alt-f1"
|
|
echo
|
|
echo "NOTE: you won't automatically get consoles on the new display."
|
|
echo " To achieve that, use the con2fb utility:"
|
|
echo " $ con2fb /dev/fb1 /dev/tty1"
|
|
echo " (and don't forget to change ttys a few times...)"
|
|
echo
|
|
echo
|
|
echo "If you read this, PRESS ANY KEY TO CONTINUE"
|
|
read
|
|
}
|
|
|
|
function warn2 {
|
|
clear
|
|
echo
|
|
echo
|
|
echo
|
|
echo
|
|
echo Routing done!
|
|
echo Change consoles!
|
|
echo
|
|
echo Then PRESS ANY KEY TO RETURN to menu
|
|
read
|
|
}
|
|
|
|
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 " /---> Monitor"
|
|
echo " [ 2 ] Cloning - CRTC1"
|
|
echo " \\---> TV"
|
|
echo
|
|
echo " /---> Monitor1"
|
|
echo " [ 3 ] Cloning - CRTC1"
|
|
echo " \\---> Monitor2"
|
|
echo
|
|
echo " CRTC1 ---> Monitor1"
|
|
echo " [ 4 ] DualHead -"
|
|
echo " CRTC2 ---> Monitor2"
|
|
echo
|
|
echo " CRTC1 ---> Monitor2"
|
|
echo " [ 5 ] DualHead - SWAP!"
|
|
echo " CRTC2 ---> Monitor1"
|
|
|
|
echo
|
|
|
|
echo -- TV MODES
|
|
echo
|
|
echo " [ A ] 640x512 PAL"
|
|
echo " [ S ] 640x528 PAL"
|
|
echo " [ D ] 720x576 PAL"
|
|
echo " [ F ] 640x240 NTSC"
|
|
echo " [ G ] 640x480 NTSC, Interlaced"
|
|
|
|
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
|
|
;;
|
|
|
|
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
|
|
;;
|
|
|
|
a)
|
|
# 640x512 80Hz 32bpp
|
|
fbset -a -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 -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
|
|
;;
|
|
|
|
d)
|
|
# 720x576 78Hz 32bpp
|
|
# fbset -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
|
|
fbset -a -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 -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
|
|
;;
|
|
|
|
g)
|
|
# 640x480 interlaced 32bpp
|
|
fbset -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
|
|
;;
|
|
esac
|
|
|
|
done
|