I added "ivtv_debug=2" to modprobe.conf and watched the output. Here's a portion:
Feb 5 22:55:21 HTPC-be kernel: ivtv: ENC: DMA Done Feb 5 22:55:21 HTPC-be kernel: ivtv: encoder thread sleeping 10210 Feb 5 22:55:21 HTPC-be kernel: ivtv: ENC: read 22528, 233472 bytes left Feb 5 22:55:21 HTPC-be kernel: ivtv: v4l2 read Feb 5 22:55:21 HTPC-be kernel: ivtv: ivtv_read: stream 0.. Feb 5 22:55:21 HTPC-be kernel: ivtv: ENC: 256 bufs, 0x00000000 fill; 256 free 0 dma 0 full 0 io Feb 5 22:55:21 HTPC-be kernel: ivtv: ENC: Sched DMA Feb 5 22:55:21 HTPC-be kernel: ivtv: DMA/MPG type 0x00000000,size 0x00004840,offset 0x001772dc Feb 5 22:55:21 HTPC-be kernel: ivtv: Sched dma: addr: 0x117b0000, SG_length: 2, array_size 0x00008000, type 0x00000000 Feb 5 22:55:21 HTPC-be kernel: ivtv: ENC: DMA Done Feb 5 22:55:21 HTPC-be kernel: ivtv: ENC: Sched DMA Feb 5 22:55:21 HTPC-be kernel: ivtv: DMA/MPG type 0x00000000,size 0x00005fc0,offset 0x000dbb1c Feb 5 22:55:21 HTPC-be kernel: ivtv: Sched dma: addr: 0x117b0000, SG_length: 2, array_size 0x00008000, type 0x00000000 Feb 5 22:55:21 HTPC-be kernel: ivtv: ENC: read 18496, 237504 bytes left Feb 5 22:55:21 HTPC-be kernel: ivtv: v4l2 read Feb 5 22:55:21 HTPC-be kernel: ivtv: ivtv_read: stream 0.. Feb 5 22:55:21 HTPC-be kernel: ivtv: ENC: 256 bufs, 0x00000000 fill; 254 free 2 dma 0 full 0 io Feb 5 22:55:21 HTPC-be kernel: ivtv: ENC: DMA Done Feb 5 22:55:21 HTPC-be kernel: ivtv: ENC: Sched DMA Feb 5 22:55:22 HTPC-be kernel: ivtv: DMA/MPG type 0x00000000,size 0x00005000,offset 0x000e1adc Feb 5 22:55:22 HTPC-be kernel: ivtv: Sched dma: addr: 0x117b0000, SG_length: 2, array_size 0x00008000, type 0x00000000 Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: read 24512, 231488 bytes left Feb 5 22:55:22 HTPC-be kernel: ivtv: v4l2 read Feb 5 22:55:22 HTPC-be kernel: ivtv: ivtv_read: stream 0.. Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: 256 bufs, 0x00000000 fill; 254 free 2 dma 0 full 0 io Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: DMA Done Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: Sched DMA Feb 5 22:55:22 HTPC-be kernel: ivtv: DMA/MPG type 0x00000000,size 0x00005000,offset 0x000e6adc Feb 5 22:55:22 HTPC-be kernel: ivtv: Sched dma: addr: 0x117b0000, SG_length: 2, array_size 0x00008000, type 0x00000000 Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: read 20480, 235520 bytes left Feb 5 22:55:22 HTPC-be kernel: ivtv: v4l2 read Feb 5 22:55:22 HTPC-be kernel: ivtv: ivtv_read: stream 0.. Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: 256 bufs, 0x00000000 fill; 254 free 2 dma 0 full 0 io Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: DMA Done Feb 5 22:55:22 HTPC-be kernel: ivtv: encoder thread sleeping 10210 <B>Feb 5 22:55:22 HTPC-be last message repeated 3 times</B> Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: read 20480, 235520 bytes left Feb 5 22:55:22 HTPC-be kernel: ivtv: v4l2 read Feb 5 22:55:22 HTPC-be kernel: ivtv: ivtv_read: stream 0.. Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: 256 bufs, 0x00000000 fill; 256 free 0 dma 0 full 0 io Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: Sched DMA Feb 5 22:55:22 HTPC-be kernel: ivtv: DMA/MPG type 0x00000000,size 0x00008000,offset 0x000ebadc Feb 5 22:55:22 HTPC-be kernel: ivtv: Sched dma: addr: 0x117b0000, SG_length: 2, array_size 0x00008000, type 0x00000000 Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: DMA Done Feb 5 22:55:22 HTPC-be kernel: ivtv: encoder thread sleeping 10210 Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: read 32768, 223232 bytes left Feb 5 22:55:22 HTPC-be kernel: ivtv: v4l2 read Feb 5 22:55:22 HTPC-be kernel: ivtv: ivtv_read: stream 0.. Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: 256 bufs, 0x00000000 fill; 256 free 0 dma 0 full 0 io Feb 5 22:55:22 HTPC-be kernel: ivtv: ENC: Sched DMA Feb 5 22:55:22 HTPC-be kernel: ivtv: DMA/MPG type 0x00000000,size 0x00003800,offset 0x000f3adc Feb 5 22:55:22 HTPC-be kernel: ivtv: Sched dma: addr: 0x117b0000, SG_length: 1, array_size 0x00004000, type 0x00000000 I happened to see several instances where "encoder thread sleeping 10210" was logged 3 times in a row. Does this mean that the encoder thread dropped 3 frames? Does anyone happen to know what unit of time 10210 is? Am I looking down the wrong path? On Thu, 3 Feb 2005 23:06:25 -0500, Bubba Slash <[EMAIL PROTECTED]> wrote: > After upgrading to ivtv-0.3.2c-66.rhfc2.at and forcing cardtype=2 > (PVR250) I am still getting stuttering every few seconds. > mythfrontend -v playback generates this output: > > 2005-02-03 22:52:25 A/V diverged by 3.05622 frames, extending frame to > keep audio in sync > 2005-02-03 22:52:25 positionMap[ 18 ] == 7112742. > 2005-02-03 22:52:25 A/V diverged by 3.09387 frames, extending frame to > keep audio in sync > 2005-02-03 22:52:26 positionMap[ 19 ] == 7405606. > 2005-02-03 22:52:26 positionMap[ 20 ] == 7747622. > 2005-02-03 22:52:27 positionMap[ 21 ] == 8056870. > 'video_output' mean = '37634.81', std. dev. = '7851.87', fps = '26.57' > avsync_delay: 73, avsync_avg: 80, warpfactor: 0.9, warpfactor_avg: 0.0149401 > 2005-02-03 22:52:27 positionMap[ 22 ] == 8351782. > 2005-02-03 22:52:28 positionMap[ 23 ] == 8663078. > 2005-02-03 22:52:28 positionMap[ 24 ] == 8970278. > 2005-02-03 22:52:29 positionMap[ 25 ] == 9291814. > 2005-02-03 22:52:29 positionMap[ 26 ] == 9613350. > 2005-02-03 22:52:30 positionMap[ 27 ] == 9916454. > 'video_output' mean = '36181.01', std. dev. = '5142.59', fps = '27.64' > avsync_delay: 71, avsync_avg: 61, warpfactor: 0.9, warpfactor_avg: 0.0198485 > 2005-02-03 22:52:31 positionMap[ 28 ] == 10203174. > 2005-02-03 22:52:31 positionMap[ 29 ] == 10489894. > 2005-02-03 22:52:32 positionMap[ 30 ] == 10784806. > 2005-02-03 22:52:32 A/V diverged by 3.01912 frames, extending frame to > keep audio in sync > 2005-02-03 22:52:32 A/V diverged by 3.17095 frames, extending frame to > keep audio in sync > 2005-02-03 22:52:32 A/V diverged by 3.05254 frames, extending frame to > keep audio in sync > 2005-02-03 22:52:32 positionMap[ 31 ] == 11069478. > 2005-02-03 22:52:33 positionMap[ 32 ] == 11384870. > 2005-02-03 22:52:33 positionMap[ 33 ] == 11702310. > 2005-02-03 22:52:34 positionMap[ 34 ] == 11976742. > 'video_output' mean = '38349.50', std. dev. = '7498.56', fps = '26.08' > avsync_delay: 36, avsync_avg: 43, warpfactor: 0.9, warpfactor_avg: 0.0247296 > 2005-02-03 22:52:35 positionMap[ 35 ] == 12267558. > 2005-02-03 22:52:35 A/V diverged by 3.03114 frames, extending frame to > keep audio in sync > 2005-02-03 22:52:35 A/V diverged by 3.00012 frames, extending frame to > keep audio in sync > > I find ~26.5 fps a bit of an odd capture rate for a NTSC signal. I'm > guessing that the frontend is trying to pad that frame rate to get > back to 29.99 fps causing the stuttering. Any hints on what might be > causing this? Is this a buffering issue? I've verified that the > frontend will in fact play back a prerecorded video at 29.99 fps, so > I'm almost positive that it must be something to do with the capture. > > One bug to note is with the 0.3.2c version of ivtv, "modinfo ivtv" > incorrectly reports cardtype 1 as a PVR250. This would instead select > a PVR150. > > Here's the full ivtv dump: > > ivtv: ==================== START INIT IVTV ==================== > ivtv: version 0.3.2 (c) loading > ivtv: Linux version: 2.6.10-1.9_FC2 686 REGPARM 4KSTACKS gcc-3.3 > ivtv: In case of problems please include the debug info > ivtv: between the START INIT IVTV and END INIT IVTV lines when > ivtv: mailing the ivtv-devel mailinglist. > ivtv: User specified WinTV PVR 250 card > ivtv: Found an iTVC16 based chip > ivtv: XXX PCI device: 0x1130 vendor: 0x8086 > tuner: chip found at addr 0xc2 i2c-bus ivtv i2c driver #0 > ivtv: i2c attach [client=(tuner unset),ok] > tveeprom: Hauppauge: model = 32032, rev = B382, serial# = 7261703 > tveeprom: tuner = LG TAPC H791F (idx = 82, type = 39) > tveeprom: tuner fmt = NTSC(M) (eeprom = 0x08, v4l2 = 0x00001000) > tveeprom: audio_processor = MSP3440 (type = 11) > ivtv: i2c attach [client=tveeprom[0],ok] > ivtv: Tuner Type 39, Tuner formats 0x00001000, Radio: yes, Model > 0x00893612, Revision 0x00000000 > ivtv: NTSC tuner detected > ivtv: Radio detected > saa7115: starting probe for adapter ivtv i2c driver #0 (0x10005) > saa7115: detecting saa7115 client on address 0x42 > saa7115: writing init values > ivtv: i2c attach [client=saa7115[0],ok] > saa7115: status: (1E) 0xa5, (1F) 0xb1 > msp34xx: ivtv version > msp34xx: init: chip=MSP3448W-B3, has NICAM support, simple (D) mode, > simpler (G) no-thread mode > msp34xx: $Id$ compiled on: Jan 25 2005 08:51:05 > ivtv: i2c attach [client=MSP3448W-B3,ok] > ivtv: Encoder revision: 0x02040024 > ivtv: Encoder Firmware may be buggy, use version 0x02040011 > ivtv: Configuring WinTV PVR 250 card with 5 streams > ivtv: Create DMA stream 0 using 256 16384 byte buffers 4194304 kbytes total > ivtv: Registered v4l2 device, streamtype 0 minor 0 > ivtv: Create DMA stream 1 > ivtv: Registered v4l2 device, streamtype 1 minor 32 > ivtv: Create stream 2 using 40 52224 byte buffers 2097152 kbytes total > ivtv: Registered v4l2 device, streamtype 2 minor 224 > ivtv: Create DMA stream 3 using 455 4608 byte buffers 2097152 kbytes total > ivtv: Registered v4l2 device, streamtype 3 minor 24 > ivtv: Create stream 4 > ivtv: Registered v4l2 device, streamtype 4 minor 64 > ivtv: Setting Tuner 39 > tuner: type set to 39 (LG NTSC (newer TAPC series)) by ivtv i2c driver #0 > saa7115: decoder set input (4) > saa7115: now setting Composite input > ivtv: Setting audio matrix to input 3, output 1 > ivtv: Switching standard to NTSC. > ivtv: ivtv_enc_thread: pid = 6852, itv = 0xe0b9fda0 > saa7115: decoder set norm NTSC > saa7115: set audio: 0x01 > ivtv: Initialized WinTV PVR 250, card #0 > ivtv: ==================== END INIT IVTV ==================== > > ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ ivtv-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ivtv-devel
