Mercurial > mplayer.hg
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 |
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. |