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