summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/en/mplayer.187
-rw-r--r--DOCS/tech/vidix.txt153
-rw-r--r--Makefile83
-rw-r--r--cfg-mplayer.h1
-rwxr-xr-xconfigure146
-rw-r--r--libvo/video_out.c12
-rw-r--r--libvo/vo_cvidix.c178
-rw-r--r--libvo/vo_fbdev.c83
-rw-r--r--libvo/vo_svga.c52
-rw-r--r--libvo/vo_vesa.c74
-rw-r--r--libvo/vo_winvidix.c345
-rw-r--r--libvo/vo_xvidix.c421
-rw-r--r--libvo/vosub_vidix.c702
-rw-r--r--libvo/vosub_vidix.h47
-rw-r--r--vidix/.gitignore5
-rw-r--r--vidix/AsmMacros.h83
-rw-r--r--vidix/README10
-rw-r--r--vidix/README.dha30
-rw-r--r--vidix/cyberblade_regs.h140
-rw-r--r--vidix/cyberblade_vid.c608
-rw-r--r--vidix/dha.c218
-rw-r--r--vidix/dha.h91
-rw-r--r--vidix/dhahelper/dhahelper.c377
-rw-r--r--vidix/dhahelper/dhahelper.h85
-rw-r--r--vidix/dhahelper/test.c82
-rw-r--r--vidix/dhahelperwin/NMAKEFILE7
-rw-r--r--vidix/dhahelperwin/SOURCES6
-rw-r--r--vidix/dhahelperwin/common.ver207
-rw-r--r--vidix/dhahelperwin/dhahelper.c390
-rw-r--r--vidix/dhahelperwin/dhahelper.h72
-rw-r--r--vidix/dhahelperwin/dhahelper.rc35
-rw-r--r--vidix/dhahelperwin/dhasetup.c116
-rw-r--r--vidix/dhahelperwin/ntverp.h156
-rw-r--r--vidix/drivers.c194
-rw-r--r--vidix/drivers.h32
-rw-r--r--vidix/fourcc.h84
-rw-r--r--vidix/glint_regs.h1304
-rw-r--r--vidix/ivtv_vid.c563
-rw-r--r--vidix/mach64.h2497
-rw-r--r--vidix/mach64_vid.c1076
-rw-r--r--vidix/mga_crtc2_vid.c3
-rw-r--r--vidix/mga_vid.c1403
-rw-r--r--vidix/mtrr.c83
-rw-r--r--vidix/nvidia_vid.c1153
-rw-r--r--vidix/pci.c735
-rw-r--r--vidix/pci.db13042
-rwxr-xr-xvidix/pci_db2c.awk272
-rw-r--r--vidix/pci_names.h38
-rw-r--r--vidix/pm2_vid.c361
-rw-r--r--vidix/pm3_regs.h1111
-rw-r--r--vidix/pm3_vid.c382
-rw-r--r--vidix/radeon.h2241
-rw-r--r--vidix/radeon_vid.c3480
-rw-r--r--vidix/rage128_vid.c3
-rw-r--r--vidix/s3_regs.h238
-rw-r--r--vidix/s3_vid.c925
-rw-r--r--vidix/sh_veu_vid.c634
-rw-r--r--vidix/sis_bridge.c694
-rw-r--r--vidix/sis_bridge.h26
-rw-r--r--vidix/sis_defs.h107
-rw-r--r--vidix/sis_regs.h413
-rw-r--r--vidix/sis_vid.c1509
-rw-r--r--vidix/sysdep/AsmMacros_alpha.h82
-rw-r--r--vidix/sysdep/AsmMacros_arm32.h106
-rw-r--r--vidix/sysdep/AsmMacros_ia64.h71
-rw-r--r--vidix/sysdep/AsmMacros_powerpc.h115
-rw-r--r--vidix/sysdep/AsmMacros_sparc.h108
-rw-r--r--vidix/sysdep/AsmMacros_x86.h342
-rw-r--r--vidix/sysdep/libdha_os2.c161
-rw-r--r--vidix/sysdep/libdha_win32.c113
-rw-r--r--vidix/sysdep/pci_386bsd.c61
-rw-r--r--vidix/sysdep/pci_alpha.c28
-rw-r--r--vidix/sysdep/pci_arm32.c60
-rw-r--r--vidix/sysdep/pci_bsdi.c39
-rw-r--r--vidix/sysdep/pci_freebsd.c61
-rw-r--r--vidix/sysdep/pci_ia64.c60
-rw-r--r--vidix/sysdep/pci_isc.c55
-rw-r--r--vidix/sysdep/pci_linux.c213
-rw-r--r--vidix/sysdep/pci_lynx.c115
-rw-r--r--vidix/sysdep/pci_mach386.c47
-rw-r--r--vidix/sysdep/pci_netbsd.c67
-rw-r--r--vidix/sysdep/pci_openbsd.c49
-rw-r--r--vidix/sysdep/pci_os2.c78
-rw-r--r--vidix/sysdep/pci_powerpc.c30
-rw-r--r--vidix/sysdep/pci_sco.c56
-rw-r--r--vidix/sysdep/pci_sparc.c60
-rw-r--r--vidix/sysdep/pci_svr4.c65
-rw-r--r--vidix/sysdep/pci_win32.c61
-rw-r--r--vidix/sysdep/pci_x86.c60
-rw-r--r--vidix/unichrome_regs.h635
-rw-r--r--vidix/unichrome_vid.c973
-rw-r--r--vidix/vidix.c174
-rw-r--r--vidix/vidix.h390
93 files changed, 14 insertions, 44226 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index ae13cac060..1c2d6701f9 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -281,8 +281,8 @@ Change YUV colorspace.
.PD 1
.PP
.RS
-(The following keys are valid only when using a hardware accelerated video
-output (xv, (x)vidix, (x)mga, etc), the software equalizer
+(The following keys are valid only when using a video output that supports
+the corresponding adjustment, the software equalizer
(\-vf eq or \-vf eq2) or hue filter (\-vf hue).)
.RE
.PP
@@ -751,14 +751,14 @@ chapter change instead of doing a seek.
.B \-colorkey <number>
Changes the colorkey to an RGB value of your choice.
0x000000 is black and 0xffffff is white.
-Only supported by the cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix,
+Only supported by the fbdev, svga, vesa, xmga,
xover, xv (see \-vo xv:ck), xvmc (see \-vo xv:ck) and directx video output
drivers.
.
.TP
.B \-nocolorkey
Disables colorkeying.
-Only supported by the cvidix, fbdev, svga, vesa, winvidix, xmga, xvidix,
+Only supported by the fbdev, svga, vesa, xmga,
xover, xv (see \-vo xv:ck), xvmc (see \-vo xv:ck) and directx video output
drivers.
.
@@ -797,14 +797,13 @@ later.
See http://www.mplayerhq.hu/\:DOCS/\:HTML/\:en/\:edl.html for details.
.
.TP
-.B \-nofixed\-vo
+.B \-fixed\-vo, \-nofixed\-vo
\-fixed\-vo enforces a fixed video system for multiple files (one
(un)initialization for all files).
Therefore only one window will be opened for all files.
Now enabled by default, use \-nofixed\-vo to disable and create a new window
whenever the video stream changes.
-Currently the following drivers are fixed-vo compliant: gl, gl2, mga, svga, x11,
-xmga, xv, xvidix and dfbmga.
+Some of the older drivers may not be fixed-vo compliant.
.
.TP
.B \-framedrop (also see \-hardframedrop, experimental without \-nocorrect\-pts)
@@ -3169,8 +3168,7 @@ the video output drivers that fully support \-xineramascreen (direct3d, gl, gl2,
vdpau, x11, xv, xvmc, corevideo).
.br
.I NOTE:
-This option is only supported by the x11, xmga, xv, xvmc, xvidix,
-gl, gl2, directx, fbdev, tdfxfb and corevideo video output drivers.
+May not be supported by some of the older VO drivers.
.sp 1
.I EXAMPLE:
.PD 0
@@ -3262,8 +3260,7 @@ as well as directx, corevideo, quartz, ggi and gl2.
Enables pan-and-scan functionality (cropping the sides of e.g.\& a 16:9
movie to make it fit a 4:3 display without black bands).
The range controls how much of the image is cropped.
-Only works with the xv, xmga, mga, gl, gl2, quartz, corevideo and xvidix
-video output drivers.
+May not work with all video output drivers.
.br
.I NOTE:
Values between \-1 and 0 are allowed as well, but highly experimental
@@ -3288,7 +3285,7 @@ Currently only supported by \-vo directx combined with the \-vm option.
.B \-rootwin
Play movie in the root window (desktop background).
Desktop background images may cover the movie window, though.
-Only works with the x11, xv, xmga, xvidix, quartz, corevideo and directx video output drivers.
+May not work with all video output drivers.
.
.TP
.B \-saturation <\-100\-100>
@@ -3674,52 +3671,6 @@ Use hardware accelerated scaler (default: hwaccel).
.PD 1
.
.TP
-.B "vidix\ \ "
-VIDIX (VIDeo Interface for *niX) is an interface to the
-video acceleration features of different graphics cards.
-Very fast video output driver on cards that support it.
-.PD 0
-.RSs
-.IPs <subdevice>
-Explicitly choose the VIDIX subdevice driver to use.
-Available subdevice drivers are cyberblade, ivtv, mach64,
-mga_crtc2, mga, nvidia, pm2, pm3, radeon, rage128, s3, sh_veu,
-sis_vid and unichrome.
-.RE
-.PD 1
-.
-.TP
-.B xvidix (X11 only)
-X11 frontend for VIDIX
-.PD 0
-.RSs
-.IPs <subdevice>
-same as vidix
-.RE
-.PD 1
-.
-.TP
-.B "cvidix\ "
-Generic and platform independent VIDIX frontend, can even run in a
-text console with nVidia cards.
-.PD 0
-.RSs
-.IPs <subdevice>
-same as vidix
-.RE
-.PD 1
-.
-.TP
-.B winvidix (Windows only)
-Windows frontend for VIDIX
-.PD 0
-.RSs
-.IPs <subdevice>
-same as vidix
-.RE
-.PD 1
-.
-.TP
.B direct3d (Windows only) (BETA CODE!)
Video output driver that uses the Direct3D interface (useful for Vista).
.
@@ -3789,9 +3740,7 @@ Uses the kernel framebuffer to play video.
.PD 0
.RSs
.IPs <device>
-Explicitly choose the fbdev device name to use (e.g.\& /dev/\:fb0) or the
-name of the VIDIX subdevice if the device name starts with 'vidix'
-(e.g.\& 'vidixsis_vid' for the sis driver).
+Explicitly choose the fbdev device name to use (e.g.\& /dev/\:fb0).
.RE
.PD 1
.
@@ -3818,8 +3767,6 @@ Turns DGA mode on or off (default: on).
Activate the NeoMagic TV out and set it to PAL norm.
.IPs neotv_ntsc
Activate the NeoMagic TV out and set it to NTSC norm.
-.IPs vidix
-Use the VIDIX driver.
.IPs "lvo:\ \ \ "
Activate the Linux Video Overlay on top of VESA mode.
.RE
@@ -3845,8 +3792,6 @@ Usable only with \-double.
It has the same effect as the \-vsync option.
.IPs "sq\ \ \ "
Try to select a video mode with square pixels.
-.IPs vidix
-Use svga with VIDIX.
.RE
.PD 1
.
@@ -7793,18 +7738,6 @@ Connect to NAS server instance 0 on localhost using unix domain sockets.
.B DISPLAY
FIXME: Document this.
.
-.SS vidix:
-.
-.TP
-.B VIDIX_CRT
-FIXME: Document this.
-.
-.TP
-.B VIDIXIVTVALPHA
-Set this to 'disable' in order to stop the VIDIX driver from controlling
-alphablending settings.
-You can then manipulate it yourself with 'ivtvfbctl'.
-.
.SS osdep:
.
.TP
diff --git a/DOCS/tech/vidix.txt b/DOCS/tech/vidix.txt
deleted file mode 100644
index 7308dde184..0000000000
--- a/DOCS/tech/vidix.txt
+++ /dev/null
@@ -1,153 +0,0 @@
- VIDIX - VIDeo Interface for *niX
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This interface was designed and introduced as interface to userspace drivers
-to provide DGA everywhere where it's possible (unline X11).
-I hope that these drivers will be portable same as X11 (not only on *nix).
-
-What is it:
-- It's portable successor of mga_vid technology which is located in user-space.
-- Unlikely X11 it's provides DGA everywhere where it's possible.
-- Unlikely v4l it provides interface for video playback
-- Unlikely linux's drivers it uses mathematics library.
-
-Why it was developed:
-As said Vladimir Dergachev
-(http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gatos/km/km.rfc.txt):
-"0) Motivation
- v4l, v4l2 and Xv are all suffering from the same problem: attempt to fit
- existing multimedia devices into a fixed scheme."
-Well - I tried to implement something similar by motivation.
-
-How it works:
-~~~~~~~~~~~~~
-
-This interface is almost finished. But I guess it can be expanded by developer's
-requests.
-So any suggestions, reports, criticism are gladly accepted.
-
-1) APP calls vixGetVersion to check age of driver ;)
-2) APP calls vixProbe. Driver should return 0 if it can handle something in PC.
-3) APP calls vixGetCapability. Driver should return filled
- vidix_capability_t.type field at least.
-4) If above calls were succesful then APP calls vixInit function
- (Driver can have not exported this function in this case call will be
- skiped).
-5) After initializing of driver APP calls vixGetCapability again
- (In this case driver must fill every field of struct)
-6) APP calls vixQueryFourcc. Driver should answer - can it configure
- video memory for given fourcc or not.
-7) APP calls vixConfigPlayback. Driver should prepare BES on this call.
- APP pass to driver following info:
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- vidix_playback_t.fourcc - contains fourcc of movie
- vidix_playback_t.capability - currently contsinas copy of vidix_capability_t.flags
- vidix_playback_t.blend_factor- currently unused
- vidix_playback_t.src - x,y,w,h fields contain original movie size
- (in pixels) x and y often are nulls.
- vidix_playback_t.src.pitch.y These fields contain source pitches
- vidix_playback_t.src.pitch.u - for each Y,U,V plane in bytes.
- vidix_playback_t.src.pitch.v (For packed fourcc only Y value is used)
- They are hints for driver to use same destinition
- pitches as in source memory (to speed up
- memcpy process).
- Note: when source pitches are unknown or
- variable these field will be filled into 0.
- vidix_playback_t.dest - x,y,w,h fields contains destinition rectange
- on the screen in pixels.
- vidix_playback_t.num_frames - maximal # of frames which can be used by APP.
- (Currently 10).
- Driver should fill following fields:
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- vidix_playback_t.num_frames - real # of frames which will be used by driver.
- (Should be less or equal to app's num_frames).
-
- vidix_playback_t.dest.pitch.y These fields should contain alignment
- vidix_playback_t.dest.pitch.u - for each Y,U,V plane in bytes.
- vidix_playback_t.dest.pitch.v (For packed fourcc only Y value is used)
-
- vidix_playback_t.frame_size - Driver should tell to app which size of
- source frame (src.w and src.h) should
- use APP (according to pitches and offsets)
-
- vidix_playback_t.offsets - offsets from begin of BES memory for each frame
-
- vidix_playback_t.offset.y These field should contain offset
- vidix_playback_t.offset.u - for each Y,U,V plane within frame.
- vidix_playback_t.offset.v (For packed fourcc only Y value is used)
-
- vidix_playback_t.dga_addr - Address of BES memory.
-
-Also see this picture:
-
-VIDEO MEMORY layout:
- +----------- It's begin of video memory End of video memory--------------+
- | |
- v v
- [ RGB memory | YUV memory | UNDEF ]
- ^
- |
- +---- begin of BES memory
-
-BES MEMORY layout:
- +-------- begin of BES memory
- |
- v
- [ | | | | |
- ^ ^ ^ ^ ^
- | | | | + BEGIN of second frame
- | | | + BEGIN of V plane
- | | + BEGIN of U plane
- | +------- BEGIN of Y plane
- |
- +--------- BEGIN of first frame
-
-This means that in general case:
-offset of frame != offset of BES
-offset of Y plane != offset of first frame
-
-But often: vidix_playback_t.offsets[0] = vidix_playback_t.offset.y = 0;
-
-Formula: (For Y plane) copy source to:
- vidix_playback_t.dga_addr +
- vidix_playback_t.offsets[i] +
- vidix_playback_t.offset.y
-
-8) APP calls vixPlaybackOn. Driver should activate BES on this call.
-9) PLAYBACK. Driver should sleep here ;)
- But during playback can be called:
- vixFrameSelect (if this function is exported)
- Driver should prepare and activate corresponded frame.
- This function is used only for double and trilpe buffering and
- never used for single buffering playback.
- vixGet(Set)GrKeys (if this function is exported)
- This interface should be tuned but intriduced for overlapped playback
- and video effects (TYPE_FX)
- vixPlaybackGet(Set)Eq (if this function is exported)
- For color correction.
-10) APP calls vixPlaybackOff. Driver should deactivate BES on this call.
-11) If vixDestroy is defined APP calls this function before unloading driver
- from memory.
-
-
-What functions are mandatory:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-vixGetVersion
-vixProbe
-vixGetCapability
-vixQueryFourcc
-vixConfigPlayback
-vixPlaybackOn
-vixPlaybackOff
-
-All other functions are optionaly.
-
-Useful links:
-~~~~~~~~~~~~~
-Guide to DTV http://www.digitaltelevision.com/dtvbook/toc.shtml
-Fourcc http://www.webartz.com/fourcc/
-MPEG http://www.mpeg.org/MPEG/index.html
-Analog colors http://www.miranda.com/en/app_notes/TN/TN-05/TN-05.htm
-
-Please send your suggestions, reports, feedback to mplayer-dev-eng@mplayerhq.hu
-Best regards! Nick Kurshev.
diff --git a/Makefile b/Makefile
index 35f7442b18..71999afa21 100644
--- a/Makefile
+++ b/Makefile
@@ -553,38 +553,13 @@ SRCS_MPLAYER-$(V4L2) += libvo/vo_v4l2.c
SRCS_MPLAYER-$(V4L2) += libao2/ao_v4l2.c
SRCS_MPLAYER-$(VDPAU) += libvo/vo_vdpau.c
SRCS_MPLAYER-$(VESA) += libvo/gtf.c libvo/vo_vesa.c libvo/vesa_lvo.c
-SRCS_MPLAYER-$(VIDIX) += libvo/vo_cvidix.c \
- libvo/vosub_vidix.c \
- vidix/vidix.c \
-