Re: [cron job] ERRORS: armv5 armv5-ixp armv5-omap2 i686 m32r mips powerpc64 x86_64 v4l-dvb build

2009-02-28 Thread Hans Verkuil
On Saturday 28 February 2009 01:32:42 Mauro Carvalho Chehab wrote:
 On Fri, 27 Feb 2009 19:49:56 +0100 (CET)

 Hans Verkuil hverk...@xs4all.nl wrote:
  (This message is generated daily by a cron job that builds v4l-dvb for
  the kernels and architectures in the list below.)
 
  Results of the daily build of v4l-dvb:
 
  linux-2.6.16.61-i686: ERRORS
  linux-2.6.17.14-i686: ERRORS
  linux-2.6.18.8-i686: ERRORS
  linux-2.6.19.5-i686: ERRORS
  linux-2.6.20.21-i686: ERRORS
  linux-2.6.21.7-i686: ERRORS
  linux-2.6.22.19-i686: ERRORS
  linux-2.6.23.12-i686: ERRORS
  linux-2.6.24.7-i686: ERRORS
  linux-2.6.25.11-i686: ERRORS
  linux-2.6.26-i686: ERRORS
  linux-2.6.27-i686: ERRORS
  linux-2.6.28-i686: ERRORS
  linux-2.6.29-rc5-i686: ERRORS

 Wow! Lots of errors!

 Ok, I've removed tvmixer and marked the minimal version for firedtv. This
 should fix the issues.

 Cheers,
 Mauro

I've started an extra build to see what (if any) errors/warnings remain 
after all these big merges.

Regards,

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[cron job] ERRORS: armv5 armv5-ixp armv5-omap2 i686 m32r mips powerpc64 x86_64 v4l-dvb build

2009-02-28 Thread Hans Verkuil
(This message is generated daily by a cron job that builds v4l-dvb for
the kernels and architectures in the list below.)

Results of the daily build of v4l-dvb:

date:Sat Feb 28 09:45:19 CET 2009
path:http://www.linuxtv.org/hg/v4l-dvb
changeset:   10778:c770b20d15c6
gcc version: gcc (GCC) 4.3.1
hardware:x86_64
host os: 2.6.26

linux-2.6.16.61-armv5: OK
linux-2.6.17.14-armv5: OK
linux-2.6.18.8-armv5: OK
linux-2.6.19.5-armv5: OK
linux-2.6.20.21-armv5: OK
linux-2.6.21.7-armv5: OK
linux-2.6.22.19-armv5: OK
linux-2.6.23.12-armv5: OK
linux-2.6.24.7-armv5: OK
linux-2.6.25.11-armv5: OK
linux-2.6.26-armv5: OK
linux-2.6.27-armv5: OK
linux-2.6.28-armv5: OK
linux-2.6.29-rc5-armv5: OK
linux-2.6.27-armv5-ixp: OK
linux-2.6.28-armv5-ixp: OK
linux-2.6.29-rc5-armv5-ixp: OK
linux-2.6.27-armv5-omap2: OK
linux-2.6.28-armv5-omap2: OK
linux-2.6.29-rc5-armv5-omap2: OK
linux-2.6.16.61-i686: ERRORS
linux-2.6.17.14-i686: ERRORS
linux-2.6.18.8-i686: ERRORS
linux-2.6.19.5-i686: ERRORS
linux-2.6.20.21-i686: ERRORS
linux-2.6.21.7-i686: ERRORS
linux-2.6.22.19-i686: ERRORS
linux-2.6.23.12-i686: OK
linux-2.6.24.7-i686: OK
linux-2.6.25.11-i686: OK
linux-2.6.26-i686: OK
linux-2.6.27-i686: OK
linux-2.6.28-i686: OK
linux-2.6.29-rc5-i686: WARNINGS
linux-2.6.23.12-m32r: OK
linux-2.6.24.7-m32r: OK
linux-2.6.25.11-m32r: OK
linux-2.6.26-m32r: OK
linux-2.6.27-m32r: OK
linux-2.6.28-m32r: OK
linux-2.6.29-rc5-m32r: OK
linux-2.6.16.61-mips: ERRORS
linux-2.6.26-mips: OK
linux-2.6.27-mips: OK
linux-2.6.28-mips: OK
linux-2.6.29-rc5-mips: WARNINGS
linux-2.6.27-powerpc64: WARNINGS
linux-2.6.28-powerpc64: WARNINGS
linux-2.6.29-rc5-powerpc64: WARNINGS
linux-2.6.16.61-x86_64: ERRORS
linux-2.6.17.14-x86_64: ERRORS
linux-2.6.18.8-x86_64: WARNINGS
linux-2.6.19.5-x86_64: WARNINGS
linux-2.6.20.21-x86_64: WARNINGS
linux-2.6.21.7-x86_64: OK
linux-2.6.22.19-x86_64: WARNINGS
linux-2.6.23.12-x86_64: WARNINGS
linux-2.6.24.7-x86_64: WARNINGS
linux-2.6.25.11-x86_64: WARNINGS
linux-2.6.26-x86_64: WARNINGS
linux-2.6.27-x86_64: WARNINGS
linux-2.6.28-x86_64: WARNINGS
linux-2.6.29-rc5-x86_64: WARNINGS
fw/apps: WARNINGS
spec: OK
sparse (linux-2.6.28): ERRORS
sparse (linux-2.6.29-rc5): ERRORS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Saturday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Saturday.tar.bz2

The V4L2 specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/v4l2.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] http://mercurial.intuxication.org/hg/v4l-dvb-commits

