• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

common/H03-May-2022-7,0815,680

console/H03-May-2022-12,65710,683

contrib/H03-May-2022-1,4391,256

debian/H15-May-2020-5,2634,327

debug/H15-May-2020-400345

frequencies/H15-May-2020-3,9632,642

jwz/H15-May-2020-837640

libng/H15-May-2020-15,70211,923

man/H15-May-2020-3,7283,600

mk/H15-May-2020-8553

scripts/H03-May-2022-481302

structs/H15-May-2020-1,5131,337

todo/tmohan/H15-May-2020-1,6531,284

travis/H15-May-2020-4839

vbistuff/H15-May-2020-2,8912,441

x11/H03-May-2022-18,00415,262

.gitattributesH A D15-May-202052 32

.gitignoreH A D15-May-2020868 5857

.travis.ymlH A D15-May-2020583 2726

COPYINGH A D15-May-202017.6 KiB340281

ChangesH A D15-May-202060 KiB1,9551,479

MAKEDEV.v4lH A D15-May-2020543 2915

Makefile.inH A D03-May-20224.2 KiB163105

READMEH A D15-May-20207.8 KiB282187

README.bttvH A D15-May-20204.3 KiB10280

README.lircH A D15-May-20201.3 KiB3929

README.networkH A D15-May-20201.4 KiB5231

README.recordingH A D15-May-20206.3 KiB173125

README.translateH A D15-May-20201.3 KiB4328

README.xfree4H A D15-May-20203.8 KiB9973

TODOH A D15-May-2020785 2719

autogen.shH A D15-May-202072 75

config.h.inH A D15-May-20203.9 KiB157105

configureH A D03-May-2022203.6 KiB7,3116,139

configure.acH A D15-May-202010.4 KiB392346

install-shH A D15-May-20204.6 KiB239152

xawtv.specH A D15-May-2020964 4134

xawtv.spec.inH A D15-May-2020968 4134

README

