IVTV changes: 0.10.6 release - Improve mailbox responsiveness. - Fix TV-out VBI handling, only reset VBI output on last close. - Fix log message reporting an incorrect firmware size. - Add composite input support for ivtv_card_pg600v2. - (Hopefully) prevent flickering of the top-third of the screen. - The Stop Capture command now also transfers the last pending DMA transfer. - Ensure that the buffers never contain 'half-frames' causing sync problems for the YUV input. - It turns out that the cx23415/6 DMA engine cannot do scatter/gather DMA reliably. Every so often depending on the phase of the moon and your hardware configuration the cx2341x DMA engine simply chokes on it and you have to reboot to get it working again. This change replaced the scatter/gather DMA by single transfers at a time, where the driver is now responsible for DMA-ing each buffer. Many thanks to Mark Bryars for discovering the link between scatter/gather and the DMA timeouts. - Prevent vertical overflow of yuv output. - Framebuffer timings no longer locked on module load. - Prevent yuv register updates from being missed. - Attach yuv field order to each frame. - Split Club3D card from Yuan PG600-2, GotView PCI DVD Lite (different composite input) - Add AVerTV MCE 116 Plus (M116) card - Allow Xceive cards to be used without Xceive support - Don't mute/unmute the audio input. Muting the cx23415/6 is sufficient. - Invalid VBI packets should result in an empty VBI frame, not in an zero-sized frame that causes the reader to incorrectly return a 0 (EOF) value. - Trying to open the radio when a capture is in progress will make it impossible to open the radio again since the stream wasn't released. - Change the video color to black when a capture from the radio is started. Thanks to Martin Dauskardt for finding this. - Fix MPEG1 resizing. - Removed the v4l-cx2341x-init.mpg file as it's now part of the firmware.tar.gz package. 0.10.5 release - Fix lockup when capturing vbi and PCM at the same time. 0.10.4 release - Fix /dev/vbi16 handling. - Add locking to ensure stream setup is atomic. - Add High Volume debug flag to enable/disable the recurring messages that appear during encoding/decoding. 0.10.3 release - Models 30012 to 30039 are for a low profile PVR250, not a PVR150. - Move PIO memory copies from the interrupt handler to the work handler. This fixes problems with the timer ticks and IR remotes. 0.10.2 release - Replace SA_* with IRQF_*. - Add support for 2.6.21 kernels. - Fix radio audio stuttering. - Add autodetect for new PVR150 low-profile models. - Fix audio volume problem on CX23416GYC-STVLP. - First unregister driver, then free memory. Not the other way around. - Modifies automatic mode selection for yuv playback. Behaviour is now that source video with a vertical resolution below that of the currently set broadcast mode will be treated as progressive. Video with a vertical resolution greater or equal to the current broadcast mode (up to 576 lines) will be treated as interlaced. - Update the VIDIOC_INT_RESET define. - VIDIOC_INT_RESET changed starting 2.6.19, so check kernel version for correct VIDIOC_INT_RESET define. 0.10.1 release - Fix bug where the 'App not reading fast enough' message was repeated continuously. It should only show it once, until the application is reading again. - Allow hex input for setting controls (-c option) in v4l2-ctl. - Show the actual amount of bytes read from /dev/videoX in the LOG_STATUS text. - Due to a bad copy-and-paste the i2c subsystem used I2C_HW_B_BT848 instead of I2C_HW_B_CX2341X. - Still allow 256 KB encoder firmwares for compatibility with blackbird cards. - Fix PIO support. - Pass correct values for ENC_MISC(3, ...) - Fix ivtvfbctl option handling on ppc. 0.10.0 release Completely redesigned the interrupt/DMA handling of the driver and also much of the other code. Ian Armstrong contributed huge improvements to the framebuffer code. Too many improvements, fixes, etc. to list here. 0.8.0 release 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. - Removed IVTV_IOC_ZCOUNT, IVTV_IOC_FWAPI, IVTV_IOC_EVENT_SETUP: no longer needed or wanted. - 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. 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. 0.7.0 release - Add us-cable-irc frequency mapping. Thanks to v1h3-lj05@spamex.com. - Add support for the Yuan MPC622 card. - Add support for the Gotview PCI DVD2 Deluxe card. 0.6: see the ivtv-0.6 branch 0.5.2 release - removed autoload module option - removed tda9887 module option. If anyone needs this, then post in the ivtv-devel mailinglist. There may be microtune tuners that need it, but in that case the driver should be adapted to autodetect it. - added support for the Hauppauge A/V cable set which adds extra composite and S-Video inputs. - the v4l2 inputs have changed. This means that you may have to update your MythTV setup! - renamed v4l-cx2341x-init-mpeg.bin to v4l-cx2341x-init.mpg (the name was too long for the 2.4 kernel firmware load, the max name length in 2.4 is 20, for 2.6 it is 29). - fixed firmware load for amd64 systems with gcc-4.0. - fixed ticket #70: -window option was broken. 0.5.1 release - fixed memory overwrite in ivtvctl. - fixed memory overwrite in ivtv-detect. - closes #43: fixed kernel oops due to broken debug messages. - fixed kernel oops when loading ivtv-fb without ivtv cards being found. - closes #58: add workaround for the PVR150 hardware bug that affects PVR150 cards with tuner models 85, 99 and 112. - closes #57: in v4l the number of vbi minors has been increased, which allows the driver to use the '+8' scheme and to support more than 4 PVR350 cards. 0.5.0 release - removed tveeprom, tuner, v4l1-compat, msp3400 and tda9887 in favor of the versions in v4l. - moved saa7115, saa7127, cx25840, wm8775 and cs53l32a to v4l. - use v4l2 API to communicate with those modules (in preparation of phasing out v4l1 support). - renamed firmwares/init-mpeg to be more consistent: ivtv-fw-enc.bin -> v4l-cx2341x-enc.fw ivtv-fw-dec.bin -> v4l-cx2341x-dec.fw HcwMakoA.ROM -> v4l-cx25840.fw ivtv_init_mpeg.bin -> v4l-cx2341x-init-mpeg.bin - lots of smaller ivtv cleanups. - added internals documentation (used to float around on several internet pages, it's now part of the driver documentation). - setting a register of the saa7115 or saa7127 now requires root permissions. - hotplug support is required to load the firmware. You should place the firmware files in the hotplug directory. - add support for old-style PVR350 (with a saa7114 instead of a saa7115). - fix a few misdetected Hauppauge cards. - fix MODULE_AUTHOR lists. - fix VBI support in the passthrough mode. - cx25840ctl now uses the raw I2C API to access the cx25840. - updated several utilities to use getopt for better commandline handling. - utils/videodev2.h copy removed in favor of v4l supplied header. 0.4.0 stable release - specify the hardware that was found in the driver info. It is shown in ivtv-detect. - add --log-status option to ivtvctl to produce a status report in the kernel log of the board status. - support 2.6.14 kernel i2c and tveeprom changes. - fix sound on the DIAMOND PVR-550 (CX FALCON2) cards. - [Trev Jackson] add support for Adaptec VIDEOH! AVC-2410 and Adaptec VIDEOH! AVC-2010 cards. - fix sound for many Philips FM/FQ type tuners (incorrect tda9887 default settings). - fix initialization sequence of the cx25840, solving problems with no sound on the second PVR500 tuner. - add autodetect for TCL MPE05-2 tuners. - add special handling for SECAM to support NICAM-L audio. - fix ghosting when using scaled video. - fix occasional drop outs and corruption when using firmware versions 0x02040011 and earlier. The driver used byte stream based DMA for these older firmwares instead of frame based. There is probably a bug in the byte stream handling in the firmware, which is why the newer firmware only supports frame based DMA. Many thanks go to Leonard Orb for his invaluable help in tracing the cause of the drop outs. Note that this only fixes part of the problem. Indications are there is another bug that also triggers similar drop outs (but much more rarely). The search continues... - recommended firmware versions are now 0x02040011 and 0x02050032. - 350 will try to initialise decoder so yuv playback works. It loads ivtv_init_mpeg.bin from either /lib/modules or hotplug firmware directory. If using hotplug file will need copying there manually. - Add mute support for the cx25840. - Fix audio on external inputs for the cx25840. - 350 osd clears screen at startup. Can be disabled with osd_init module parameter. - change buffering in YUV playback code to reduce CPU usage in Xv 0.3.8 release - switched to subversion, all old archives are imported in chronological order. - the comment field of the version string now holds the svn revision. - for tagged releases a driver/ivtv-svnrelease.h header must be added to the tags/X.Y.Z driver containing a fixed release string. - moved ChangeLog to ChangeLog.old and started a new one for the subversion development. - upped the version to 0.3.8 to mark these changes. - updated the README file with information where to find the subversion repository. - Fix radio support for Microtune 4049 FM5 tuner - Fix incorrect pack_stuffing_length in the embedded VBI mpeg header, causing tcdecode to fail. - [Bryan Mayland] Added README.tda9887 - Removed linux/stringify.h include from ivtvctl.c. Not everyone had this installed. - IVTV_IRQ_DEC_VSYNC should only be set for cards with video output. - Fixed uninitialized vps variable. - [Boleslaw Ciesielski] Do not buffer vbi output. - Replace the ivtv-specific sliced VBI API with the new video4linux sliced VBI API. This will break any program that uses the following ioctls: IVTV_IOC_S_VBI_MODE, IVTV_IOC_G_VBI_MODE, IVTV_IOC_S_VBI_FMT, IVTV_IOC_G_VBI_FMT, IVTV_IOC_TRY_VBI_FMT and IVTV_IOC_G_VBI_CAP. - Do not passthrough VBI data that is not in the expected line/field. - Autodetect the presence of a tda9887. - Ticket #4: poll() bug fix: check whether the given file is capturing, not if *any* file is capturing. This blocked simultaneous MPEG and raw VBI captures. - Changed the default of ivtv_dynbuf to static memory allocation. - Closes #5: correctly swap VBI reinsertion data when fed a non-4-byte aligned mpeg file. - Fix VIDIOC_QUERYMENU and add VIDIOC_G_FBUF. - Closes #19: properly handle /dev/vbi0 and /dev/vbi4 in combination with the internal VBI encoder/decoder streams. - YUV playback defaults to interlaced instead of auto_switching to progressive for content less than 481 lines. ivtvctl has 2 new options --get-yuv-mode & --set-yuv-mode that can get and set the current mode. - The default yuv payback mode & threshold can be set by the module option ivtv_yuv_mode & ivtv_yuv_threshold