annotate drivers/README.Ati @ 29310:c35891e664af

replace "g" asm constraint by "erm" since "g" allows 64bit immediates while the operator (cmp) using the "g"-constrained operand doesn't support 64bit immediates. Original thread: date: Tue, Jun 2, 2009 at 11:31 AM subject: [PATCH] Fix MPlayer to compile on Darwin/x86_86
author gpoirier
date Sun, 07 Jun 2009 14:42:43 +0000
parents 544914dadb52
children 0ad2da052b2e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22691
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
1 framebuffer driver for ATI Radeon chipset video boards
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
2 ======================================================
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
3
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
4 These files are replacement for linux-2.4.x-ac.y drivers.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
5 To use this driver you should have at least linux-2.4.5-ac.1
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
6 then simply replace linux/drivers/video/radeon* with files
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
7 from this directory.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
8 Note: since linux-2.4.10 this driver was moved from -ac to
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
9 Linus distribution.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
10
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
11 Alternative way:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
12 ~~~~~~~~~~~~~~~~
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
13 Simply type two commands in this directory:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
14 make
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
15 make install
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
16
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
17 Anyway you should have 'framebuffer support' compiled into linux-kernel
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
18 and at least '8bpp packed pixel support' compiled and installed as module.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
19 (But if you plan to use this module with MPlayer you also should have
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
20 16bpp, 24bpp and 32bpp pixel support compiled as modules).
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
21
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
22
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
23 Radeon video overlay
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
24 ====================
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
25
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
26 It was designed for MPlayer and currently can be used only by MPlayer.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
27 It's RGB-YUV BES for Radeon cards (althrough there is experimental
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
28 support for Rage128 / Rage128pro chips).
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
29
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
30 rage128_vid is contained within radeon_vid.c. As for a Rage128 framebuffer -
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
31 use the one from your Linux distribution.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
32
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
33 Installation:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
34 ~~~~~~~~~~~~~
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
35
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
36 Simply type two commands in this directory:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
37 make
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
38 make install
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
39
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
40 Using with MPlayer:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
41 ~~~~~~~~~~~~~~~~~~~
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
42
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
43 Currently there is only one way to use ATI's drivers:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
44 mplayer -vo vesa:lvo:/dev/radeon_vid -<your vesa's options> filename
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
45 or
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
46 mplayer -vo vesa:lvo:/dev/rage128_vid -<your vesa's options> filename
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
47
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
48 For YV12 formats you can use also:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
49 mplayer -vo mga:/dev/radeon_vid -<your mga's option> filename
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
50
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
51 but in this case you should load at least radeonfb driver from
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
52 this package.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
53
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
54 Configuring:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
55 ~~~~~~~~~~~~
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
56
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
57 You can tune some parameters with the following trick:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
58 echo "parameter=value" > /dev/radeon_vid
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
59 Example (disables adaptive deinterlacing):
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
60 echo "deinterlace=off" > /dev/radeon_vid
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
61
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
62 To know more about these parameters - try reading the /dev/radeon_vid file ;)
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
63 For example:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
64 cat /dev/radeon_vid
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
65
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
66 List of parameters:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
67 ~~~~~~~~~~~~~~~~~~~
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
68 If you have Rage128 chip:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
69 brightness=decval (-64:+63) changes brightness
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
70 saturation=decval (0:+31) changes saturation 0 == grayscale mode
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
71 else - if you have Radeon:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
72 brightness=decval (-1000:+1000) -1000 == black screen
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
73 saturation=decval (-1000:+1000) -1000 == grayscaled mode
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
74 contrast=decval (-1000:+1000) -1000 == black screen
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
75 hue=decval (-1000:+1000) -1000 == +1000 (full circle)
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
76 all other values are within this range
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
77 Note: 0 is the default value for every parameter on Radeons.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
78 WARNING: This driver violates the rule: "no float in the kernel".
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
79 So if you have problems then don't use color correction.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
80
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
81 double_buff=on/off enables/disables double buffering
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
82 deinterlace=on/off enables/disables adaptive deinterlacing
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
83 deinterlace_pattern=hexval defines deinterlacing pattern
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
84
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
85 Driver parameters:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
86 ~~~~~~~~~~~~~~~~~~
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
87
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
88 You can use some additional parameters during module loading:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
89 Example:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
90 modprobe radeon_vid swap_fourcc=1
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
91
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
92 List of driver parameters:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
93 ~~~~~~~~~~~~~~~~~~~~~~~~~~
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
94 mtrr=1/0 Configures MTRR (if available), default = 1.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
95 swap_fourcc=1/0 Performs byte swapping of passed fourcc.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
96 (It's required for compatibility with -vo mga.)
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
97
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
98 To know more about driver parameters execute:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
99 modinfo radeon_vid
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
100 or
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
101 modinfo rage128_vid
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
102
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
103 Note:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
104 ~~~~~
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
105 For command line of MPlayer:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
106 You can pass only options with can be recognized by vo_vesa driver.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
107 (Indeed radeon_vid and rage128_vid are stupid things and can only create
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
108 video overlay. Mode switching and other adjustments are performed by the
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
109 vo_vesa driver. This mean that they use the VESA BIOS as graphics server.)
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
110
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
111 Conclusion:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
112 ~~~~~~~~~~~
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
113 This stuff (radeon(rage128)_vid) currently doesn't support any standards.
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
114
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
115 Full example:
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
116 ~~~~~~~~~~~~~
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
117 modprobe radeon_vid mtrr=1
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
118 echo "deinterlace_pattern=F0055555" > /dev/radeon_vid
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
119 mplayer -vo vesa:lvo:/dev/radeon_vid -fs -zoom -bpp 32 filename
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
120
544914dadb52 Move files from radeon/ subdirectory here.
diego
parents:
diff changeset
121 Enjoy!