1
2Documentation overview
3======================
4
5README		[this file] gives a overview over the package.
6		Build instructions, short overview over every
7		program, some maybe useful URL's.
8
9man pages	For most programs a manual page is available.
10
11README.xfree4	Some notes about XFree86 4.x and the Xvideo
12		extention.
13
14README.recording If you want record videos, have a look at this
15		file.  It also has some notes about how to process /
16		playback the files recorded by xawtv/streamer.
17
18README.network	How to stream video/audio over the net. Pointers to
19		other software for the most part.
20
21README.lirc	Some hints how make lirc work with xawtv.
22
23README.bttv	Some hints to get bttv going, also lists some
24		known problems.
25
26UPDATE_TO_v3.0	Some hints for upgrading from 2.x to 3.x (config
27		file syntax changes, ...)
28
29
30before sending me email...
31==========================
32
33IMPORTANT:  Don't send me mails with images attached unless I ask you
34to do so.  Mails with images attached will go to /dev/null unseen, you
35will never ever see an answer for these.
36
37If you have problems after upgrading, please check the ChangeLog for
38hints first.  Looking into the ChangeLog is a good idea in general,
39because it is updated for every release, the other files are updated
40less frequently and might be a bit outdated.
41
42For problem/bug reports:
43
44 * emails with questions answered in the documentation will go to
45   /dev/null.
46 * emails which don't have any useful informations (like "xawtv
47   doesn't work, please help me") will go to /dev/null.
48
49"useful information" includes at least:
50 - xawtv version
51 - kernel version
52 - which driver (+ version if you know)
53 - which hardware (although I probably can help with bttv
54   driver problems only).
55 - which TV norms are used in your country.
56 - if xawtv prints errors, include these too (cut+paste)
57 - don't forget a description of your problem :-)
58
59If you are using bttv as driver:
60 - the insmod arguments for the modules
61 - the kernel messages printed by bttv while loading.
62
63If you are _really_sure_ some information isn't important for your
64problem, you can skip it.  But if in doubt, better include it...
65
66
67For patches/changes:
68
69 * Please add a comment on what is changed and why you changed it.
70 * Please send unified diffs ("diff -u") against the latest version.
71 * Please don't reformat my source code.
72 * Complete patches have better chances to go in.  Quick+dirty hacks
73   which need cleanups and lack documentation updates are less likely
74   to go in simply because I need more time to deal with them.
75
76
77compile & install
78=================
79
80The commands
81
82	$ ./configure [ options ]
83	$ make
84
85should compile xawtv, v4l-conf, fbtv and a few other utilities.  You can
86also simply type "make" if you don't want to pass any options to
87configure.
88
89If it fails, check that all required packages are installed.  Note that
90the *-devel packages are also required to compile stuff, i.e. you need
91both libjpeg and libjpeg-devel for example.
92
93You can install the programs (as root) with:
94
95	# make install
96
97If you want build RPMs:  No problem, just run
98
99	$ rpm -ta xawtv-3.xx.tar.gz
100
101and install them the usual way with "rpm -i".
102
103
104usage
105=====
106
107bttv
108----
109
110bttv isn't bundled with xawtv any more.  You can the latest version
111from http://bytesex.org/bttv/.  If you are using kernel 2.4.x, it is
112very unlikely that you need an update, the bttv driver in 2.4.x is
113updated in regular intervals.
114
115
116v4l-conf
117--------
118
119v4l-conf is a small tool which tells video4linux about the current
120video mode (size and color depth).  This requires root privileges,
121because it is easy to crash the box by passing bogus values there.
122It requires the X-Server with DGA support up and running or a
123framebuffer device.  It is a temporary hack, this problem will be
124solved in a better way with a X11 extention.  See README.xfree4
125for details.
126
127Try "v4l-conf -h" for a short description.  It is installed suid-root,
128and xawtv runs it at startup.  Should work out-of-the-box without
129extra configuration.  Normally you shouldn't need to worry about it,
130but for debugging it is handy do run it from the shell and check the
131output.
132
133
134xawtv
135-----
136
137There is a man page now, read it.  Don't expect you can use xawtv
138without reading the documentation at least once.  You are lost if you
139don't know the keyboard shortcuts,  xawtv isn't a mouse-only program.
140
141xawtv will not work without the app-defaults.  If you want to try
142xawtv without installing it, use this...
143
144	$ XUSERFILESEARCHPATH=./%N.ad
145	$ export XUSERFILESEARCHPATH
146	$ ./xawtv
147
148...to make sure xawtv finds the application defaults (the Xawtv.ad
149file).  If v4l-conf isn't installed too, you have to run it once
150(as root) before starting xawtv.
151
152
153motv
154----
155
156That's basically xawtv with better (IMO), motif-based GUI.  Feature set
157is very close to xawtv, they share a lot of code (basically everything
158but the athena/motif GUI code).
159
160motv uses Motif 2.x features (utm, render tables).  This means you
161need openmotif, lesstif does *not* work.
162
163
164xawtv-remote
165------------
166
167remote control for xawtv.  Works with motv too.  Takes commands for
168xawtv as command line arguments.  Check 'xawtv-remote -h' for details.
169A man-page exists too.
170
171ObSecurity:  This uses X Properties, everyone who is allowed to connect
172to your X11 Display can control xawtv.
173
174There is a GUI (Qt) version at:
175http://www.ben2.ucla.edu/~wtho/xawtv-qremote/xawtv-qremote-0.01.tar.gz
176
177
178fbtv
179----
180
181TV program for the linux console.  Runs on top of a framebuffer
182device.  Check out man-page and source code for details.
183
184
185ttv
186---
187
188aa-lib based TV app which renders the TV image on any text terminal.
189
190
191scantv
192------
193
194scans for tv stations and writes a initial config file for xawtv and
195motv.
196
197
198v4lctl
199------
200
201This tool allows to control a v4l device from the command line.
202Also can capture images.  Check the man-page for details.
203
204
205streamer
206--------
207
208Command line tool for streaming capture, including audio.  Single
209frames work too.  Try the '-h' switch for a description.  A (short)
210man page is available too.
211
212
213pia
214---
215
216simple movie player, should play every movie file (mov+avi) recorded
217by streamer, xawtv and motv.
218
219
220radio
221-----
222
223You have to load the driver using "insmod bttv radio=1" for radio
224support.  The MAKEDEV script should create the required /dev/radio*
225devices.
226
227radio is a console application (curses).  up/down tune, 'q' quits,
228the function keys recall the programmed stations.  radio reads the
229kradio config file.  You can't configure anything with radio, you'll
230have to use kradio or vi for this.  The config file format is
231documented in the man page.
232
233kradio (my KDE radio app) isn't included any more, it is available as
234separate tarball now.
235
236
237videotext / teletext
238--------------------
239
240alevt is _the_ videotext application for bttv.  URL below.
241
242A http server for videotext called 'alevtd' is in the vbistuff
243subdirectory.  Recent xawtv version also come with mtt, which is a
244interactive videotext application for X11 (Motif) and console.
245
246
247webcam
248------
249
250This is a webcam tool.  Captures a image, annotates with a text +
251current time and uploads it to the webserver using ftp in an endless
252loop.  Needs the ftp utility.  Should survive dropped ftp-connections
253(webserver reboot) without problems.  It has a man-page...
254
255
256perl
257----
258
259Hint for all perl users/hackers:  There is a Video::Capture::V4l module
260available at CPAN.  It can do capture, vbi decoding, and it comes with a
261nifty tool to do a channel scan (decodes the station ID from vbi).
262
263
264resources
265=========
266
267http://bytesex.org/xawtv/				- xawtv	[me]
268http://bytesex.org/bttv/				- bttv	[me]
269http://lecker.essen.de/~froese/				- alevt	[Edgar]
270http://bttv-v4l2.sourceforge.net/			- bttv2 [Justin]
271http://roadrunner.swansea.uk.linux.org/v4l.shtml	- v4l	[Alan]
272http://www.thedirks.org/v4l2/				- v4l2	[Bill]
273http://www.tk.uni-linz.ac.at/~simon/private/i2c/	- i2c	[Simon]
274http://www-mice.cs.ucl.ac.uk/multimedia/software/vic/	- vic
275
276Have fun!
277
278  Gerd
279
280--
281Gerd Knorr <kraxel@bytesex.org>
282