2009-02-28 Thread Andy Walls
On Fri, 2009-02-27 at 21:05 +0200, Igor M. Liplianin wrote:
 On 27 февраля 2009, Igor M. Liplianin liplia...@tut.by wrote:
  On Fri, 27 Feb 2009, Igor M. Liplianin wrote:
   01/02: dm1105: not demuxing from interrupt context.
   http://mercurial.intuxication.org/hg/v4l-dvb-commits?cmd=changeset;node=6
  faf0753950b
 
  I'm not sure if you considered this, but the default work queue is
  multi-threaded with a kernel thread for each CPU.  This means that if the
  IRQ handler calls schedule_work() while your work function is running then
  you can get a second copy running of your work function running at the same
  time.  It doesn't look like your work function uses atomit_t or locking, so
  I'm guessing it's not safe to run concurrently.
 
  For the pluto2 patch, I created a single threaded work queue.  This avoids
  the concurrency problem and it's not like the demuxer can run in parallel
  anyway.  Having your own work queue also means that you don't have to worry
  about latency from whatever other tasks might be in the default work queue.
 
  Also consider that the work function is queued mutliple times before it
  runs, it will only run once.  I.e.  queuing a work func that's already in
  the queue does nothing (one the function starts to run, it's no longer in
  the queue and can be added again before it's finished).  The pluto2 patch I
  posted didn't take this into account, but I've since fixed it.
 
 I'll return to this :)
 But it complicates things more and more :(


Yes it does complicate things.  Here are some excerpts from what I had
to do for cx18.  Perhaps it will help you.  (Or perhaps it will not help
at all.  The CX23418 chip put alot of requirements on me that drove my
solution.)


-
cx18-driver.h:
-

struct cx18_epu_work_order {
struct work_struct work;
atomic_t pending;
struct cx18 *cx;
unsigned long flags;
int rpu;
struct cx18_mailbox mb;
...
};

struct cx18 {
...
struct workqueue_struct *work_queue;
struct cx18_epu_work_order epu_work_order[CX18_MAX_EPU_WORK_ORDERS];
...
};



-
cx18-driver.c:
-

static int __devinit cx18_init_struct1(struct cx18 *cx)
{
int i;
...
cx-work_queue = create_singlethread_workqueue(cx-v4l2_dev.name);
if (cx-work_queue == NULL) {
CX18_ERR(Unable to create work hander thread\n);
return -ENOMEM;
}

for (i = 0; i  CX18_MAX_EPU_WORK_ORDERS; i++) {
cx-epu_work_order[i].cx = cx;
...
#if LINUX_VERSION_CODE = KERNEL_VERSION(2, 6, 20)
INIT_WORK(cx-epu_work_order[i].work, cx18_epu_work_handler);
#else
INIT_WORK(cx-epu_work_order[i].work, cx18_epu_work_handler,
  cx-epu_work_order[i].work);
#endif
}
...
}


#if LINUX_VERSION_CODE = KERNEL_VERSION(2, 6, 22)
static void cx18_cancel_epu_work_orders(struct cx18 *cx)
{
int i;
for (i = 0; i  CX18_MAX_EPU_WORK_ORDERS; i++)
cancel_work_sync(cx-epu_work_order[i].work);
}

#endif

static void cx18_remove(struct pci_dev *pci_dev)
{
...
#if LINUX_VERSION_CODE = KERNEL_VERSION(2, 6, 22)
cx18_sw2_irq_disable(cx, IRQ_CPU_TO_EPU_ACK | IRQ_APU_TO_EPU_ACK);

cx18_halt_firmware(cx);

cx18_cancel_epu_work_orders(cx);
#else

flush_workqueue(cx-work_queue);

cx18_sw2_irq_disable(cx, IRQ_CPU_TO_EPU_ACK | IRQ_APU_TO_EPU_ACK);

cx18_halt_firmware(cx);
#endif

destroy_workqueue(cx-work_queue);
...
}



--
cx18-irq.c:
--

static void epu_cmd(struct cx18 *cx, u32 sw1)
{
if (sw1  IRQ_CPU_TO_EPU)
cx18_api_epu_cmd_irq(cx, CPU);
if (sw1  IRQ_APU_TO_EPU)
cx18_api_epu_cmd_irq(cx, APU);
}

irqreturn_t cx18_irq_handler(int irq, void *dev_id)
{
struct cx18 *cx = (struct cx18 *)dev_id;
u32 sw1, sw2, hw2;

sw1 = cx18_read_reg(cx, SW1_INT_STATUS)  cx-sw1_irq_mask;
...
if (sw1)
cx18_write_reg_expect(cx, sw1, SW1_INT_STATUS, ~sw1, sw1);
...
if (sw1)
epu_cmd(cx, sw1);
...
}


--
cx18-mailbox.c:
--

static inline
struct cx18_epu_work_order *alloc_epu_work_order_irq(struct cx18 *cx)
{
int i;
struct cx18_epu_work_order *order = NULL;

for (i = 0; i  CX18_MAX_EPU_WORK_ORDERS; i++) {
/*
 * We only need pending atomic to inspect its contents,
 * and need not do a check and set because:
 * 1. Any work handler thread only clears pending and only
 * on one, particular work order at a time, per handler thread.
 * 2. pending is only set here, and we're serialized because
 * we're called in an IRQ handler context.
 */
 

Cinergy HTC USB XS HD, DVB-C suported ?

2009-02-28 Thread Henrik Beckman
Hi,

Can anyone verify if the Cinergy HTC USB XS HD is working in DVB-C mode ?
http://www.terratec.net/en/products/technical-data/produkte_technische_daten_en_57350.html

Sorry for adding to the signal noise ratio, I´ll promise to update the wiki.

/Henrik
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Cinergy HTC USB XS HD, DVB-C suported ?

2009-02-28 Thread Markus Rechberger
On Sat, Feb 28, 2009 at 3:20 PM, Henrik Beckman henrik.l...@gmail.com wrote:
 Hi,

 Can anyone verify if the Cinergy HTC USB XS HD is working in DVB-C mode ?
 http://www.terratec.net/en/products/technical-data/produkte_technische_daten_en_57350.html

 Sorry for adding to the signal noise ratio, I´ll promise to update the wiki.


it is fully working (DVB-C, DVB-T, analog TV and radio), some things
have to be cleared up before the drivers will be published.

http://mcentral.de/wiki/index.php5/Terratec_HTC_XS

regards,
Markus
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PULL] http://udev.netup.ru/hg/v4l-dvb-netup

2009-02-28 Thread Igor M. Liplianin
Mauro,
It is driver for NetUP Dual DVB-S2 CI PCI-e card.
You can find short description of it on linuxtv wiki.

Please pull from http://udev.netup.ru/hg/v4l-dvb-netup

for the following 11 changesets:

01/11: Add init code for NetUP Dual DVB-S2 CI card
http://udev.netup.ru/hg/v4l-dvb-netup?cmd=changeset;node=f752e18dc395

02/11: Add EEPROM code for NetUP Dual DVB-S2 CI card.
http://udev.netup.ru/hg/v4l-dvb-netup?cmd=changeset;node=5c764157d510

03/11: Add CIMax(R) SP2 Common Interface code for NetUP Dual DVB-S2 CI card
http://udev.netup.ru/hg/v4l-dvb-netup?cmd=changeset;node=7af6715bacec

04/11: Add support for ST STV6110 silicon tuner.
http://udev.netup.ru/hg/v4l-dvb-netup?cmd=changeset;node=68ca5a26e7a5

05/11: Add support for ST LNBH24 LNB power controller.
http://udev.netup.ru/hg/v4l-dvb-netup?cmd=changeset;node=3b65476f39a9

06/11: Add headers for ST STV0900 dual demodulator.
http://udev.netup.ru/hg/v4l-dvb-netup?cmd=changeset;node=8dd572ce00ae

07/11: Add more headers for ST STV0900 dual demodulator.
http://udev.netup.ru/hg/v4l-dvb-netup?cmd=changeset;node=d29394751223

08/11: Add core code for ST STV0900 dual demodulator.
http://udev.netup.ru/hg/v4l-dvb-netup?cmd=changeset;node=59492f22aebe

09/11: Add support for ST STV0900 dual demodulator.
http://udev.netup.ru/hg/v4l-dvb-netup?cmd=changeset;node=df4fbc0c5b7e

10/11: Add support for NetUP Dual DVB-S2 CI card
http://udev.netup.ru/hg/v4l-dvb-netup?cmd=changeset;node=5b9ba251e7dc

11/11: stv0900 fixes
http://udev.netup.ru/hg/v4l-dvb-netup?cmd=changeset;node=e5c9e5d75291


 b/linux/drivers/media/dvb/frontends/cimax2.c       |  531 ++
 b/linux/drivers/media/dvb/frontends/cimax2.h       |   45
 b/linux/drivers/media/dvb/frontends/lnbh24.h       |   55
 b/linux/drivers/media/dvb/frontends/netup-init.c   |  143
 b/linux/drivers/media/dvb/frontends/netup-init.h   |   25
 b/linux/drivers/media/dvb/frontends/stv0900.h      |   62
 b/linux/drivers/media/dvb/frontends/stv0900_core.c | 1961 ++
 b/linux/drivers/media/dvb/frontends/stv0900_init.h |  428 ++
 b/linux/drivers/media/dvb/frontends/stv0900_priv.h |  430 ++
 b/linux/drivers/media/dvb/frontends/stv0900_reg.h  | 3787 +
 b/linux/drivers/media/dvb/frontends/stv0900_sw.c   | 2847 +++
 b/linux/drivers/media/dvb/frontends/stv6110.c      |  457 ++
 b/linux/drivers/media/dvb/frontends/stv6110.h      |   62
 b/linux/drivers/media/video/cx23885/netup-eeprom.c |  117
 b/linux/drivers/media/video/cx23885/netup-eeprom.h |   42
 linux/Documentation/video4linux/CARDLIST.cx23885   |    1
 linux/drivers/media/dvb/frontends/Kconfig          |   21
 linux/drivers/media/dvb/frontends/Makefile         |    4
 linux/drivers/media/dvb/frontends/lnbp21.c         |   33
 linux/drivers/media/dvb/frontends/lnbp21.h         |   50
 linux/drivers/media/dvb/frontends/stv0900_core.c   |    2
 linux/drivers/media/dvb/frontends/stv0900_init.h   |   17
 linux/drivers/media/video/cx23885/Kconfig          |    1
 linux/drivers/media/video/cx23885/Makefile         |    4
 linux/drivers/media/video/cx23885/cx23885-cards.c  |   50
 linux/drivers/media/video/cx23885/cx23885-dvb.c    |  106
 linux/drivers/media/video/cx23885/cx23885.h        |    2
 27 files changed, 11255 insertions(+), 28 deletions(-)

Thanks,
Igor
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Topro 6800 driver

2009-02-28 Thread Anders Blomdell

Jean-Francois Moine wrote:

On Fri, 27 Feb 2009 23:15:54 +0100
Anders Blomdell anders.blomd...@control.lth.se wrote:


Hi,

I'm trying to write a driver for a webcam based on Topro TP6801/CX0342
(06a2:0003). My first attempt (needs gspca) can be found on:

http://www.control.lth.se/user/andersb/tp6800.c

Unfortunately the JPEG images (one example dump is in
http://www.control.lth.se/user/andersb/topro_img_dump.txt), seems to
be bogus, they start with (data is very similar to windows data):

: 0xff,0xd8,0xff,0xfe,0x28,0x3c,0x01,0xe8,...
...
c340: ...,0xf4,0xc0,0xff,0xd9

Anybody who has a good idea of how to find a DQT/Huffman table that
works with this image data?


Hi Anders,

Thomas Champagne (See To:) was also writing a driver for this webcam.
Maybe you may merge your codes...
Thomas, if you have DQT/Huffman tables for this camera, please drop me a 
note.




About the JPEG images, the Huffman table is always the same 
Does this mean that it's the same for all JPEG images or only for one 
camera?


If it's the same for all images, it should mean that I have a way to 
determine how much I have to chop off after the 0xfffe tag (no illegal 
huffman codes - possibly chop at the correct position).


Comments anyone?


 and the

quantization tables depend on the compression quality.

From the USB trace I had from Thomas, I saw that:

- when a packet starts with '55 ff d8', it is the first part of the
  image. This one should start at the offset 8 of the packet.

- when a packet starts with 'cc', it is the next part of the image.

This is even in the docs, and is implemented in the driver.


In the function pkt_scan, when finding the image start, you must add
the JPEG header: 'ff d8', DQT, huffman table, SOF0 and SOS.
OK, will see if I can find the DQT (and possibly the Huffman table) in 
the windows driver (as suggested by Thomas Kaiser).



As we don't know the quality used by the webcam, in my test repository,
I added a control for that: the JPEG header is created at streamon
time, and the quantization tables may be modified by the control on the
fly (have a look at stk014.c for an example).

This solution is not the right one: the JPEG quality must be set by the
VIDIOC_S_JPEGCOMP ioctl instead of VIDIOC_S_CTRL. I think I will update
the concerned subdrivers next week.

I'll look into that monday.


BTW, don't use the video4linux-l...@redhat.com mailing-list anymore: all
the video discussions are now done in linux-me...@vger.kernel.org.
OK, so Google hit http://www.linuxtv.org/v4lwiki/index.php/Main_Page is 
no hit then...



Thanks

Anders Blomdell
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Topro 6800 driver

2009-02-28 Thread Thomas Kaiser

Hello Anders

Anders Blomdell wrote:

Jean-Francois Moine wrote:

On Fri, 27 Feb 2009 23:15:54 +0100
About the JPEG images, the Huffman table is always the same 
Does this mean that it's the same for all JPEG images or only for one 
camera?


If it's the same for all images, it should mean that I have a way to 
determine how much I have to chop off after the 0xfffe tag (no illegal 
huffman codes - possibly chop at the correct position).


Comments anyone?



As per definition of JPEG, the Huffman table is always calculated 
especially for each picture to get the best compression. Thus the 
Huffman table and the DQT has to be in the JPEG stream like you see on 
JPEG picture on your HD.
With webcams, it is a bit an other story. The webcam hardware is usually 
not powerful enough to calculate the Huffman table for each frame. 
Therefor a static Huffman table is used. This Huffman table should fit 
more less to the image the camera is producing. With the drawback that 
we cannot achieve the highest compression possible. On the other hand 
the Huffman table is always the same the cam has not to send this in the 
video stream and the stream has less overhead.


In short, the Huffman table is always the same for a given webcam.

I don't think 0xfffe is a valid JPEG marker. 0xfffe is a comment marker 
and the next 2 bytes after this markers tells the length of the comment 
(including the two length byte). So, your comment would be 10300 Bytes 
long. I don't think that such many Bytes are used for a comment when 
they try to have as less as possible overhead.
I think 0xfffe is the start of the compressed data stream and has 
nothing to do with JPEG markers.


Thomas
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PULL] http://linuxtv.org/hg/~awalls/cx18

2009-02-28 Thread Andy Walls
On Thu, 2009-02-26 at 22:25 -0300, Mauro Carvalho Chehab wrote:
 On Sat, 21 Feb 2009 21:22:22 -0500
 Andy Walls awa...@radix.net wrote:

  cx18: Change log lines for internal subdevs and fix tveeprom reads
 
 +   strncpy(c.name, cx18 tveeprom tmp, sizeof(c.name));
 +   c.name[sizeof(c.name)-1] = '\0';
 
 Please use strlcpy() instead.

Sure.  I'm checking the change now.  I'll issue a pull request later
this weekend.


  cx18: Convert the integrated A/V decoder core interface to a v4l2_subdev

 There were some merge conflicts. I've fixed it by hand, but I suspect that
 you'll need to properly tune the default values for v4l2_ctrl_query_fill().
 Please review my last patch and fix it accordingly with the limits of each
 V4L2_CID.

Sorry I didn't get to this sooner (I was traveling).
I see you've already fixed the values.  Your fixes are as Hans had
intended them for cx18.

Thanks.

Regards,
Andy

 Cheers,
 Mauro


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Vote please: DVB developers opinion is wanted!

2009-02-28 Thread sinter . salt
Hi,

I would like to know if anyone of you has any objections against the following 
patch:
It remove two obsolete text files in /Documentation/dvb.

1. They do not contain any technical information that is making sense.
2. The correct place for mentioning a developer's or contributor's name is a 
file header, but not a text file in case we're talking about a driver file, not 
a documentation text file.
3. These two files are NEVER administered or maintained, that is why they are 
not only useless but furthermore completely out of date.

--- a/Documentation/dvb/contributors.txt2008-12-25 00:26:37.0 
+0100
+++ b/Documentation/dvb/contributors.txt1970-01-01 01:00:00.0 
+0100
@@ -1,96 +0,0 @@
-Thanks go to the following people for patches and contributions:
-
-Michael Hunold m.hun...@gmx.de
-  for the initial saa7146 driver and it's recent overhaul
-
-Christian Theiss
-  for his work on the initial Linux DVB driver
-
-Marcus Metzler m...@metzlerbros.de
-Ralph Metzler r...@metzlerbros.de
-  for their continuing work on the DVB driver
-
-Michael Holzt k...@debian.org
-  for his contributions to the dvb-net driver
-
-Diego Picciani d.picci...@novacomp.it
-  for CyberLogin for Linux which allows logging onto EON
-  (in case you are wondering where CyberLogin is, EON changed its login
-  procedure and CyberLogin is no longer used.)
-
-Martin Schaller mar...@smurf.franken.de
-  for patching the cable card decoder driver
-
-Klaus Schmidinger klaus.schmidin...@cadsoft.de
-  for various fixes regarding tuning, OSD and CI stuff and his work on VDR
-
-Steve Brown sbr...@cortland.com
-  for his AFC kernel thread
-
-Christoph Martin mar...@uni-mainz.de
-  for his LIRC infrared handler
-
-Andreas Oberritter o...@linuxtv.org
-Dennis Noermann dennis.noerm...@noernet.de
-Felix Domke tmb...@elitedvb.net
-Florian Schirmer j...@tuxbox.org
-Ronny Strutz 3...@elitedvb.de
-Wolfram Joost db...@frokaschwei.de
-...and all the other dbox2 people
-  for many bugfixes in the generic DVB Core, frontend drivers and
-  their work on the dbox2 port of the DVB driver
-
-Oliver Endriss o.endr...@gmx.de
-  for many bugfixes
-
-Andrew de Quincey adq_...@lidskialf.net
-  for the tda1004x frontend driver, and various bugfixes
-
-Peter Schildmann peter.schildm...@web.de
-  for the driver for the Technisat SkyStar2 PCI DVB card
-
-Vadim Catana skys...@moldova.cc
-Roberto Ragusa r.rag...@libero.it
-Augusto Cardoso augu...@carhil.net
-  for all the work for the FlexCopII chipset by B2C2,Inc.
-
-Davor Emard em...@softhome.net
-  for his work on the budget drivers, the demux code,
-  the module unloading problems, ...
-
-Hans-Frieder Vogt hfv...@arcor.de
-  for his work on calculating and checking the crc's for the
-  TechnoTrend/Hauppauge DEC driver firmware
-
-Michael Dreher mich...@5dot1.de
-Andreas 'randy' Weinberger
-  for the support of the Fujitsu-Siemens Activy budget DVB-S
-
-Kenneth Aafløy ke...@frisurf.no
-  for adding support for Typhoon DVB-S budget card
-
-Ernst Peinlich e.peinl...@inode.at
-  for tuning/DiSEqC support for the DEC 3000-s
-
-Peter Beutner p.beut...@gmx.net
-  for the IR code for the ttusb-dec driver
-
-Wilson Michaels wilsonmicha...@earthlink.net
-  for the lgdt330x frontend driver, and various bugfixes
-
-Michael Krufky mkru...@m1k.net
-  for maintaining v4l/dvb inter-tree dependencies
-
-Taylor Jacob rtja...@earthlink.net
-  for the nxt2002 frontend driver
-
-Jean-Francois Thibert jeanfranc...@sagetv.com
-  for the nxt2004 frontend driver
-
-Kirk Lapray kirk.lap...@gmail.com
-  for the or51211 and or51132 frontend drivers, and
-  for merging the nxt2002 and nxt2004 modules into a
-  single nxt200x frontend driver.
-
-(If you think you should be in this list, but you are not, drop a
- line to the DVB mailing list)
--- a/Documentation/dvb/readme.txt  2008-12-25 00:26:37.0 +0100
+++ b/Documentation/dvb/readme.txt  1970-01-01 01:00:00.0 +0100
@@ -1,62 +0,0 @@
-Linux Digital Video Broadcast (DVB) subsystem
-=
-
-The main development site and CVS repository for these
-drivers is http://linuxtv.org/.
-
-The developer mailing list linux-dvb is also hosted there,
-see http://linuxtv.org/lists.php. Please check
-the archive http://linuxtv.org/pipermail/linux-dvb/
-and the Wiki http://linuxtv.org/wiki/
-before asking newbie questions on the list.
-
-API documentation, utilities and test/example programs
-are available as part of the old driver package for Linux 2.4
-(linuxtv-dvb-1.0.x.tar.gz), or from CVS (module DVB).
-We plan to split this into separate packages, but it's not
-been done yet.
-
-http://linuxtv.org/downloads/
-
-What's inside this directory:
-
-avermedia.txt
-contains detailed information about the
-Avermedia DVB-T cards. See also bt8xx.txt.
-
-bt8xx.txt
-contains detailed information about the
-various bt8xx based budget DVB cards.
-
-cards.txt
-contains a list of supported hardware.
-
-ci.txt
-contains detailed 

[PATCH] Add support for GeoVision GV-800(S)

2009-02-28 Thread Bruno Christo
Hello all,

I have a GeoVision GV-800(S) card, it has 4 CONEXANT BT878A chips.
It has 16 video inputs and 4 audio inputs, and it is almost identical
to the GV-800, as seen on http://bttv-gallery.de .
The only difference appears to be the analog mux, it has a CD22M3494
in place of the MT8816AP. The card has a blue PCB, as seen in this
picture: http://www.gsbr.com.br/imagem/kits/GeoVision%20GV%20800.jpg .

This card wasn't originally supported, and it was detected as
UNKNOWN/GENERIC. The video inputs weren't working, so I tried
forcing a few cards like the GeoVision GV-600, but there was still
no video. So I made a patch to support this card, based on the Kodicom
4400r.

The GV-800(S) is identified as follows:

# lspci
...
02:00.0 Multimedia video controller: Brooktree Corporation Bt878 Video
Capture (rev 11)
02:00.1 Multimedia controller: Brooktree Corporation Bt878 Audio
Capture (rev 11)
02:04.0 Multimedia video controller: Brooktree Corporation Bt878 Video
Capture (rev 11)
02:04.1 Multimedia controller: Brooktree Corporation Bt878 Audio
Capture (rev 11)
02:08.0 Multimedia video controller: Brooktree Corporation Bt878 Video
Capture (rev 11)
02:08.1 Multimedia controller: Brooktree Corporation Bt878 Audio
Capture (rev 11)
02:0c.0 Multimedia video controller: Brooktree Corporation Bt878 Video
Capture (rev 11)
02:0c.1 Multimedia controller: Brooktree Corporation Bt878 Audio
Capture (rev 11)

# lspci -nv
...
02:00.0 0400: 109e:036e (rev 11)
Subsystem: 800a:763d
Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at cdfff000 (32-bit, prefetchable) [size=4K]
Capabilities: [44] Vital Product Data ?
Capabilities: [4c] Power Management version 2
Kernel modules: bttv

02:00.1 0480: 109e:0878 (rev 11)
Subsystem: 800a:763d
Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at cdffe000 (32-bit, prefetchable) [size=4K]
Capabilities: [44] Vital Product Data ?
Capabilities: [4c] Power Management version 2

02:04.0 0400: 109e:036e (rev 11)
Subsystem: 800b:763d
Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at cdffd000 (32-bit, prefetchable) [size=4K]
Capabilities: [44] Vital Product Data ?
Capabilities: [4c] Power Management version 2
Kernel modules: bttv

02:04.1 0480: 109e:0878 (rev 11)
Subsystem: 800b:763d
Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at cdffc000 (32-bit, prefetchable) [size=4K]
Capabilities: [44] Vital Product Data ?
Capabilities: [4c] Power Management version 2

02:08.0 0400: 109e:036e (rev 11)
Subsystem: 800c:763d
Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at cdffb000 (32-bit, prefetchable) [size=4K]
Capabilities: [44] Vital Product Data ?
Capabilities: [4c] Power Management version 2
Kernel modules: bttv

02:08.1 0480: 109e:0878 (rev 11)
Subsystem: 800c:763d
Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at cdffa000 (32-bit, prefetchable) [size=4K]
Capabilities: [44] Vital Product Data ?
Capabilities: [4c] Power Management version 2

02:0c.0 0400: 109e:036e (rev 11)
Subsystem: 800d:763d
Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at cdff9000 (32-bit, prefetchable) [size=4K]
Capabilities: [44] Vital Product Data ?
Capabilities: [4c] Power Management version 2
Kernel modules: bttv

02:0c.1 0480: 109e:0878 (rev 11)
Subsystem: 800d:763d
Flags: bus master, medium devsel, latency 32, IRQ 10
Memory at cdff8000 (32-bit, prefetchable) [size=4K]
Capabilities: [44] Vital Product Data ?
Capabilities: [4c] Power Management version 2

As you can see, the GV-800(S) card is almost identical to the GV-800
on bttv-gallery, so this patch might also work for that card. If not,
only a few changes should be required on the gv800s_write() function.

After this patch, the video inputs work correctly. The input order may
seem a little odd, but it's the order the original software/driver
uses, and I decided to keep that order to get the most out of the
card.

I tried to get the audio working with the snd-bt87x module, but I only
get noise from every audio input, even after selecting a different mux
with alsamixer. Also, after trying to play sound from those sources, I
randomly get a RISC error about an invalid RISC opcode, and then that
output stops working. I also can't change the sampling rate when
recording. Any pointers to adding audio support are welcome.

Signed-off-by: Bruno Christo bchri...@inf.ufsm.br

diff -r c770b20d15c6 linux/Documentation/video4linux/CARDLIST.bttv
--- a/linux/Documentation/video4linux/CARDLIST.bttv Fri Feb 27
21:29:59 2009 -0300
+++ b/linux/Documentation/video4linux/CARDLIST.bttv Fri Feb 27
22:12:29 2009 -0300
@@ -155,3 +155,5 @@
 154 - PHYTEC VD-012-X1 

HVR3000 v4l no longer compiles with any branch and/or patch in 64bitOS

2009-02-28 Thread vivian stewart
I get this error when compiling v4l-dvb 7285 and 7879 (can't find patch 
via the links, their in the tmp directory?) under ubuntu hardy 
2.6.24-23-rt amd64:


/home/vivy/v4l-dvb/v4l/saa7134-video.c: In function 'saa7134_s_fmt_overlay':
/home/vivy/v4l-dvb/v4l/saa7134-video.c:1674: error: size of array 'type 
name' is negative
/home/vivy/v4l-dvb/v4l/saa7134-video.c:1674: warning: comparison of 
distinct pointer types lacks a cast
/home/vivy/v4l-dvb/v4l/saa7134-video.c:1677: error: size of array 'type 
name' is negative
/home/vivy/v4l-dvb/v4l/saa7134-video.c:1677: warning: comparison of 
distinct pointer types lacks a cast

make[3]: *** [/home/vivy/v4l-dvb/v4l/saa7134-video.o] Error 1
make[2]: *** [_module_/home/vivy/v4l-dvb/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.24-23-rt'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/home/vivy/v4l-dvb/v4l'
make: *** [all] Error 2

which compiled and worked before I had to reinstall (from 32bit to 
64bit)ubuntu from scratch. think I mite be missing some installed source 
code somewhere or is not amd64 compatible code.
as for 8894 I think I remember it compiling but just no dvb-s even 
though its mfe. dvb-s is really what I want

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH/RFC 1/4] ipu_idmac: code clean-up and robustness improvements

2009-02-28 Thread Agustin

Hi Guennadi,

I am having trouble while probing ipu idmac:

At boot:
ipu-core: probe of ipu-core failed with error -22

Which is apparently happening at ipu_idmac:1706:
   1695 static int __init ipu_probe(struct platform_device *pdev)
   ...
   1703 mem_ipu = platform_get_resource(pdev, IORESOURCE_MEM, 0);
   1704 mem_ic  = platform_get_resource(pdev, IORESOURCE_MEM, 1);
   1705 if (!pdata || !mem_ipu || !mem_ic)
   1706 return -EINVAL;

Later on, I get error 16, Device or resource busy on VIDIOC_S_FMT, apparently 
because mx3_camera can't get its dma channel.

Any clue?

--
Agustin Ferrin Pozuelo
Embedded Systems Consultant
http://embedded.ferrin.org/

--- On 18/2/09, Guennadi Liakhovetski wrote:
From: Guennadi Liakhovetski l...@denx.de

General code clean-up: remove superfluous semicolons, update comments.
Robustness improvements: add DMA error handling to the ISR, move common code
fragments to functions, fix scatter-gather element queuing in the ISR, survive
channel freeing and re-allocation in a quick succession.

Signed-off-by: Guennadi Liakhovetski l...@denx.de
---

As mentioned in PATCH 0/4 this one is only for completeness / testing 
here, will be submitted separately to the dmaengine queue. Dan, would be 
good if you could review it here to save time.

 drivers/dma/ipu/ipu_idmac.c |  300 ---
 1 files changed, 196 insertions(+), 104 deletions(-)

diff --git a/drivers/dma/ipu/ipu_idmac.c b/drivers/dma/ipu/ipu_idmac.c
index 1f154d0..91e6e4e 100644
--- a/drivers/dma/ipu/ipu_idmac.c
+++ b/drivers/dma/ipu/ipu_idmac.c
@@ -28,6 +28,9 @@
 #define FS_VF_IN_VALID 0x0002
 #define FS_ENC_IN_VALID0x0001
 
+static int ipu_disable_channel(struct idmac *idmac, struct idmac_channel
*ichan,
+  bool wait_for_stop);
+
 /*
  * There can be only one, we could allocate it dynamically, but then we'd
have
  * to add an extra parameter to some functions, and use something as ugly as
@@ -107,7 +110,7 @@ static uint32_t bytes_per_pixel(enum pixel_fmt fmt)
}
 }
 
-/* Enable / disable direct write to memory by the Camera Sensor Interface */
+/* Enable direct write to memory by the Camera Sensor Interface */
 static void ipu_ic_enable_task(struct ipu *ipu, enum ipu_channel channel)
 {
uint32_t ic_conf, mask;
@@ -126,6 +129,7 @@ static void ipu_ic_enable_task(struct ipu *ipu, enum
ipu_channel channel)
idmac_write_icreg(ipu, ic_conf, IC_CONF);
 }
 
+/* Called under spin_lock_irqsave(ipu_data.lock) */
 static void ipu_ic_disable_task(struct ipu *ipu, enum ipu_channel channel)
 {
uint32_t ic_conf, mask;
@@ -422,7 +426,7 @@ static void ipu_ch_param_set_size(union chan_param_mem
*params,
break;
default:
dev_err(ipu_data.dev,
-   mxc ipu: unimplemented pixel format %d\n, pixel_fmt);
+   mx3 ipu: unimplemented pixel format %d\n, pixel_fmt);
break;
}
 
@@ -433,20 +437,20 @@ static void ipu_ch_param_set_burst_size(union
chan_param_mem *params,
uint16_t burst_pixels)
 {
params-pp.npb = burst_pixels - 1;
-};
+}
 
 static void ipu_ch_param_set_buffer(union chan_param_mem *params,
dma_addr_t buf0, dma_addr_t buf1)
 {
params-pp.eba0 = buf0;
params-pp.eba1 = buf1;
-};
+}
 
 static void ipu_ch_param_set_rotation(union chan_param_mem *params,
  enum ipu_rotate_mode rotate)
 {
params-pp.bam = rotate;
-};
+}
 
 static void ipu_write_param_mem(uint32_t addr, uint32_t *data,
uint32_t num_words)
@@ -571,7 +575,7 @@ static uint32_t dma_param_addr(uint32_t dma_ch)
 {
/* Channel Parameter Memory */
return 0x1 | (dma_ch  4);
-};
+}
 
 static void ipu_channel_set_priority(struct ipu *ipu, enum ipu_channel
channel,
 bool prio)
