Hi all,
I thought that it might be a good idea to give a sort of progress update
on what's happening with the driver. It's been a very busy last two
weeks for me so there haven't been many updates (although I did manage
to release 0.4.1).
Two main projects are merging support for the Japanese cards into ivtv
and adding support for the Hauppauge A/V cable set (extra S-Video and
composite inputs). These new features will only appear in the 0.5
series, not in 0.4. Both projects require a fairly big rework of
ivtv-cards.c, most of which is done. I think it will be quite an
improvement and makes adding new cards easier.
I'd like to thank Jesse Guardiani for getting me the cable set and
apologize that it takes longer than expected to get the code in. A
quick patch wasn't enough in this case (at least not without making a
big mess).
Regarding the merge of the Japanese 'paken' version: the v4l repository
now contains code to fully program the tda9887 and I'm working on
adding the necessary code to the saa7115 module to support one of the
Japanese cards that uses a different method to setup the audio clock
frequency. The changes in ivtv-cards.c should also make it easier to do
the merge for the new cards. I've fully cleaned up the wm8739.c module,
but I still have to do the same cleanup for the other new modules. This
merge has high priority for me and I intend to work on it next week.
One outstanding problem (ticket #37) is with automatically detecting i2c
chips. The current i2c subsystem in the kernel assumes that all chips
can be detected. Unfortunately this is not always the case. One very
good example are the wm8775 and wm8739 chips: they are write-only, so
there is no way to read some register to check the value it contains.
They also both use the same i2c address. There is no solution to this.
But work is being done by the i2c programmers to change this and it is
expected to appear in 2.6.16 or 2.6.17. Until that time we have to live
with it. A workaround exists using module options.
Ticket #49 is still a major bug (after a DMA error the byte stream is
shifted). There is a workaround (see the ticket) but for a real fix I
want to wait until I start the cleanup of the ivtv code. The process of
cleaning up the code may well automatically point to the fix.
The cleanup is sorely needed: I think that a 20-40% reduction in code is
possible as there is a lot of duplicate code and probably also dead
code. We have about 600 kilobytes of source code, which is simply
ridiculous (about 1/6th of the whole v4l repository!). I have to admit
that I don't mind refactoring code. It gives a special sort of
satisfaction if you can delete major pieces of code.
I don't dare give a date when the ivtv driver might enter the kernel. It
depends entirely on how quick (or not) the cleanup will be. And besides
the ivtv work I'd also like to do some work on the v4l code (esp.
msp3400.c, work together with the other v4l developers to create a
common API to set MPEG encoding properties, possible partial merge with
other projects like pvrusb2, dvb cards using the blackbird design).
One thing is for sure: I won't be bored.
Anyway, I think this gives a fairly complete (if rambling) overview of
what's cooking.
Merry Christmas!
Hans Verkuil
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users