To convert Sony Handycam video 8 tapes from analog to digital, I got a Hauppauge WinTV PVR-150 card for my amd64 type computer running Debian Testing.
My installation almost works, except that the digital images contain approximately 48 heavy, evenly spaced vertical lines, that are not on the original tapes. To reproduce this I use Xawtv to set the video source to Composite-1 then run cat /dev/video0 | xine URL:stdin://mpeg4 & in a terminal. The video is displayed on the monitor. The TV card seems to be OK, since if I capture from a TV station in the same way, setting the video source to Tuner-1, I don't get the lines. That is as long as I test the tuner-1 video source right after starting the computer. If I have already used the Composite-1 source and I switch to Tuner-1, the TV images then also have the lines. I need to reboot to get rid of them from the tuner signal. I've run through the installation a number of time, so I wonder if I have something installed twice. This is how I installed things the latest time; 1. I followed howto http://ivtvdriver.org/index.php/Howto:Debian 2. The page http://ivtvdriver.org/index.php/Download says to use driver version 1.2.0 for kernel 2.6.25. My kenel is 2.6.25-2-amd64. I downloaded the file ivtv-1.2.0.tar.gz to /lib/firmware, then ran tar -xvvzf ivtv-1.2.0.tar.gz. As directed in /lib/firmware/ivtv-1.2.0/doc/README.install I moved to the directory ivtv-1.2.0 and ran $make then make install. There were a lot of error messages suggesting something was not right at this point. But in spite of this, the video capture does almost work, at the end of all this. details of messages generated from make: c2d:/lib/firmware/ivtv-1.2.0# make make -C i2c-drivers all make[1]: Entering directory `/lib/firmware/ivtv-1.2.0/i2c-drivers' make -C /lib/modules/2.6.25-2-amd64/build M=/lib/firmware/ivtv-1.2.0/i2c-drivers modules /bin/sh: /usr/src/linux-headers-2.6.25-2-amd64/scripts/gcc-x86_64-has-stack-protector.sh: No such file or directory /bin/sh: /usr/src/linux-headers-2.6.25-2-amd64/scripts/gcc-x86_64-has-stack-protector.sh: No such file or directory make[2]: Entering directory `/usr/src/linux-headers-2.6.25-2-amd64' Building modules, stage 2. MODPOST 1 modules make[2]: Leaving directory `/usr/src/linux-headers-2.6.25-2-amd64' make[1]: Leaving directory `/lib/firmware/ivtv-1.2.0/i2c-drivers' make -C utils all make[1]: Entering directory `/lib/firmware/ivtv-1.2.0/utils' g++ -D_GNU_SOURCE -O2 -Wall -g -c -o v4l2-dbg.o v4l2-dbg.cpp v4l2-dbg.cpp:36:23: error: videodev2.h: No such file or directory v4l2-dbg.cpp: In function ‘unsigned int parse_type(const std::string&)’: v4l2-dbg.cpp:132: error: ‘V4L2_CHIP_MATCH_HOST’ was not declared in this scope v4l2-dbg.cpp:133: error: ‘V4L2_CHIP_MATCH_I2C_ADDR’ was not declared in this scope v4l2-dbg.cpp:134: error: ‘V4L2_CHIP_MATCH_I2C_DRIVER’ was not declared in this scope v4l2-dbg.cpp: In function ‘unsigned int parse_chip(int, const std::string&)’: v4l2-dbg.cpp:139: error: ‘V4L2_CHIP_MATCH_HOST’ was not declared in this scope v4l2-dbg.cpp:139: error: ‘V4L2_CHIP_MATCH_I2C_ADDR’ was not declared in this scope v4l2-dbg.cpp: In function ‘std::string cap2s(unsigned int)’: v4l2-dbg.cpp:151: error: ‘V4L2_CAP_VIDEO_CAPTURE’ was not declared in this scope v4l2-dbg.cpp:153: error: ‘V4L2_CAP_VIDEO_OUTPUT’ was not declared in this scope v4l2-dbg.cpp:155: error: ‘V4L2_CAP_VIDEO_OVERLAY’ was not declared in this scope v4l2-dbg.cpp:157: error: ‘V4L2_CAP_VIDEO_OUTPUT_OVERLAY’ was not declared in this scope v4l2-dbg.cpp:159: error: ‘V4L2_CAP_VBI_CAPTURE’ was not declared in this scope v4l2-dbg.cpp:161: error: ‘V4L2_CAP_VBI_OUTPUT’ was not declared in this scope v4l2-dbg.cpp:163: error: ‘V4L2_CAP_SLICED_VBI_CAPTURE’ was not declared in this scope v4l2-dbg.cpp:165: error: ‘V4L2_CAP_SLICED_VBI_OUTPUT’ was not declared in this scope v4l2-dbg.cpp:167: error: ‘V4L2_CAP_RDS_CAPTURE’ was not declared in this scope v4l2-dbg.cpp:169: error: ‘V4L2_CAP_TUNER’ was not declared in this scope v4l2-dbg.cpp:171: error: ‘V4L2_CAP_AUDIO’ was not declared in this scope v4l2-dbg.cpp:173: error: ‘V4L2_CAP_RADIO’ was not declared in this scope v4l2-dbg.cpp:175: error: ‘V4L2_CAP_READWRITE’ was not declared in this scope v4l2-dbg.cpp:177: error: ‘V4L2_CAP_ASYNCIO’ was not declared in this scope v4l2-dbg.cpp:179: error: ‘V4L2_CAP_STREAMING’ was not declared in this scope v4l2-dbg.cpp: In function ‘void print_regs(int, v4l2_register*, long unsigned int, long unsigned int, int)’: v4l2-dbg.cpp:206: error: invalid use of incomplete type ‘struct v4l2_register’ v4l2-dbg.cpp:184: error: forward declaration of ‘struct v4l2_register’ v4l2-dbg.cpp:207: error: ‘VIDIOC_DBG_G_REGISTER’ was not declared in this scope v4l2-dbg.cpp:209: error: invalid use of incomplete type ‘struct v4l2_register’ v4l2-dbg.cpp:184: error: forward declaration of ‘struct v4l2_register’ v4l2-dbg.cpp:211: error: invalid use of incomplete type ‘struct v4l2_register’ v4l2-dbg.cpp:184: error: forward declaration of ‘struct v4l2_register’ v4l2-dbg.cpp: In function ‘void print_chip(v4l2_chip_ident*)’: v4l2-dbg.cpp:223: error: invalid use of incomplete type ‘struct v4l2_chip_ident’ v4l2-dbg.cpp:218: error: forward declaration of ‘struct v4l2_chip_ident’ v4l2-dbg.cpp:229: error: invalid use of incomplete type ‘struct v4l2_chip_ident’ v4l2-dbg.cpp:218: error: forward declaration of ‘struct v4l2_chip_ident’ v4l2-dbg.cpp:231: error: invalid use of incomplete type ‘struct v4l2_chip_ident’ v4l2-dbg.cpp:218: error: forward declaration of ‘struct v4l2_chip_ident’ v4l2-dbg.cpp:231: error: invalid use of incomplete type ‘struct v4l2_chip_ident’ v4l2-dbg.cpp:218: error: forward declaration of ‘struct v4l2_chip_ident’ v4l2-dbg.cpp: In function ‘int main(int, char**)’: v4l2-dbg.cpp:277: error: aggregate ‘v4l2_capability vcap’ has incomplete type and cannot be defined v4l2-dbg.cpp:278: error: aggregate ‘v4l2_register set_reg’ has incomplete type and cannot be defined v4l2-dbg.cpp:279: error: aggregate ‘v4l2_register get_reg’ has incomplete type and cannot be defined v4l2-dbg.cpp:280: error: aggregate ‘v4l2_chip_ident chip_id’ has incomplete type and cannot be defined v4l2-dbg.cpp:324: error: ‘V4L2_CHIP_MATCH_I2C_DRIVER’ was not declared in this scope v4l2-dbg.cpp:332: warning: deprecated conversion from string constant to ‘char*’ v4l2-dbg.cpp:332: warning: deprecated conversion from string constant to ‘char*’ v4l2-dbg.cpp:332: warning: deprecated conversion from string constant to ‘char*’ v4l2-dbg.cpp:332: warning: deprecated conversion from string constant to ‘char*’ v4l2-dbg.cpp:360: warning: deprecated conversion from string constant to ‘char*’ v4l2-dbg.cpp:360: warning: deprecated conversion from string constant to ‘char*’ v4l2-dbg.cpp:360: warning: deprecated conversion from string constant to ‘char*’ v4l2-dbg.cpp:360: warning: deprecated conversion from string constant to ‘char*’ v4l2-dbg.cpp:386: warning: deprecated conversion from string constant to ‘char*’ v4l2-dbg.cpp:386: warning: deprecated conversion from string constant to ‘char*’ v4l2-dbg.cpp:426: error: ‘VIDIOC_QUERYCAP’ was not declared in this scope v4l2-dbg.cpp:444: error: ‘VIDIOC_DBG_S_REGISTER’ was not declared in this scope v4l2-dbg.cpp:450: error: ‘VIDIOC_G_CHIP_IDENT’ was not declared in this scope v4l2-dbg.cpp:457: error: ‘V4L2_CHIP_MATCH_HOST’ was not declared in this scope v4l2-dbg.cpp:460: error: ‘VIDIOC_G_CHIP_IDENT’ was not declared in this scope v4l2-dbg.cpp:466: error: ‘V4L2_CHIP_MATCH_I2C_ADDR’ was not declared in this scope v4l2-dbg.cpp:469: error: ‘VIDIOC_G_CHIP_IDENT’ was not declared in this scope v4l2-dbg.cpp:479: error: ‘V4L2_CHIP_MATCH_HOST’ was not declared in this scope v4l2-dbg.cpp:514: error: ‘VIDIOC_LOG_STATUS’ was not declared in this scope make[1]: *** [v4l2-dbg.o] Error 1 make[1]: Leaving directory `/lib/firmware/ivtv-1.2.0/utils' make: *** [all] Error 2 3. ran $depmod (nothing seemed to happen). 4. ran modprobe ivtv (nothing seemed to happen). 5. for firmware I downloaded from http://dl.ivtvdriver.org/ivtv/firmware/ ivtv-firmware.tar.gz. "This file is meant for ivtv-0.4.2 and up and always contains the recommended firmware versions." I moved this file to /lib/firmware and un-tarred it. 6. I downloaded ivtv-utils 1.2.0-1 from the debian testing repository 7. I downloaded ivtv-source 1.2.0-1 from the debian testing repository 8. I downloaded module-assistant and debian-builder from the debian testing repository 9. ran module-assistant prepare 10. module-assistant auto-install ivtv my hardware: lspci -v 05:02.0 Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01) Subsystem: Hauppauge computer works Inc. Device 8801 Flags: bus master, medium devsel, latency 64, IRQ 23 Memory at d8000000 (32-bit, prefetchable) [size=64M] Capabilities: <access denied> Kernel driver in use: ivtv Kernel modules: ivtv my dmesg related to ivtv [ 5.484593] Linux video capture interface: v2.00 [ 5.516432] parport_pc 00:0a: driver attached [ 5.552382] ivtv: Start initialization, version 1.2.0 [ 5.552479] ivtv0: Initializing card #0 [ 5.552517] ivtv0: Autodetected Hauppauge card (cx23416 based) [ 5.560990] ACPI: PCI Interrupt 0000:05:02.0[A] -> GSI 23 (level, low) -> IRQ 23 [ 5.615258] tveeprom 1-0050: Hauppauge model 26552, rev E268, serial# 8354444 [ 5.615302] tveeprom 1-0050: tuner model is LG TAPE H001F MK3 (idx 68, type 47) [ 5.615349] tveeprom 1-0050: TV standards NTSC(M) (eeprom 0x08) [ 5.615388] tveeprom 1-0050: audio processor is CX25843 (idx 37) [ 5.615427] tveeprom 1-0050: decoder processor is CX25843 (idx 30) [ 5.615467] tveeprom 1-0050: has radio, has no IR receiver, has no IR transmitter [ 5.615514] ivtv0: Autodetected Hauppauge WinTV PVR-150 [ 5.691789] ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 22 (level, low) -> IRQ 22 [ 5.691887] PCI: Setting latency timer of device 0000:00:1b.0 to 64 [ 5.760220] cx25840 1-0044: cx25843-24 found @ 0x88 (ivtv i2c driver #0) [ 5.767644] tuner 1-0043: chip found @ 0x86 (ivtv i2c driver #0) [ 5.767684] tda9887 1-0043: tda988[5/6/7] found [ 5.769033] tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0) [ 5.769091] wm8775 1-001b: chip found @ 0x36 (ivtv i2c driver #0) [ 5.777440] tuner-simple 1-0061: type set to 47 (LG NTSC (TAPE series)) [ 6.110823] input: PS/2 Generic Mouse as /class/input/input5 [ 8.812377] cx25840 1-0044: loaded v4l-cx25840.fw firmware (16382 bytes) [ 9.404295] ivtv0: Registered device video0 for encoder MPG (4096 kB) [ 9.404355] ivtv0: Registered device video32 for encoder YUV (2048 kB) [ 9.404411] ivtv0: Registered device vbi0 for encoder VBI (1024 kB) [ 9.404467] ivtv0: Registered device video24 for encoder PCM (320 kB) [ 9.404522] ivtv0: Registered device radio0 for encoder radio [ 9.404561] ivtv0: Initialized card #0: Hauppauge WinTV PVR-150 [ 9.404618] ivtv: End initialization Thanks for having a look at this. _______________________________________________ ivtv-users mailing list [email protected] http://ivtvdriver.org/mailman/listinfo/ivtv-users