@@ -611,7 +615,8 @@ static uint32_t ipu_channel_conf_mask(enum ipu_channel
channel)
 
 /**
  * ipu_enable_channel() - enable an IPU channel.
- * @channel:   channel ID.
+ * @idmac: IPU DMAC context.
+ * @ichan: IDMAC channel.
  * @return:0 on success or negative error code on failure.
  */
 static int ipu_enable_channel(struct idmac *idmac, struct idmac_channel
*ichan)
@@ -649,7 +654,7 @@ static int ipu_enable_channel(struct idmac *idmac, struct
idmac_channel *ichan)
 
 /**
  * ipu_init_channel_buffer() - initialize a buffer for logical IPU channel.
- * @channel:   channel ID.
+ * @ichan: IDMAC channel.
  * @pixel_fmt: pixel format of buffer. Pixel format is a FOURCC ASCII code.
  * @width: width of buffer in pixels.
  * @height:height of buffer in pixels.
@@ -687,7 +692,7 @@ static int ipu_init_channel_buffer(struct idmac_channel
*ichan,
}
 
/* IC channel's stride must be a multiple of 8 pixels */
-   if 

Re: [PATCH/RFC 1/4] ipu_idmac: code clean-up and robustness improvements

2009-02-28 Thread Guennadi Liakhovetski
On Sat, 28 Feb 2009, Agustin wrote:

 
 Hi Guennadi,
 
 I am having trouble while probing ipu idmac:
 
 At boot:
 ipu-core: probe of ipu-core failed with error -22
 
 Which is apparently happening at ipu_idmac:1706:
