annotate DOCS/tech/directfb.txt @ 11511:6e580b901205

original config: > ao_data.bps=channels*rate; > if(format != AFMT_U8 && format != AFMT_S8) > ao_data.bps*=2; fallback config, before patch: > ao_data.bps=ao_data.channels * ao_data.samplerate; since we forced the format to S16_LE in fallback, we should double bps to be consistent with an original config of the same settings.
author joey
date Sun, 23 Nov 2003 17:04:19 +0000
parents 9c64428179b6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8447
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
1 Written by Ville Syrjälä <syrjala@sci.fi>, original can be found at
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
2 http://www.sci.fi/~syrjala/directfb/readme.txt
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
3 For more information see also http://www.directfb.org
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
4 --------------------------------------------------------------------------------
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
5 DirectFB includes TV out support for Matrox G400 cards.
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
6 If you've used the Windows drivers you most likely know about
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
7 DVDMax... DirectFB provides the same functionality. Now you can get
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
8 excellent quality video playback on your TV.
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
9
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
10 DirectFB TV output features:
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
11 - interlaced picture
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
12 - 720x576 50Hz PAL and 720x486 60Hz NTSC
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
13 - RGB15, RGB16, RGB32, ARGB, YUY2, UYVY, I420, YV12 pixel formats
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
14 - hardware blended sub-picure in I420 and YV12 modes
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
15 - brightness, contrast, hue, saturation adjustments
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
16 - no more tweaking sessions with fbset to get the image centered :)
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
17
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
18 I recommend you use DirectFB 0.9.15 or later since some vsync problems
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
19 were fixed in that release.
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
20
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
21 Linux kernel setup:
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
22
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
23 1. Patch your kernel with matroxfb-vsync-c2vline-irq-patch-2.4.19.bz2
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
24 It's distributed with DirectFB sources in the patches subdirectory.
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
25 This patch enables IRQ based vblank waiting. Make sure your card has
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
26 an IRQ assigned to it. You may have an option in the BIOS setup for
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
27 this.
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
28
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
29 2. Add "#define FBIO_WAITFORVSYNC _IOW('F', 0x20, int)" to
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
30 /usr/include/linux/fb.h
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
31
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
32 3. Build and install the kernel. Set the following options:
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
33 CONFIG_I2C
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
34 CONFIG_I2C_ALGOBIT
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
35 CONFIG_I2C_CHARDEV
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
36 CONFIG_I2C_PROC
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
37 CONFIG_FB_MATROX
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
38 CONFIG_FB_MATROX_G100
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
39 CONFIG_FB_MATROX_I2C
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
40 DirectFB doesn't require kernel support for the second head. In fact it may
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
41 interfere with the TV out.
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
42
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
43 4. Make sure you have the proper /dev/i2c-N device file in place.
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
44 After loading i2c-matroxfb module you should see MAVEN in
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
45 /proc/bus/i2c. You must have the corresponding device file. To
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
46 create these files use:
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
47 'mknod /dev/i2c-N c 89 N' where N is 0,1,2...
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
48 The number might change depending on the order you load i2c modules
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
49 so you may want to create some extra files.
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
50
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
51 DirectFB setup:
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
52
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
53 1. Build and install DirectFB
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
54
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
55 2. Use the following DirectFB options:
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
56 matrox-crtc2
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
57 matrox-tv-standard=pal or ntsc
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
58 You can store them in /etc/directfbrc or ~/.directfbrc so that the will be
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
59 used every time.
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
60
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
61 That's pretty much it. Well you do need some applications. mplayer has
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
62 a special video out plugin 'dfbmga' for this stuff. You need a recent
9c64428179b6 added local copy of Ville Syrj¸«£l¸«£'s directfb for matrox howto
attila
parents:
diff changeset
63 version of mplayer to use it.