README.bttv

1
2Some hints to get the bttv driver up and running
3================================================
4
5general hints
6-------------
7
8(1) Make sure if your board is recognized correctly. The bttv driver
9    should print a line like this one (Use the 'dmesg' command to see
10    the kernel messages):
11
12	bttv0: model: BT848(Hauppauge old)
13
14    If your card isn't autodetected correctly, you have to specify the
15    board type as insmod argument (card=n).  You might also have to
16    specify tuner=x and pll=x.
17    Check the driver documentation for details and a list of supported
18    cards.  The standard kernel has the bttv documentation in the
19    Documentation/video4linux/bttv directory.
20
21(2) If you are using a vanilla 2.2.x kernel kernel, it is worth trying
22    to upgrade as the very first step.  Either download and build bttv
23    0.7.x for your 2.2.x kernel, or upgrade to 2.4.x which includes
24    the 0.7.x driver already.
25    bttv 0.7.x knows a lot more cards than the 2.2.x kernel driver, the
26    autodetect is much improved and a number of known problems is
27    fixed.
28
29(3) If you have problems with xawtv, you should open a xterm (or
30    whatever your favorite terminal app is) and start xawtv from
31    there. This way you'll see any error messages xawtv might print on
32    stderr which should help to find the source of the problems.
33
34(4) If something broke after an update, have a look at the changelog.
35    It might be mentioned there.
36
37
38common problems
39---------------
40
41?: I have a black screen in overlay mode
42!: The driver was not initialized correctly, v4l-conf (or the
43   X-Server) has to configure the bttv driver with the current video
44   mode and framebuffer address first.  Check if v4l-conf is installed
45   suid root, it needs root priviliges to do this.  You can also start
46   v4l-conf from a terminal and check the messages it prints.
47
48?: I have a blue screen.
49!: Good, the overlay is working.  A blue screen is what you get if the
50   grabber chip has no input signal.  You are probably using the wrong
51   video source, pick another.  Also happens sometimes if the tuner
52   type is wrong, check the driver configuration.
53
54?: I have a noisy screen and/or can't tune (some) stations.
55!: Most likely the tuner types is wrong, check the driver configuration.
56   It's no problem to do trial-and-error here.
57
58?: The video is outside the window and spread in thin lines over the
59   screen.
60!: xawtv / v4l-conf didn't autodetect the color depth for your screen
61   correctly.  You can fix that with xawtv's -bpp switch.
62
63?: Only the left part of the window is updated, the right one is updated
64   never / sometimes / only if the window is small.
65!: Your graphics card and/or motherboard can't deal with the data rate
66   going over the PCI bus, leading to canceled PCI transfers.  Reduce
67   the color depth, with 16 bpp instead of 32 bpp should work much
68   better.
69
70?: I get no sound.
71!: (a) If your TV-Card is connected to the sound card's line in with a
72       short cable: Make sure the sound driver is loaded, sound cards
73       are usually quiet until initialized by the driver.  Also check
74       the mixer settings.
75   (b) Double-check the card type is correct (see above).
76   (c) If there is still no go, have a look at the Sound-FAQ in the
77       bttv documentation.
78
79
80hardware specific problems
81--------------------------
82
83 * bttv + DRI seem not to play nicely together with some cards (ATI
84   Rage128).  The linux box just freezes.  Don't know why.  Suspect
85   it's either a hardware problem or a bug somewhere in DRI (either
86   kernel or xfree86).  The only workaround I know of is to turn off
87   DRI.
88
89 * Some motherboard chipsets have PCI bugs, especially with PCI-PCI
90   transfers which are used for video overlay.  The bt848/878 chips
91   have some bug compatibility options, which can be enabled to
92   workaround these problems.  Have a look at the triton1 and vsfx
93   insmod options.  For some known-buggy chipsets these are enabled
94   automagically.
95
96 * Sometimes IRQ sharing causes trouble.  It works most of the time,
97   but in combination with some hardware and/or drivers it doesn't work.
98   Especially graphic cards are known to cause trouble due to the lack
99   of a IRQ handler.  Try disabling the VGA IRQ in the BIOS.  Try moving
100   cards to another PCI slot.  Your motherboard manual should tell you
101   which PCI slots share IRQ's.
102