1695 static int __init ipu_probe(struct platform_device *pdev)
...
1703 mem_ipu = platform_get_resource(pdev, IORESOURCE_MEM, 0);
1704 mem_ic  = platform_get_resource(pdev, IORESOURCE_MEM, 1);
1705 if (!pdata || !mem_ipu || !mem_ic)
1706 return -EINVAL;
 
 Later on, I get error 16, Device or resource busy on VIDIOC_S_FMT, 
 apparently because mx3_camera can't get its dma channel.
 
 Any clue?

Are you sure it is failing here, have you verified with a printk? If it is 
indeed this place, then you probably didn't register all required 
resources in your platfom code. Look at my platform-bindings patch.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Recommendation for good example i2c driver code

2009-02-28 Thread William M. Brack
When writing a new driver, which existing driver would be a good model
to use for handing the i2c bus?

Bill

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Recommendation for good example i2c driver code

2009-02-28 Thread Hans Verkuil
On Saturday 28 February 2009 23:18:54 William M. Brack wrote:
 When writing a new driver, which existing driver would be a good model
 to use for handing the i2c bus?

Hi Bill,

I recommend reading Documents/video4linux/v4l2-framework.txt. It's not clear 
from your question whether you want an example driver for an i2c device, or 
an example for how to use i2c devices in an PCI or USB driver.

