From ea3b5af754d17b8c420756216b6dfb4efc6a3613 Mon Sep 17 00:00:00 2001 From: gabucino Date: Wed, 24 Oct 2001 13:03:56 +0000 Subject: [PATCH] 'vesa' vo driver added. By Nick Kurshev. (spellchecked, fixed, mplayerdoxized) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2449 b3059339-0415-0410-9bf9-f77b7e298cf2 --- DOCS/documentation.html | 1 + DOCS/video.html | 115 +++++++++++++++++++++++++++++++++++++--- 2 files changed, 109 insertions(+), 7 deletions(-) diff --git a/DOCS/documentation.html b/DOCS/documentation.html index 303568fd91..6247bd00b6 100644 --- a/DOCS/documentation.html +++ b/DOCS/documentation.html @@ -81,6 +81,7 @@
  • 2.2.1.9 3dfx YUV support (tdfxfb)
  • 2.2.1.10 OpenGL output
  • 2.2.1.11 AAlib - text mode displaying
  • +
  • 2.2.1.12 VESA - output to VESA BIOS
  • 2.2.1.A TVout
  • disabling VSYNC somehow, or set refresh rate to n*(fps of the movie) Hz.
  • Radeon VE - currently only XFree86 CVS has driver for this card, version -4.1.0 doesn't. No TV-out support.
  • +4.1.0 doesn't. No TV-out support. (But see VESA sections).

    @@ -263,7 +264,7 @@ the movie fits in. There is no converter right now.. :(

    If you want to run it as user, then install MPlayer SUID root:

    -    chown root /usr/local/bin/mplayer
    +    chown root /usr/local/bin/mplayer
        chmod 750 /usr/local/bin/mplayer
        chmod +s /usr/local/bin/mplayer

    @@ -617,6 +618,90 @@ curses (-aadriver linux). But therefore you need write access on /dev/vcsa<te That isn't autodetected by aalib, bu vo_aa tries to find the best mode. See http://aa-project.sourceforge.net/tune/ for further tuning issues.

    +

    2.2.1.12. VESA - output to VESA BIOS

    +

    +This driver was designed and introduced as generic driver for any video +card which has VESA VBE 2.0 compatible BIOS. But exists still one reason of +developing of this driver - it's multiple troubles with displaying movie on TV.
    +VESA BIOS EXTENSION (VBE) Version 3.0 Date: September 16, 1998 (Page 70) +says: +

    + +

    + +Dual-Controller Designs
    +VBE 3.0 supports the dual-controller design by assuming that since both +controllers are typically provided by the same OEM, under control of a +single BIOS ROM on the same graphics card, it is possible to hide the fact +that two controllers are indeed present from the application. This has the +limitation of preventing simultaneous use of the independent controllers, +but allows applications released before VBE 3.0 to operate normally. The +VBE Function 00h (Return Controller Information) returns the combined +information of both controllers, including the combined list of available modes. +When the application selects a mode, the appropriate controller is activated. +Each of the remaining VBE functions then operates on the active controller. +
    +

    + +

    +So you have chances to get working tv-out by using this driver. +
    (I guess that TV-out frequently is standalone head or standalone output +at least.) +

    + +

    +What are pluses:
    + - You have chances to watch movies if Linux even doesn't know your video hardware.
    + - You don't need to have installed any graphics' related things on your Linux +(like X11 (aka XFree86), fbdev and so on). This driver can be run from +text-mode.
    + - You have chances to get working TV-out. (It's known at least for ATI's cards).
    + - This driver calls int 10h handler thus it's not an emulator - it +calls real things of real BIOS in real-mode. (Finely - +in vm86 mode).
    + - Most important :) You can watch DVD at 320x200 if you don't have a powerful CPU.
    +

    + +

    +What are minuses:
    + - It works only on x86 systems.
    + - It's the slowest driver from all the available ones for MPlayer.
    + - It can be used only by ROOT.
    + - Currently it's available only for Linux.
    + - It doesn't use any hardware accelerations (like YUV overlay or hw scaling).
    +

    + +

    + + + + + + + + +

    These switches of command line currently are available for VESA:

      -vo vesa:opts   +will be implemented soon. (Will specify mode parameters such as refresh rate, interlacing, doublescan and so on. Samples: i43, 85, d100)
    -screenw, -screenh, -bppforce userdefined mode
    -x, -yset userdefined prescaling
    -zoomenables userdefined prescaling
    -fsscales image to fullscreen
    -fs -zoomscales userdefined prescaling to fullscreen
    +

    + +

    +Known problems and workaround:
    + - If you have installed NLS font on your Linux box and run VESA driver +from text-mode then after terminating mplayer you will have ROM font loaded instead +of national. You can load national font again by using setsysfont utility +from for example Mandrake distribution.
    +(Hint: The same utility is used for localizating fbdev).
    + - Some Linux graphics drivers don't update active BIOS mode in DOS memory. So if you have such +problem - always use VESA driver only from text-mode. Otherwise text-mode (#03) will be +activated anyway and you will need restart your computer.
    + - Often after terminating VESA driver you get black screen. To return your screen +to original state - simply switch to other console (by pressing Alt-Fx) then switch +to your previous console by the same way.
    + - To get working TV-out you need have plugged tv-connector in before booting +your PC since video BIOS initializes itself only once during POST procedure. +

    + +

    2.2.1.A. TV-out support

    2.2.1.A.1. Matrox cards

    @@ -762,13 +847,29 @@ we have no chance to get working TV-out on ATI.

  • Radeon VE and Rage PRO LT have ImpacTV2+ which is not supported under Linux.

    -From other side - we could have a chance to have TV-out support through -VESA drivers on x86 systems but since Linux has too limited vm86 syscall -- it's unreachable on practice. Finely every access to IO space causes exception -and driver attempts to emulate even VESA calls instead passing them to native -int_10h handler. +Fortunately, owners of fast enough CPUs (Duron, Celeron2 and better) can watch +movies on their TV through VESA drivers.

    +

    +I should say good words into address of ATI Inc. too:
    +it produces top quality BIOSes. +

    + +

    +VESA drivers don't use any hardware acceleration but it simulates +DGA through 64K window, which is configured through 32-bit mode +functions of BIOS. ATI cards have enough fast video memory (DIMM or DDR +chips with 64 - 128-bit access) so it's not bottleneck for them. There are no +limitations on which video mode can be displayed on your TV (like on other +cards) so you can use any video mode on your TV (from +320x200 up to 1024x768).
    Only thing you need to do - have +plugged tv-connector in before booting your PC since video BIOS initializes +itself only once during POST procedure. +

    + +

    +For detail see VESA sections of this documentation.