Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 1 | The Zoran driver |
| 2 | ================ |
| 3 | |
| 4 | unified zoran driver (zr360x7, zoran, buz, dc10(+), dc30(+), lml33) |
| 5 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 | website: http://mjpeg.sourceforge.net/driver-zoran/ |
| 7 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 9 | Frequently Asked Questions |
| 10 | -------------------------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 11 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 12 | What cards are supported |
| 13 | ------------------------ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 14 | |
| 15 | Iomega Buz, Linux Media Labs LML33/LML33R10, Pinnacle/Miro |
| 16 | DC10/DC10+/DC30/DC30+ and related boards (available under various names). |
| 17 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 18 | Iomega Buz |
| 19 | ~~~~~~~~~~ |
| 20 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 21 | * Zoran zr36067 PCI controller |
| 22 | * Zoran zr36060 MJPEG codec |
| 23 | * Philips saa7111 TV decoder |
| 24 | * Philips saa7185 TV encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 25 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 26 | Drivers to use: videodev, i2c-core, i2c-algo-bit, |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 27 | videocodec, saa7111, saa7185, zr36060, zr36067 |
| 28 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | Inputs/outputs: Composite and S-video |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 30 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 32 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 | Card number: 7 |
| 34 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 35 | AverMedia 6 Eyes AVS6EYES |
| 36 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 37 | |
Martin Samuelsson | fbe60da | 2006-04-27 10:17:00 -0300 | [diff] [blame] | 38 | * Zoran zr36067 PCI controller |
| 39 | * Zoran zr36060 MJPEG codec |
| 40 | * Samsung ks0127 TV decoder |
| 41 | * Conexant bt866 TV encoder |
Martin Samuelsson | fbe60da | 2006-04-27 10:17:00 -0300 | [diff] [blame] | 42 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 43 | Drivers to use: videodev, i2c-core, i2c-algo-bit, |
| 44 | videocodec, ks0127, bt866, zr36060, zr36067 |
| 45 | |
| 46 | Inputs/outputs: |
| 47 | Six physical inputs. 1-6 are composite, |
| 48 | 1-2, 3-4, 5-6 doubles as S-video, |
| 49 | 1-3 triples as component. |
| 50 | One composite output. |
| 51 | |
| 52 | Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) |
| 53 | |
| 54 | Card number: 8 |
| 55 | |
| 56 | .. note:: |
| 57 | |
| 58 | Not autodetected, card=8 is necessary. |
| 59 | |
| 60 | Linux Media Labs LML33 |
| 61 | ~~~~~~~~~~~~~~~~~~~~~~ |
| 62 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 63 | * Zoran zr36067 PCI controller |
| 64 | * Zoran zr36060 MJPEG codec |
| 65 | * Brooktree bt819 TV decoder |
| 66 | * Brooktree bt856 TV encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 67 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 68 | Drivers to use: videodev, i2c-core, i2c-algo-bit, |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 69 | videocodec, bt819, bt856, zr36060, zr36067 |
| 70 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 71 | Inputs/outputs: Composite and S-video |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 72 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 73 | Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 74 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 75 | Card number: 5 |
| 76 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 77 | Linux Media Labs LML33R10 |
| 78 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 79 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 80 | * Zoran zr36067 PCI controller |
| 81 | * Zoran zr36060 MJPEG codec |
| 82 | * Philips saa7114 TV decoder |
| 83 | * Analog Devices adv7170 TV encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 84 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 85 | Drivers to use: videodev, i2c-core, i2c-algo-bit, |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 86 | videocodec, saa7114, adv7170, zr36060, zr36067 |
| 87 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 88 | Inputs/outputs: Composite and S-video |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 89 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 90 | Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 91 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 92 | Card number: 6 |
| 93 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 94 | Pinnacle/Miro DC10(new) |
| 95 | ~~~~~~~~~~~~~~~~~~~~~~~ |
| 96 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 97 | * Zoran zr36057 PCI controller |
| 98 | * Zoran zr36060 MJPEG codec |
| 99 | * Philips saa7110a TV decoder |
| 100 | * Analog Devices adv7176 TV encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 101 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 102 | Drivers to use: videodev, i2c-core, i2c-algo-bit, |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 103 | videocodec, saa7110, adv7175, zr36060, zr36067 |
| 104 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 105 | Inputs/outputs: Composite, S-video and Internal |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 106 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 107 | Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 108 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 109 | Card number: 1 |
| 110 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 111 | Pinnacle/Miro DC10+ |
| 112 | ~~~~~~~~~~~~~~~~~~~ |
| 113 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 114 | * Zoran zr36067 PCI controller |
| 115 | * Zoran zr36060 MJPEG codec |
| 116 | * Philips saa7110a TV decoder |
| 117 | * Analog Devices adv7176 TV encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 118 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 119 | Drivers to use: videodev, i2c-core, i2c-algo-bit, |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 120 | videocodec, sa7110, adv7175, zr36060, zr36067 |
| 121 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 122 | Inputs/outputs: Composite, S-video and Internal |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 123 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 124 | Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 125 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 126 | Card number: 2 |
| 127 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 128 | Pinnacle/Miro DC10(old) |
| 129 | ~~~~~~~~~~~~~~~~~~~~~~~ |
| 130 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 131 | * Zoran zr36057 PCI controller |
| 132 | * Zoran zr36050 MJPEG codec |
| 133 | * Zoran zr36016 Video Front End or Fuji md0211 Video Front End (clone?) |
| 134 | * Micronas vpx3220a TV decoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 135 | * mse3000 TV encoder or Analog Devices adv7176 TV encoder |
| 136 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 137 | Drivers to use: videodev, i2c-core, i2c-algo-bit, |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 138 | videocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr36067 |
| 139 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 140 | Inputs/outputs: Composite, S-video and Internal |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 141 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 142 | Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 143 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 144 | Card number: 0 |
| 145 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 146 | Pinnacle/Miro DC30 |
| 147 | ~~~~~~~~~~~~~~~~~~ |
| 148 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 149 | * Zoran zr36057 PCI controller |
| 150 | * Zoran zr36050 MJPEG codec |
| 151 | * Zoran zr36016 Video Front End |
| 152 | * Micronas vpx3225d/vpx3220a/vpx3216b TV decoder |
| 153 | * Analog Devices adv7176 TV encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 154 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 155 | Drivers to use: videodev, i2c-core, i2c-algo-bit, |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 156 | videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr36067 |
| 157 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 158 | Inputs/outputs: Composite, S-video and Internal |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 159 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 160 | Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 161 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 162 | Card number: 3 |
| 163 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 164 | Pinnacle/Miro DC30+ |
| 165 | ~~~~~~~~~~~~~~~~~~~ |
| 166 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 167 | * Zoran zr36067 PCI controller |
| 168 | * Zoran zr36050 MJPEG codec |
| 169 | * Zoran zr36016 Video Front End |
| 170 | * Micronas vpx3225d/vpx3220a/vpx3216b TV decoder |
| 171 | * Analog Devices adv7176 TV encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 172 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 173 | Drivers to use: videodev, i2c-core, i2c-algo-bit, |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 174 | videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36015, zr36067 |
| 175 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 176 | Inputs/outputs: Composite, S-video and Internal |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 177 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 178 | Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 179 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 180 | Card number: 4 |
| 181 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 182 | .. note:: |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 183 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 184 | #) No module for the mse3000 is available yet |
| 185 | #) No module for the vpx3224 is available yet |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 186 | |
| 187 | 1.1 What the TV decoder can do an what not |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 188 | ------------------------------------------ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 189 | |
| 190 | The best know TV standards are NTSC/PAL/SECAM. but for decoding a frame that |
| 191 | information is not enough. There are several formats of the TV standards. |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 192 | And not every TV decoder is able to handle every format. Also the every |
| 193 | combination is supported by the driver. There are currently 11 different |
| 194 | tv broadcast formats all aver the world. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 195 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 196 | The CCIR defines parameters needed for broadcasting the signal. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 197 | The CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,... |
Paolo Ornati | 670e9f3 | 2006-10-03 22:57:56 +0200 | [diff] [blame] | 198 | The CCIR says not much about the colorsystem used !!! |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 199 | And talking about a colorsystem says not to much about how it is broadcast. |
| 200 | |
| 201 | The CCIR standards A,E,F are not used any more. |
| 202 | |
| 203 | When you speak about NTSC, you usually mean the standard: CCIR - M using |
| 204 | the NTSC colorsystem which is used in the USA, Japan, Mexico, Canada |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 205 | and a few others. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 206 | |
| 207 | When you talk about PAL, you usually mean: CCIR - B/G using the PAL |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 208 | colorsystem which is used in many Countries. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 209 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 210 | When you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 211 | which is used in France, and a few others. |
| 212 | |
| 213 | There the other version of SECAM, CCIR - D/K is used in Bulgaria, China, |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 214 | Slovakai, Hungary, Korea (Rep.), Poland, Rumania and a others. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 215 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 216 | The CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 217 | Egypt, Libya, Sri Lanka, Syrain Arab. Rep. |
| 218 | |
| 219 | The CCIR - I uses the PAL colorsystem, and is used in Great Britain, Hong Kong, |
| 220 | Ireland, Nigeria, South Africa. |
| 221 | |
| 222 | The CCIR - N uses the PAL colorsystem and PAL frame size but the NTSC framerate, |
| 223 | and is used in Argentinia, Uruguay, an a few others |
| 224 | |
| 225 | We do not talk about how the audio is broadcast ! |
| 226 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 227 | A rather good sites about the TV standards are: |
Justin P. Mattock | 0ea6e61 | 2010-07-23 20:51:24 -0700 | [diff] [blame] | 228 | http://www.sony.jp/support/ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 229 | http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/ |
| 230 | and http://www.cabl.com/restaurant/channel.html |
| 231 | |
| 232 | Other weird things around: NTSC 4.43 is a modificated NTSC, which is mainly |
| 233 | used in PAL VCR's that are able to play back NTSC. PAL 60 seems to be the same |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 234 | as NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would |
| 235 | be the same as NTSC 4.43. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 236 | NTSC Combs seems to be a decoder mode where the decoder uses a comb filter |
| 237 | to split coma and luma instead of a Delay line. |
| 238 | |
| 239 | But I did not defiantly find out what NTSC Comb is. |
| 240 | |
| 241 | Philips saa7111 TV decoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 242 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 243 | |
| 244 | - was introduced in 1997, is used in the BUZ and |
| 245 | - can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 246 | |
| 247 | Philips saa7110a TV decoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 248 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 249 | |
| 250 | - was introduced in 1995, is used in the Pinnacle/Miro DC10(new), DC10+ and |
| 251 | - can handle: PAL B/G, NTSC M and SECAM |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 252 | |
| 253 | Philips saa7114 TV decoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 254 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 255 | |
| 256 | - was introduced in 2000, is used in the LML33R10 and |
| 257 | - can handle: PAL B/G/D/H/I/N, PAL N, PAL M, NTSC M, NTSC 4.43 and SECAM |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 258 | |
| 259 | Brooktree bt819 TV decoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 260 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 261 | |
| 262 | - was introduced in 1996, and is used in the LML33 and |
| 263 | - can handle: PAL B/D/G/H/I, NTSC M |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 264 | |
| 265 | Micronas vpx3220a TV decoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 266 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 267 | |
| 268 | - was introduced in 1996, is used in the DC30 and DC30+ and |
| 269 | - can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC 44, PAL 60, SECAM,NTSC Comb |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 270 | |
Martin Samuelsson | fbe60da | 2006-04-27 10:17:00 -0300 | [diff] [blame] | 271 | Samsung ks0127 TV decoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 272 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
Martin Samuelsson | fbe60da | 2006-04-27 10:17:00 -0300 | [diff] [blame] | 273 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 274 | - is used in the AVS6EYES card and |
| 275 | - can handle: NTSC-M/N/44, PAL-M/N/B/G/H/I/D/K/L and SECAM |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 276 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 277 | |
| 278 | What the TV encoder can do an what not |
| 279 | -------------------------------------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 280 | |
| 281 | The TV encoder are doing the "same" as the decoder, but in the oder direction. |
| 282 | You feed them digital data and the generate a Composite or SVHS signal. |
| 283 | For information about the colorsystems and TV norm take a look in the |
| 284 | TV decoder section. |
| 285 | |
| 286 | Philips saa7185 TV Encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 287 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 288 | |
| 289 | - was introduced in 1996, is used in the BUZ |
| 290 | - can generate: PAL B/G, NTSC M |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 291 | |
| 292 | Brooktree bt856 TV Encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 293 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 294 | |
| 295 | - was introduced in 1994, is used in the LML33 |
| 296 | - can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL-N (Argentina) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 297 | |
| 298 | Analog Devices adv7170 TV Encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 299 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 300 | |
| 301 | - was introduced in 2000, is used in the LML300R10 |
| 302 | - can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL 60 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 303 | |
| 304 | Analog Devices adv7175 TV Encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 305 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 306 | |
| 307 | - was introduced in 1996, is used in the DC10, DC10+, DC10 old, DC30, DC30+ |
| 308 | - can generate: PAL B/D/G/H/I/N, PAL M, NTSC M |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 309 | |
| 310 | ITT mse3000 TV encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 311 | ~~~~~~~~~~~~~~~~~~~~~~ |
| 312 | |
| 313 | - was introduced in 1991, is used in the DC10 old |
| 314 | - can generate: PAL , NTSC , SECAM |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 315 | |
Martin Samuelsson | fbe60da | 2006-04-27 10:17:00 -0300 | [diff] [blame] | 316 | Conexant bt866 TV encoder |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 317 | ~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 318 | |
| 319 | - is used in AVS6EYES, and |
| 320 | - can generate: NTSC/PAL, PALÂM, PALÂN |
Martin Samuelsson | fbe60da | 2006-04-27 10:17:00 -0300 | [diff] [blame] | 321 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 322 | The adv717x, should be able to produce PAL N. But you find nothing PAL N |
Tobias Klauser | d533f67 | 2005-09-10 00:26:46 -0700 | [diff] [blame] | 323 | specific in the registers. Seem that you have to reuse a other standard |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 324 | to generate PAL N, maybe it would work if you use the PAL M settings. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 325 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 326 | How do I get this damn thing to work |
| 327 | ------------------------------------ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 328 | |
| 329 | Load zr36067.o. If it can't autodetect your card, use the card=X insmod |
| 330 | option with X being the card number as given in the previous section. |
| 331 | To have more than one card, use card=X1[,X2[,X3,[X4[..]]]] |
| 332 | |
Lucas De Marchi | 970e248 | 2012-03-30 13:37:16 -0700 | [diff] [blame] | 333 | To automate this, add the following to your /etc/modprobe.d/zoran.conf: |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 334 | |
| 335 | options zr36067 card=X1[,X2[,X3[,X4[..]]]] |
| 336 | alias char-major-81-0 zr36067 |
| 337 | |
| 338 | One thing to keep in mind is that this doesn't load zr36067.o itself yet. It |
| 339 | just automates loading. If you start using xawtv, the device won't load on |
| 340 | some systems, since you're trying to load modules as a user, which is not |
| 341 | allowed ("permission denied"). A quick workaround is to add 'Load "v4l"' to |
| 342 | XF86Config-4 when you use X by default, or to run 'v4l-conf -c <device>' in |
| 343 | one of your startup scripts (normally rc.local) if you don't use X. Both |
| 344 | make sure that the modules are loaded on startup, under the root account. |
| 345 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 346 | What mainboard should I use (or why doesn't my card work) |
| 347 | --------------------------------------------------------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 348 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 349 | |
| 350 | <insert lousy disclaimer here>. In short: good=SiS/Intel, bad=VIA. |
| 351 | |
| 352 | Experience tells us that people with a Buz, on average, have more problems |
| 353 | than users with a DC10+/LML33. Also, it tells us that people owning a VIA- |
| 354 | based mainboard (ktXXX, MVP3) have more problems than users with a mainboard |
| 355 | based on a different chipset. Here's some notes from Andrew Stevens: |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 356 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 357 | Here's my experience of using LML33 and Buz on various motherboards: |
| 358 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 359 | - VIA MVP3 |
| 360 | - Forget it. Pointless. Doesn't work. |
| 361 | - Intel 430FX (Pentium 200) |
| 362 | - LML33 perfect, Buz tolerable (3 or 4 frames dropped per movie) |
| 363 | - Intel 440BX (early stepping) |
| 364 | - LML33 tolerable. Buz starting to get annoying (6-10 frames/hour) |
| 365 | - Intel 440BX (late stepping) |
| 366 | - Buz tolerable, LML3 almost perfect (occasional single frame drops) |
| 367 | - SiS735 |
| 368 | - LML33 perfect, Buz tolerable. |
| 369 | - VIA KT133(*) |
| 370 | - LML33 starting to get annoying, Buz poor enough that I have up. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 371 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 372 | - Both 440BX boards were dual CPU versions. |
| 373 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 374 | Bernhard Praschinger later added: |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 375 | |
| 376 | - AMD 751 |
| 377 | - Buz perfect-tolerable |
| 378 | - AMD 760 |
| 379 | - Buz perfect-tolerable |
| 380 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 381 | In general, people on the user mailinglist won't give you much of a chance |
| 382 | if you have a VIA-based motherboard. They may be cheap, but sometimes, you'd |
| 383 | rather want to spend some more money on better boards. In general, VIA |
| 384 | mainboard's IDE/PCI performance will also suck badly compared to others. |
| 385 | You'll noticed the DC10+/DC30+ aren't mentioned anywhere in the overview. |
| 386 | Basically, you can assume that if the Buz works, the LML33 will work too. If |
| 387 | the LML33 works, the DC10+/DC30+ will work too. They're most tolerant to |
| 388 | different mainboard chipsets from all of the supported cards. |
| 389 | |
| 390 | If you experience timeouts during capture, buy a better mainboard or lower |
| 391 | the quality/buffersize during capture (see 'Concerning buffer sizes, quality, |
| 392 | output size etc.'). If it hangs, there's little we can do as of now. Check |
| 393 | your IRQs and make sure the card has its own interrupts. |
| 394 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 395 | Programming interface |
| 396 | --------------------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 397 | |
Hans Verkuil | ad1ecf8 | 2010-12-25 06:58:01 -0300 | [diff] [blame] | 398 | This driver conforms to video4linux2. Support for V4L1 and for the custom |
| 399 | zoran ioctls has been removed in kernel 2.6.38. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 400 | |
| 401 | For programming example, please, look at lavrec.c and lavplay.c code in |
Hans Verkuil | ad1ecf8 | 2010-12-25 06:58:01 -0300 | [diff] [blame] | 402 | the MJPEG-tools (http://mjpeg.sf.net/). |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 403 | |
| 404 | Additional notes for software developers: |
| 405 | |
| 406 | The driver returns maxwidth and maxheight parameters according to |
| 407 | the current TV standard (norm). Therefore, the software which |
| 408 | communicates with the driver and "asks" for these parameters should |
| 409 | first set the correct norm. Well, it seems logically correct: TV |
| 410 | standard is "more constant" for current country than geometry |
| 411 | settings of a variety of TV capture cards which may work in ITU or |
Jean Delvare | 4dbf46a | 2009-03-10 23:28:17 -0300 | [diff] [blame] | 412 | square pixel format. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 413 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 414 | Applications |
| 415 | ------------ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 416 | |
| 417 | Applications known to work with this driver: |
| 418 | |
| 419 | TV viewing: |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 420 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 421 | * xawtv |
| 422 | * kwintv |
| 423 | * probably any TV application that supports video4linux or video4linux2. |
| 424 | |
| 425 | MJPEG capture/playback: |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 426 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 427 | * mjpegtools/lavtools (or Linux Video Studio) |
| 428 | * gstreamer |
| 429 | * mplayer |
| 430 | |
| 431 | General raw capture: |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 432 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 433 | * xawtv |
| 434 | * gstreamer |
| 435 | * probably any application that supports video4linux or video4linux2 |
| 436 | |
| 437 | Video editing: |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 438 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 439 | * Cinelerra |
| 440 | * MainActor |
| 441 | * mjpegtools (or Linux Video Studio) |
| 442 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 443 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 444 | Concerning buffer sizes, quality, output size etc. |
| 445 | -------------------------------------------------- |
| 446 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 447 | |
| 448 | The zr36060 can do 1:2 JPEG compression. This is really the theoretical |
| 449 | maximum that the chipset can reach. The driver can, however, limit compression |
| 450 | to a maximum (size) of 1:4. The reason for this is that some cards (e.g. Buz) |
| 451 | can't handle 1:2 compression without stopping capture after only a few minutes. |
| 452 | With 1:4, it'll mostly work. If you have a Buz, use 'low_bitrate=1' to go into |
| 453 | 1:4 max. compression mode. |
| 454 | |
| 455 | 100% JPEG quality is thus 1:2 compression in practice. So for a full PAL frame |
| 456 | (size 720x576). The JPEG fields are stored in YUY2 format, so the size of the |
| 457 | fields are 720x288x16/2 bits/field (2 fields/frame) = 207360 bytes/field x 2 = |
| 458 | 414720 bytes/frame (add some more bytes for headers and DHT (huffman)/DQT |
| 459 | (quantization) tables, and you'll get to something like 512kB per frame for |
| 460 | 1:2 compression. For 1:4 compression, you'd have frames of half this size. |
| 461 | |
| 462 | Some additional explanation by Martin Samuelsson, which also explains the |
| 463 | importance of buffer sizes: |
| 464 | -- |
| 465 | > Hmm, I do not think it is really that way. With the current (downloaded |
| 466 | > at 18:00 Monday) driver I get that output sizes for 10 sec: |
| 467 | > -q 50 -b 128 : 24.283.332 Bytes |
| 468 | > -q 50 -b 256 : 48.442.368 |
| 469 | > -q 25 -b 128 : 24.655.992 |
| 470 | > -q 25 -b 256 : 25.859.820 |
| 471 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 472 | I woke up, and can't go to sleep again. I'll kill some time explaining why |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 473 | this doesn't look strange to me. |
| 474 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 475 | Let's do some math using a width of 704 pixels. I'm not sure whether the Buz |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 476 | actually use that number or not, but that's not too important right now. |
| 477 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 478 | 704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block; |
| 479 | 3168 blocks per field. Each pixel consist of two bytes; 128 bytes per block; |
| 480 | 1024 bits per block. 100% in the new driver mean 1:2 compression; the maximum |
| 481 | output becomes 512 bits per block. Actually 510, but 512 is simpler to use |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 482 | for calculations. |
| 483 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 484 | Let's say that we specify d1q50. We thus want 256 bits per block; times 3168 |
| 485 | becomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes |
| 486 | here, so we don't need to do any fancy corrections for bits-per-pixel or such |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 487 | things. 101376 bytes per field. |
| 488 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 489 | d1 video contains two fields per frame. Those sum up to 202752 bytes per |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 490 | frame, and one of those frames goes into each buffer. |
| 491 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 492 | But wait a second! -b128 gives 128kB buffers! It's not possible to cram |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 493 | 202752 bytes of JPEG data into 128kB! |
| 494 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 495 | This is what the driver notice and automatically compensate for in your |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 496 | examples. Let's do some math using this information: |
| 497 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 498 | 128kB is 131072 bytes. In this buffer, we want to store two fields, which |
| 499 | leaves 65536 bytes for each field. Using 3168 blocks per field, we get |
| 500 | 20.68686868... available bytes per block; 165 bits. We can't allow the |
| 501 | request for 256 bits per block when there's only 165 bits available! The -q50 |
| 502 | option is silently overridden, and the -b128 option takes precedence, leaving |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 503 | us with the equivalence of -q32. |
| 504 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 505 | This gives us a data rate of 165 bits per block, which, times 3168, sums up |
| 506 | to 65340 bytes per field, out of the allowed 65536. The current driver has |
| 507 | another level of rate limiting; it won't accept -q values that fill more than |
| 508 | 6/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be |
| 509 | a safe bet. Personally, I think I would have lowered requested-bits-per-block |
| 510 | by one, or something like that.) We can't use 165 bits per block, but have to |
| 511 | lower it again, to 6/8 of the available buffer space: We end up with 124 bits |
| 512 | per block, the equivalence of -q24. With 128kB buffers, you can't use greater |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 513 | than -q24 at -d1. (And PAL, and 704 pixels width...) |
| 514 | |
Mauro Carvalho Chehab | 48773e6 | 2006-03-25 09:21:43 -0300 | [diff] [blame] | 515 | The third example is limited to -q24 through the same process. The second |
| 516 | example, using very similar calculations, is limited to -q48. The only |
| 517 | example that actually grab at the specified -q value is the last one, which |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 518 | is clearly visible, looking at the file size. |
| 519 | -- |
| 520 | |
| 521 | Conclusion: the quality of the resulting movie depends on buffer size, quality, |
| 522 | whether or not you use 'low_bitrate=1' as insmod option for the zr36060.c |
| 523 | module to do 1:4 instead of 1:2 compression, etc. |
| 524 | |
| 525 | If you experience timeouts, lowering the quality/buffersize or using |
| 526 | 'low_bitrate=1 as insmod option for zr36060.o might actually help, as is |
| 527 | proven by the Buz. |
| 528 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 529 | It hangs/crashes/fails/whatevers! Help! |
| 530 | --------------------------------------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 531 | |
| 532 | Make sure that the card has its own interrupts (see /proc/interrupts), check |
| 533 | the output of dmesg at high verbosity (load zr36067.o with debug=2, |
| 534 | load all other modules with debug=1). Check that your mainboard is favorable |
| 535 | (see question 2) and if not, test the card in another computer. Also see the |
| 536 | notes given in question 3 and try lowering quality/buffersize/capturesize |
| 537 | if recording fails after a period of time. |
| 538 | |
| 539 | If all this doesn't help, give a clear description of the problem including |
| 540 | detailed hardware information (memory+brand, mainboard+chipset+brand, which |
| 541 | MJPEG card, processor, other PCI cards that might be of interest), give the |
| 542 | system PnP information (/proc/interrupts, /proc/dma, /proc/devices), and give |
| 543 | the kernel version, driver version, glibc version, gcc version and any other |
| 544 | information that might possibly be of interest. Also provide the dmesg output |
| 545 | at high verbosity. See 'Contacting' on how to contact the developers. |
| 546 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 547 | Maintainers/Contacting |
| 548 | ---------------------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 549 | |
| 550 | The driver is currently maintained by Laurent Pinchart and Ronald Bultje |
| 551 | (<laurent.pinchart@skynet.be> and <rbultje@ronald.bitfreak.net>). For bug |
| 552 | reports or questions, please contact the mailinglist instead of the developers |
| 553 | individually. For user questions (i.e. bug reports or how-to questions), send |
| 554 | an email to <mjpeg-users@lists.sf.net>, for developers (i.e. if you want to |
| 555 | help programming), send an email to <mjpeg-developer@lists.sf.net>. See |
| 556 | http://www.sf.net/projects/mjpeg/ for subscription information. |
| 557 | |
| 558 | For bug reports, be sure to include all the information as described in |
| 559 | the section 'It hangs/crashes/fails/whatevers! Help!'. Please make sure |
| 560 | you're using the latest version (http://mjpeg.sf.net/driver-zoran/). |
| 561 | |
| 562 | Previous maintainers/developers of this driver include Serguei Miridonov |
| 563 | <mirsev@cicese.mx>, Wolfgang Scherr <scherr@net4you.net>, Dave Perks |
| 564 | <dperks@ibm.net> and Rainer Johanni <Rainer@Johanni.de>. |
| 565 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 566 | Driver's License |
| 567 | ---------------- |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 568 | |
Mauro Carvalho Chehab | 7200e68 | 2016-07-17 21:29:09 -0300 | [diff] [blame] | 569 | This driver is distributed under the terms of the General Public License. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 570 | |
| 571 | This program is free software; you can redistribute it and/or modify |
| 572 | it under the terms of the GNU General Public License as published by |
| 573 | the Free Software Foundation; either version 2 of the License, or |
| 574 | (at your option) any later version. |
| 575 | |
| 576 | This program is distributed in the hope that it will be useful, |
| 577 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 578 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 579 | GNU General Public License for more details. |
| 580 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 581 | See http://www.gnu.org/ for more information. |