A simple, but decent example source for the first would be wm8739.c and for 
the second we have saa7134 or cx18.

It's a bit in flux at the moment since we are moving all drivers over to the 
v4l2_device/v4l2_subdev structure, but some still use the old model.

Regards,

Hans

-- 
Hans Verkuil - video4linux developer - sponsored by TANDBERG
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Recommendation for good example i2c driver code

2009-02-28 Thread Andy Walls
On Sun, 2009-03-01 at 00:01 +0100, Hans Verkuil wrote:
 On Saturday 28 February 2009 23:18:54 William M. Brack wrote:
  When writing a new driver, which existing driver would be a good model
  to use for handing the i2c bus?
 
 Hi Bill,
 
 I recommend reading Documents/video4linux/v4l2-framework.txt. It's not clear 
 from your question whether you want an example driver for an i2c device, or 
 an example for how to use i2c devices in an PCI or USB driver.
 
 A simple, but decent example source for the first would be wm8739.c and for 
 the second we have saa7134 or cx18.
 
 It's a bit in flux at the moment since we are moving all drivers over to the 
 v4l2_device/v4l2_subdev structure, but some still use the old model.

Bill,

Your question also did not specify if this was a driver for an analog
(V4L2) or DTV (DVB) capture unit.  Hans' comments regarding
v4l2_device/v4l2_subdev currently only apply to analog capture units or
the analog side of hybrid capture units.  If you have a DTV-only capture
unit, the v4l2_device/v4l2_subdevice framework doesn't apply at present.