README.lirc

1
2Starting with version 3.71 xawtv + friends do not need a ~/.lircrc
3config file any more.  There is a new config mechanism to map input
4events (lirc, joystick, keyboard) into xawtv commands which is called
5"eventmap".  Check the xawtvrc manpage ([eventmap] section) for
6details.  There also is an default configuration now, so lirc support
7should simply work out-of-the-box.
8
9If there is no ~/.lircrc config file present, xawtv will generate
10lirc-key-* events for every key pressed on the IR remote.
11
12If ~/.lircrc is present, xawtv will still use it.  As strings for
13"config" are the usual xawtv commands (the traditional way to
14configure lirc support, see "man xawtv-remote") and the keyword
15"eventmap" allowed.  Specifying "eventmap" will make xawtv simply
16generate lirc-key-* events.
17
18The main difference between using no config file at all and one with
19"config = eventmap" is that the later allows you to filter the
20keypresses depending on the current mode.  The simpliest way to make
21xawtv use the default eventmap configuration, but respond to key
22presses in xawtv mode only looks like this:
23
24begin xawtv
25	begin
26		prog = xawtv
27		config = eventmap
28	end
29end xawtv
30
31You probably need this if you are going to control multiple
32applications with your IR remote, check out the lirc documentation for
33details.
34
35Have fun,
36
37  Gerd
38
39

README.network

