Hi all,

I'm releasing ivtv updates for all kernels up to 2.6.18. The updated 
drivers can be downloaded from www.ivtvdriver.org.

As usual: ivtv-0.4.7 is for kernels <= 2.6.15, 0.6.4 is for 2.6.16, 
0.7.1 is for 2.6.17 and 0.8.0 is for kernel 2.6.18.

Below I've listed the changes for each driver, but I want to give a bit 
more attention to the major changes in 0.8.0/2.6.18.

As you know I'm still working towards kernel inclusion of the driver. 
The 2.6.18 kernel now contains a major building block: it adds a new 
official MPEG encoding API. This is to be used by all future MPEG-1/2/4 
encoders. And it also adds a cx2341x module that implements the 
handling of that new API and is shared by ivtv, pvrusb2 and cx88 
(blackbird) drivers.

The old ivtv-proprietry API has been removed completely. This means that 
any applications that depend on it have to be converted to the new API. 
MythTV 0.20 has the required changes already. But read the note in the 
ivtv-0.8.0 README when you are building MythTV on a 64-bit system as 
you need to apply a patch over MythTV first.

Also many ivtv-specific ioctls have been removed if they could be 
replaced by something else, or if they simply were not needed anymore.

The ivtvctl utility now only contains ivtv-specific options, for most of 
the normal v4l2 device manipulations you can use the new v4l2-ctl tool 
(copied from the v4l-dvb repository). Basically I took the old ivtvctl, 
removed all ivtv-specific actions, added support for the new v4l2 MPEG 
encoder API and committed the result to the v4l-dvb repository (and 
added a copy in the ivtv repository).

So for changing inputs, querying the card, etc. you should use v4l2-ctl 
instead of ivtvctl. When ivtv is fully merged into the kernel then 
ivtvctl will disappear altogether.

What is left to do before the driver can be merged? Basically the OSD 
(framebuffer) and MPEG decoding support needs to be converted to a 
standard V4L2 API. And guess what? There is no such API. So this will 
probably again mean that I need to design such an API. For the OSD it 
might be that I can keep a ivtv-proprietry API, I have some doubt about 
whether a generic API will be possible for the OSD. But the MPEG 
decoding API will certainly have to be created.

However, no such thing has been planned for the 2.6.19 kernel as I'm 
busy concentrating on the driver itself, trying to improve/fix the DMA 
handling. But 2.6.18/0.8.0 is a major step forwards and I hope you'll 
enjoy it.

Thanks,

        Hans

PS: thanks for all the people who gave donations, I'm now looking at a 
nice big monitor thanks to your generosity!

PPS: check out the qv4l2 utility in v4l2-apps/util/qv4l2 in the v4l-dvb 
repository (www.linuxtv.org). It's a GUI version of v4l2-ctl which 
allows you to change all sort of (MPEG) parameters on the fly. Very 
useful for testing!

-------------------------------------------

Changes in 0.8.0 (for kernel 2.6.18):

Many API changes as part of the work to merge the driver into the 
kernel:
- Removed IVTV_IOC_S/G_DEBUG_LEVEL: 
use /sys/module/ivtv/parameter/ivtv_debug instead.
- Replaced IVTV_IOC_S/G_DECODER_REG, IVTV_IOC_S/G_ENCODER_REG and 
IVTV_IOC_S/G_ITVC_REG by VIDIOC_INT_S/G_REGISTER.
- Replaced IVTV_IOC_S_AUDIO_ROUTING by VIDIOC_INT_S_AUDIO_ROUTING.
- Replaced IVTV_IOC_RESET_IR by VIDIOC_INT_RESET.
- Removed IVTV_IOC_S_START_DECODE and IVTV_IOC_S_STOP_DECODE: this was 
experimental code only as far as I can tell. It was certainly pointless 
code.
- Replaced IVTV_IOC_S/G_CODEC by the new V4L2 MPEG encoding API.
- Replaced IVTV_IOC_S/G_VBI_EMBED by the new V4L2 MPEG encoding API.
- Removed IVTV_IOC_G_DRIVER_INFO and IVTV_IOC_G_STREAM_INFO: the first 
wasn't very useful, the second is now replaced by the kernel messages 
that appear when loading the driver and that tell you which device is 
used for what stream.
        
Bug fixes:
- Detect and workaround DMA offsets that can be introduced by a DMA 
error.
- Sliced VBI always uses PIO, never DMA.

Utility changes:
- Removed test/fwapi.
- Removed utils/ivtv-detect.
- Added utils/v4l2-ctl. Much of what was in ivtvctl is now in this 
application (copied from v4l-dvb, www.linuxtv.org). Eventually ivtvctl 
will disappear and all control will be done through v4l2-ctl.
- Add getopt support to test/vbi. Add new timeout option.
- Fix South African broadcast frequency table.

Changes in 0.7.1 (for kernel 2.6.17):

- Add getopt support to test/vbi. Add new timeout option.
- Fix South African broadcast frequency table.
- Detect and workaround DMA offsets that can be introduced by a DMA 
error.
- Sliced VBI always uses PIO, never DMA.

Changes in 0.6.4 (for kernel 2.6.16):

- Add getopt support to test/vbi. Add new timeout option.
- Fix South African broadcast frequency table.
- Detect and workaround DMA offsets that can be introduced by a DMA 
error.

Changes in 0.4.7 (for kernel 2.6.15 and older):

- Add support for the TCL M2523_3DB_E tuner and the Philips FM1236 MK5 
and FM1216ME MK5 tuners.
- Add getopt support to test/vbi. Add new timeout option.
- Fix South African broadcast frequency table.
- Detect and workaround DMA offsets that can be introduced by a DMA 
error.

_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users

Reply via email to