AFAICT, the saa7134 and cx18 drivers both have code to deal with hybrid
analog/DTV units.

Regards,
Andy

 Regards,
 
   Hans


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] cx88: Add IR support to pcHDTV HD3000 HD5500

2009-02-28 Thread Erik S. Beiser
cx88: Add IR support to pcHDTV HD3000  HD5500

Signed-off-by: Erik S. Beiser er...@bu.edu

---

Idea originally from http://www.pchdtv.com/forum/viewtopic.php?t=1529
I made it into this small patch and added the HD3000 support also, which I have 
 I've actually
been using this for over a year, updating for new kernel versions.  I'm tired 
of doing so,
and would like to try and have it merged upstream -- I hope I got all the 
patch-mechanics
correct.  I just updated and tested it today on 2.6.28.7 vanilla.  Thanks.

--- linux/drivers/media/video/cx88/cx88-input.c.orig2009-02-20 
17:41:27.0 -0500
+++ linux/drivers/media/video/cx88/cx88-input.c 2009-02-28 15:58:34.0 
-0500
@@ -226,6 +226,8 @@ int cx88_ir_init(struct cx88_core *core,
case CX88_BOARD_HAUPPAUGE_HVR3000:
case CX88_BOARD_HAUPPAUGE_HVR4000:
case CX88_BOARD_HAUPPAUGE_HVR4000LITE:
+   case CX88_BOARD_PCHDTV_HD3000:
+   case CX88_BOARD_PCHDTV_HD5500:
ir_codes = ir_codes_hauppauge_new;
ir_type = IR_TYPE_RC5;
ir-sampling = 1;
@@ -466,6 +468,8 @@ void cx88_ir_irq(struct cx88_core *core)
case CX88_BOARD_HAUPPAUGE_HVR3000:
case CX88_BOARD_HAUPPAUGE_HVR4000:
case CX88_BOARD_HAUPPAUGE_HVR4000LITE:
+   case CX88_BOARD_PCHDTV_HD3000:
+   case CX88_BOARD_PCHDTV_HD5500:
ircode = ir_decode_biphase(ir-samples, ir-scount, 5, 7);
ir_dprintk(biphase decoded: %x\n, ircode);
/*


--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Lifeview FlyDVB Hybrid PCI (LR-306N): doesn't work anymore

2009-02-28 Thread Mario Chisari
Hi,
I own a Lifeview FlyDVB Hybrid LR-306N model; it is a PCI model, and
I've been happily using it with my Mythtv for a couple of years,
despite it was identified as a Cardbus model. About two months ago, I
have upgraded kernel, and since then DVB function doesn't work
anymore.

I've checked what's changed, and I've noticed /var/log/messages once
was something like:

Dec 28 14:07:02 mumonkan kernel: [   56.651901] saa7130/34: v4l2
driver version 0.2.14 loaded
Dec 28 14:07:02 mumonkan kernel: [   57.249000] saa7133[0]: found at
:00:09.0, rev: 208, irq: 19, latency: 32, mmio: 0xfebfe800
Dec 28 14:07:02 mumonkan kernel: [   57.249083] saa7133[0]: subsystem:
5168:3306, board: LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D
NB [card=94,autodetected]
Dec 28 14:07:02 mumonkan kernel: [   57.249173] saa7133[0]: board
init: gpio is 21
Dec 28 14:07:02 mumonkan kernel: [   57.381216] saa7133[0]: i2c eeprom
00: 68 51 06 33 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
Dec 28 14:07:02 mumonkan kernel: [   57.382161] saa7133[0]: i2c eeprom
10: 00 00 62 08 ff 20 ff ff ff ff ff ff ff ff ff ff
Dec 28 14:07:02 mumonkan kernel: [   57.383096] saa7133[0]: i2c eeprom
20: 01 40 01 03 03 01 01 03 08 ff 01 16 ff ff ff ff
Dec 28 14:07:02 mumonkan kernel: [   57.384032] saa7133[0]: i2c eeprom
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 28 14:07:02 mumonkan kernel: [   57.384967] saa7133[0]: i2c eeprom
40: ff 21 00 c2 96 10 05 01 01 16 32 15 ff ff ff ff
Dec 28 14:07:02 mumonkan kernel: [   57.385911] saa7133[0]: i2c eeprom
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 28 14:07:02 mumonkan kernel: [   57.386848] saa7133[0]: i2c eeprom
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 28 14:07:02 mumonkan kernel: [   57.387783] saa7133[0]: i2c eeprom
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 28 14:07:02 mumonkan kernel: [   57.400815] saa7133[0]: registered
device video0 [v4l2]
Dec 28 14:07:02 mumonkan kernel: [   57.400995] saa7133[0]: registered
device vbi0
Dec 28 14:07:02 mumonkan kernel: [   57.401173] saa7133[0]: registered
device radio0
Dec 28 14:07:02 mumonkan kernel: [  129.568135] DVB: registering new
adapter (saa7133[0])
Dec 28 14:07:02 mumonkan kernel: [  129.568234] DVB: registering
frontend 0 (Philips TDA10046H DVB-T)...
Dec 28 14:07:02 mumonkan kernel: [  129.638878] tda1004x: setting up
plls for 48MHz sampling clock
Dec 28 14:07:02 mumonkan kernel: [  131.632829] tda1004x: found
firmware revision 29 -- ok
Dec 28 14:07:31 mumonkan kernel: [  214.693005] tda1004x: setting up
plls for 48MHz sampling clock
Dec 28 14:07:33 mumonkan kernel: [  216.647008] tda1004x: found
firmware revision 29 -- ok

Now it goes like this:

Feb 13 22:53:06 mumonkan [    7.138352] saa7130/34: v4l2 driver
version 0.2.14 loaded
Feb 13 22:53:06 mumonkan [    8.089793] saa7134 :00:09.0: PCI INT
A - GSI 17 (level, low) - IRQ 17
Feb 13 22:53:06 mumonkan [    8.089800] saa7133[0]: found at
:00:09.0, rev: 208, irq: 17, latency: 32, mmio: 0xfebfe800
Feb 13 22:53:06 mumonkan [    8.089808] saa7133[0]: subsystem:
5168:3306, board: LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D
NB [card=94,autodetected]
Feb 13 22:53:06 mumonkan [    8.089827] saa7133[0]: board init: gpio is 21
Feb 13 22:53:06 mumonkan [    8.240008] saa7133[0]: i2c eeprom 00: 68
51 06 33 54 20 1c 00 43 43 a9 1c 55 d2 b2 92
Feb 13 22:53:06 mumonkan [    8.240019] saa7133[0]: i2c eeprom 10: 00
00 62 08 ff 20 ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240027] saa7133[0]: i2c eeprom 20: 01
40 01 03 03 01 01 03 08 ff 01 16 ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240036] saa7133[0]: i2c eeprom 30: ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240044] saa7133[0]: i2c eeprom 40: ff
21 00 c2 96 10 05 01 01 16 32 15 ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240052] saa7133[0]: i2c eeprom 50: ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240060] saa7133[0]: i2c eeprom 60: ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240068] saa7133[0]: i2c eeprom 70: ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240076] saa7133[0]: i2c eeprom 80: ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240084] saa7133[0]: i2c eeprom 90: ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240092] saa7133[0]: i2c eeprom a0: ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240100] saa7133[0]: i2c eeprom b0: ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240108] saa7133[0]: i2c eeprom c0: ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240116] saa7133[0]: i2c eeprom d0: ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan [    8.240124] saa7133[0]: i2c eeprom e0: ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Feb 13 22:53:06 mumonkan 

Re: Topro 6800 driver

2009-02-28 Thread Jean-Francois Moine
On Sat, 28 Feb 2009 16:11:36 +0100
Anders Blomdell anders.blomd...@control.lth.se wrote:

 Jean-Francois Moine wrote:
  Thomas Champagne (See To:) was also writing a driver for this
  webcam. Maybe you may merge your codes...
 Thomas, if you have DQT/Huffman tables for this camera, please drop
 me a note.
 
  About the JPEG images, the Huffman table is always the same 
 Does this mean that it's the same for all JPEG images or only for one 
 camera?
 
 If it's the same for all images, it should mean that I have a way to 
 determine how much I have to chop off after the 0xfffe tag (no
 illegal huffman codes - possibly chop at the correct position).
 
 Comments anyone?

I already explained it:

- when a packet starts with '55 ff d8', it is the first part of the
  image. This one should start at the offset 8 of the packet.
  

   and the
  quantization tables depend on the compression quality.
  
  From the USB trace I had from Thomas, I saw that:
  
  - when a packet starts with '55 ff d8', it is the first part of the
image. This one should start at the offset 8 of the packet.
  
  - when a packet starts with 'cc', it is the next part of the image.
 This is even in the docs, and is implemented in the driver.
 
  In the function pkt_scan, when finding the image start, you must add
  the JPEG header: 'ff d8', DQT, huffman table, SOF0 and SOS.
 OK, will see if I can find the DQT (and possibly the Huffman table)
 in the windows driver (as suggested by Thomas Kaiser).

See below.

  As we don't know the quality used by the webcam, in my test
  repository, I added a control for that: the JPEG header is created
  at streamon time, and the quantization tables may be modified by
  the control on the fly (have a look at stk014.c for an example).
  
  This solution is not the right one: the JPEG quality must be set by
  the VIDIOC_S_JPEGCOMP ioctl instead of VIDIOC_S_CTRL. I think I
  will update the concerned subdrivers next week.
 I'll look into that monday.

In gspca, the file jpeg.h contains all the material to build a
complete JPEG header. With the new mechanism of my test repository, you
must:

- at streamon time (function sd_start):
- allocate a buffer for the JPEG header,
- set the resolution and number of samplesY (0x22 or 0x21) by
the function jpeg_define,
- set the quantization tables by the function jpeg_set_qual,
  the quality being in percent (15..95).

- when getting the start of a new image in sd_pkt_scan, add the JPEG
  header as the first packet.

- at streamoff time (function sd_stop0), free the JPEG header.

- on VIDIOC_S_JPEGCOMP (function sd_set_jcomp which you must create),
  redefine the quantization tables by jpeg_set_qual.

Cheers.

-- 
Ken ar c'hentañ | ** Breizh ha Linux atav! **
Jef |   http://moinejf.free.fr/
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html