1
2How send audio/video data over the net?
3=======================================
4
5
6Just some pointers where to look.  I haven't tried everything myself.
7
8
9still images (webcam)
10---------------------
11
12You can use the xawtv's webcam utility (in the webcam subdirectory) to
13capture single frames and upload them to a (web-)server using ftp.
14
15There are plenty of other tools for that purpose, http://freshmeat.net
16has a list.
17
18
19both audio and video
20--------------------
21
22You can use video conferencing tools, see http://www.openh323.org.  That
23should even interoperate with M$ Netmeeting.  I've heard there is a
24project named "gnomemeeting" ...
25
26You might want to have a look at videolan (http://www.videolan.org).
27
28Using the mbone tools (i.e. vic for video, vat or rat for audio) works
29too,  see http://www-mice.cs.ucl.ac.uk/multimedia/software/
30Drawback is that these two work independent of each other, that's why
31there is no way to make audio and video sync properly.
32
33
34video only
35----------
36
37xawtv works with a remote display.  Eats plenty of network bandwith as
38the X11 protocol is not optimized for streaming video.  Can be used to
39max-out ATM cards.  Don't even think about it with something slower
40than Ethernet.
41
42
43audio only
44----------
45
46Use some network sound daemon, esound for example:
47sox -w -c 2 -r 44100 -t ossdsp /dev/dsp -t raw - | esdcat -r 44100
48
49Check out http://freshmeat.net, IIRC there are some tools to multicast
50audio data.
51
52

README.recording

1
2Recording movies
3================
4
5
6Audio
7=====
8
9If you don't get sound when recording avi movies, double-check the
10mixer settings first.  The record source defaults to micro on many
11linux sound drivers, you probably have to change this to line-in with
12one of the available mixer tools.  Some sound cards have a separate
13input gain control which needs to be set to some approximate value.
14Also keep in mind that ALSA has all mixer controls at 0 (i.e. muted)
15by default.
16
17/me uses kmix (because it doesn't need much space on the screen).
18The inputs where the sound cards record from have a red background
19color.  With the right mouse botton you'll get a menu where you can
20change the settings.  FreeBSD has a aumix version with X11 GUI in
21the ports collection which is very nice too (aumix-gtk in debian).
22
23If you want to see something while playing with the mixer settings you
24can use the record utility (ncurses terminal application, in the tools
25subdirectory), it has a nice input level meter.  motv has one build-in
26too (Menu -> Tools -> Record level monitor).
27
28Note on stereo:  xanim seems not be able to playback stereo sound
29correctly.
30
31
32Video
33=====
34
35Note that video recording does not work if the Xvideo extension is in
36use.  For recording stuff with xawtv you might have to start the
37application with the -noxv switch to disable Xvideo.
38
39xawtv/streamer handle video recording with multiple threads:
40
41 - one thread records video (+ displays video on screen).
42 - one (or more) thread(s) does color space conversion / compression.
43 - one thread records audio (unless you do video only).
44 - one thread writes the movie data to the disk.
45 - one thread calls sync frequently to make the writeouts more
46   smoothly (more smaller chunks instead of few very big ones).
47
48
49There are buffer fifo's between the recording threads and the
50compression / disk writer to avoid recording overruns due to a
51temporarily busy hard disk or CPU load peaks.
52
53If you see messages about a full fifo or about v4l(2) waiting for
54free buffers it is very likely that your hard disk is too slow,
55especially if you try to record uncompressed video.
56
57bttv 0.7.x allows you to use more than just two video buffers, you can
58configure the number at insmod time (gbuffers option).  Using more
59buffers (say 4-8 instead of just two which is the default) should help
60to reduce the number of dropped frames.
61
62If you want to record quicktime movies install libquicktime
63(http://libquicktime.sf.net), then (re-)build xawtv.  The configure
64script should find the library automatically.
65
66
67Known problems (and workarounds)
68================================
69
70The timestamping for the video frames isn't very exact as it does
71_not_ come from the v4l(1) driver but is just a gettimeofday() call
72after receiving the video frame.  API design bug, needs fixing.
73With v4l2 xawtv uses the frame timestamps provided by the driver.
74
75
76Troubleshooting syncronisation problems
77=======================================
78
79A/V sync should simply work if your box can keep up with the data
80rate.  xawtv/streamer displays some debug info (time shift) on stderr.
81"a/r" is the difference between audio and real time, "a/v" is the
82difference between audio and video.
83
84Ff you see "fifo full" error messages your box likely can't keep up
85with the data rate.  Possible fixes: Try using more buffers.  Try
86recording compressed video.  Try tuning the hard disk using hdparm.
87Buy a faster hard disk.  Buy a faster computer.
88
89If xawtv/streamer says "queueing frame twice" it has put a the same
90video frame twice into the output queue to avoid video running out of
91sync.  If this happens a lot it indicates that either your computer
92can't keep up with compressing the frames or that your v4l device
93can't capture frames with the frame rate you are asking for.  A single
94message now and then is harmless.
95
96
97MPEG Encoding
98=============
99
100Have a look at the mjpegtools (http://mjpeg.sourceforge.net).  xawtv
101can write the yuv4mpeg format accepted by mpeg2enc directly.  mp2enc
102accepts xawtv's wav files too.  So you can use xawtv/streamer,
103mpeg2enc, mp3enc and mplex to build mpeg movies.
104
105If you don't have enough disk space to store uncompressed yuv video
106you can also record compressed quicktime/avi files and then recode
107stuff using lav2yuv + mpeg2enc in a pipe.  The streamer help text
108(streamer -h) has a few examples.
109
110
111Large Files
112===========
113
114xawtv has LFS support, i.e. it can write files >2GB without problems.
115The AVI format has a 2GB limit.  There is a extension to overcome this
116[http://www.matrox.com/videoweb/news/press/papers/odmlff2.pdf], but not
117all applications can deal with it.  The quicktime format usually works
118better as there is the quicktime4linux library everybody uses to
119read/write *.mov files, thus there are less compatibility issues.
120
121
122Read, Convert, Edit + Playback stuff
123====================================
124
125Recent xawtv versions come with the "pia" utility.  That is a simple
126player which should be able to playback all AVI and QuickTime movies
127recorded by xawtv, motv and streamer.
128
129avi format
130
131 * xanim plays everything without problems.
132 * QuickTime[tm] (MacOS) plays the uncompressed formats just
133   fine and complains about mjpeg/jpeg.
134 * Windows Media Player plays the uncompressed formats fine.
135   mjpeg/jpeg work too if a codec is installed (/me has a very
136   old one from MainConcept).
137 * avifile can't deal with the uncompressed video correctly
138   [fixed in recent versions].
139   mjpeg/jpeg doesn't work either for me as it seems not to
140   recognise the MainConcept codec, although I've copied
141   stuff to /usr/lib/win32.  Maybe it works with another
142   one.
143 * MainActor (linux) can read the mjpeg but not the jpeg
144   compressed files.
145
146
147quicktime format
148
149 * xmovie + broadcast2000 can read the files without problems
150   (not exactly surprising as they use the quicktime4linux
151   library too ...).
152 * QuickTime[tm] (MacOS/Windows) plays them without problems.
153 * xanim says it can't find any data in the mov file.  It used
154   to work with older versions of the quicktime4linux library
155   (before 64bit support was added), so I suspect xanim simply
156   can't deal with 64bit mov files.
157
158
159raw data
160
161 * ImageMagick can deal with this, you have to specify the image
162   format + size on the command line like this:
163	display -size 320x240 rgb:file.raw
164   It can handle multiple frames in one big file too.
165
166
167Have fun,
168
169  Gerd
170
171--
172Gerd Knorr <kraxel@bytesex.org>
173

README.translate

1
2translate motv app
3==================
4
5The new motif-gui version has i18n support, it is handled by using
6different application default files for the different languages.  All
7the strings are in the MoTV-<lang> files.  MoTV-default is the english
8version.  MoTV-fixed has the other (language-independant) app-default
9settings.  The Makefile merges these into MoTV.<lang>.ad files.
10
11To add another language you just need to create a new MoTV-<lang>
12file, edit x11/Subdir.mk and add the language to the LANGUAGES= line.
13You can test the translations without "make install" this way (bash):
14
15once at start:
16
17$ cd x11
18$ export XUSERFILESEARCHPATH="./%N.%l.ad:./%N.ad"
19$ export LC_ALL=<lang>
20
21every time after editing MoTV-<lang>:
22
23$ make
24$ ./motv
25
26
27translate documentation
28=======================
29
30The applications come with a manual page as documentation.  Most manual
31pages are in the man/ subdirectory.  Translated manual pages are very
32welcome, I can easily add them to the distribution tarball.  It is a
33good idea to add your email address to the translated page, so people
34can reach you directly with spell fixes and stuff like that.  I can't
35proof-read pages in foreign languages ...
36
37
38other stuff
39===========
40
41Currently I have no plans to localize xawtv and the command line tools.
42
43

README.xfree4

1
2XFree86 4.x tips & tricks
3=========================
4
5
6DGA problems
7------------
8
9Release 4.0 has DGA turned off by default.  This is true for the first
10release only, with current versions this shouldn't be a problem unless
11you have some old config file still in use.
12
13You'll have turn on DGA in XF86Config, otherwise v4l-conf will not
14work correctly (Modules section, extmod options).  It should work for
15most cards this way, althrouth some drivers don't handle DGA correctly
16in 4.0 (that's why it is off...)
17
18If DGA doesn't work for you, you have to configure bttv by hand (or
19use Xvideo, see below).  v4l-conf has the "-a" switch for this.
20
21
22using Xvideo
23------------
24
25XFree86 4.0 comes with a new X11 extention for video support.  The
26X-Server will handle the grabber board then, not xawtv.  This has the
27advantage that the X-Server knows about the video.  Window moves can
28be handled without redraw problems.  The refresh triggered by xawtv
29to fix it isn't required any more.  It is possible to use the video
30scalers of modern graphics boards (see below).
31
32To use Xvideo you have to load the video4linux module into the X-Server.
33Just adding 'Load "v4l"' to the Modules section of XF86Config will do.
34You have to make sure xawtv is compiled on a box with with XFree86 4.0
35installed.  xawtv needs the new client libraries for Xvideo support.
36
37
38using hardware scaling
39----------------------
40
41Starting with XFree86 4.0.1 the Xvideo extention supports hardware-scaled
42video, i.e. the video isn't written directly to the visible area of the
43video memory.  Instead the bt848 hardware writes yuv data to offscreen
44memory.  The graphic card's video scaler does color space conversion and
45video scaling.  This way fullscreen video works in 1024x768 (and greater)
46without a black border because we are not limited to the maximum size
47supported by the bt848 hardware any more.
48
49As this is very new stuff not all drivers support video scaling yet.
50It basically requires the overlay functions available to the
51applications via xvideo port to be exported using a X-Server internal
52interface too, so other X-Server modules are able to use them.
53
54The mga driver was the first one which supported this (matrox
55G200+G400).  XFree86 4.1 adds a few more ones, a quick grep of the
56source tree returns this list: ct, i810, mga, nv, savage, smi,
57trident.  For ati you might want to have a look at
58http://www.linuxvideo.org/gatos/.
59
60Detailed Status:
61 * mga: works, I use that myself.  On multihead cards the second head
62   is not accelerated, that means hw scaling via Xvideo works on the
63   first head only.
64 * i810: works, according to the drivers author which asked me some
65   questions about it and finally got it going.
66 * tdfx: current CVS version works, next release (4.1.1) will have it.
67 * nvidia: free nv driver not working correctly (4.1).  nvidia's
68   binary-only works starting with release 1512.
69 * others: don't know, reports welcome.
70
71You also need a bttv version newer than 0.7.16 (the 2.2.x kernel version
72is /way/ to old, kernel 2.4.x is fine).  If both bttv driver and xfree86
73gfx driver support it, xfree86's video4linux driver will use hardware
74scaling automagically.
75
76
77drawbacks
78---------
79
80capturing images/video doesn't work if xawtv runs using the Xvideo
81extention.  With the '-noxv' switch Xvideo can be disabled.
82
83
84multiheaded setups
85------------------
86
87"regular" multihead with two screens works just fine.  The one only thing
88you have to take care off is that you can't use the -display option to
89start xawtv on the second head if you are *not* using Xvideo.  Use
90"DISPLAY=:0.1 xawtv" instead.  Otherwise v4l-conf will use the wrong
91screen to configure the driver.
92
93Xvideo + xinerama works just fine starting with XFree86 4.1, older
94versions show video on the first physical screen only (the one listed
95first in your ServerLayout section).  Without Xvideo you'll also see
96the video on the first head only.
97
98  Gerd
99