Log in Register FAQ Memberlist Search pcHDTV Forum Index
pcHDTV Forum

pcHDTV Forum Index -> General pcHDTV topics -> Artifacts in playback Goto page 1, 2  Next
Post new topic  Reply to topic View previous topic :: View next topic 
Artifacts in playback
PostPosted: Wed Sep 20, 2006 10:28 am Reply with quote
brett
 
Joined: 20 Sep 2006
Posts: 7




I'm using QAM to record from my cable and running MythTv 0.19.

During playback I get constant artifacts and some cracking sound. Can anyone give me some ideas for what I might look for to solve this?

This happens on all of the HD channels.

uname -r

2.6.15-26-amd64-generic

I get these kind of errors from MythTv:

[mpegvideo_xvmc @ 0x2aaaabf7f3d0]invalid mb type in I Frame at 0 66
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]invalid mb type in I Frame at 0 67
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]00 motion_type at 14 25
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]00 motion_type at 23 35
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]ac-tex damaged at 6 57
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]ac-tex damaged at 6 58
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]00 motion_type at 2 59
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]00 motion_type at 9 61
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]00 motion_type at 21 62
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]ac-tex damaged at 5 63
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]ac-tex damaged at 16 64
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]00 motion_type at 11 65
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]00 motion_type at 17 66
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]00 motion_type at 5 67
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]00 motion_type at 50 67
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]ac-tex damaged at 100 42
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]ac-tex damaged at 10 53
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]00 motion_type at 97 43
[mpegvideo_xvmc @ 0x2aaaabf7f3d0]ac-tex damaged at 112 1


Here is the setup from my dmesg:

[ 30.809915] ivtv: ==================== START INIT IVTV ====================
[ 30.809919] ivtv: version 0.4.6 (tagged release) loading
[ 30.809921] ivtv: Linux version: 2.6.15-26-amd64-generic SMP preempt gcc-4.0
[ 30.809924] ivtv: In case of problems please include the debug info between
[ 30.809926] ivtv: the START INIT IVTV and END INIT IVTV lines, along with
[ 30.809928] ivtv: any module options, when mailing the ivtv-users mailinglist.
[ 30.830685] cx2388x v4l2 driver version 0.0.5 loaded
[ 30.834625] cx2388x dvb driver version 0.0.5 loaded
[ 31.682114] ivtv0: Autodetected WinTV PVR 150 card (cx23416 based)
[ 31.682761] ACPI: PCI Interrupt Link [APC1] enabled at IRQ 16
[ 31.682766] ACPI: PCI Interrupt 0000:04:09.0[A] -> Link [APC1] -> GSI 16 (level, low) -> IRQ 58
[ 31.682777] ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
[ 31.683817] ivtv0: i2c attach to card #0 ok [client=tveeprom, addr=50]
[ 31.723234] tveeprom 0-0050: Hauppauge model 26052, rev G1B2, serial# 8830422
[ 31.723238] tveeprom 0-0050: tuner model is TCL M2523_5N_E (idx 112, type 4)
[ 31.723241] tveeprom 0-0050: TV standards NTSC(M) (eeprom 0x08)
[ 31.723244] tveeprom 0-0050: audio processor is CX25843 (idx 37)
[ 31.723246] tveeprom 0-0050: decoder processor is CX25843 (idx 30)
[ 31.723249] tveeprom 0-0050: has no radio, has IR remote
[ 31.747557] tuner (ivtv): chip found at addr 0xc2 i2c-bus ivtv i2c driver #0
[ 31.747563] ivtv0: i2c attach to card #0 ok [client=(tuner unset), addr=61]
[ 31.917939] cx25840 0-0044: ivtv driver
[ 31.917942] cx25840 0-0044: cx25843-23 found @ 0x88 (ivtv i2c driver #0)
[ 35.277465] cx25840 0-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
[ 35.342324] ivtv0: i2c attach to card #0 ok [client=cx25840, addr=44]
[ 35.375774] wm8775 0-001b: chip found @ 0x36 (ivtv i2c driver #0)
[ 35.384040] ivtv0: i2c attach to card #0 ok [client=wm8775, addr=1b]
[ 36.053142] ivtv0: loaded v4l-cx2341x-enc.fw firmware (262144 bytes)
[ 36.266512] ivtv0: Encoder revision: 0x02050032
[ 36.266652] ivtv0: Allocate DMA encoder MPEG stream: 128 x 32768 buffers (4096KB total)
[ 36.266900] ivtv0: Allocate DMA encoder YUV stream: 194 x 10800 buffers (2048KB total)
[ 36.267184] ivtv0: Allocate DMA encoder VBI stream: 120 x 17472 buffers (2048KB total)
[ 36.267415] ivtv0: Allocate DMA encoder PCM audio stream: 455 x 4608 buffers (2048KB total)
[ 36.267910] tuner: type set to 50 (TCL 2002N) by ivtv i2c driver #0
[ 36.356696] ivtv0: Initialized WinTV PVR 150, card #0
[ 36.357287] ACPI: PCI Interrupt Link [APC2] enabled at IRQ 17
[ 36.357293] GSI 22 sharing vector 0x42 and IRQ 22
[ 36.357300] ACPI: PCI Interrupt 0000:04:0e.0[A] -> Link [APC2] -> GSI 17 (level, low) -> IRQ 66
[ 36.357366] CORE cx88[0]: subsystem: 7063:3000, board: pcHDTV HD3000 HDTV [card=22,autodetected]
[ 36.357370] TV tuner 52 at 0x1fe, Radio tuner -1 at 0x1fe
[ 36.481107] tuner (ivtv): chip found at addr 0xc2 i2c-bus cx88[0]
[ 36.481112] tuner: type set to 52 (Thomson DDT 7610 (ATSC/NTSC)) by cx88[0]
[ 36.517780] tda9887 1-0043: (ivtv) chip found @ 0x86 (cx88[0])
[ 36.612555] cx88[0]/0: found at 0000:04:0e.0, rev: 5, irq: 66, latency: 32, mmio: 0xf9000000
[ 36.616190] cx88[0]/0: registered device video1 [v4l2]
[ 36.616281] cx88[0]/0: registered device vbi1
[ 36.616368] cx88[0]/0: registered device radio0
[ 36.619878] ACPI: PCI Interrupt 0000:04:0e.2[A] -> Link [APC2] -> GSI 17 (level, low) -> IRQ 66
[ 36.619890] cx88[0]/2: found at 0000:04:0e.2, rev: 5, irq: 66, latency: 32, mmio: 0xf8000000
[ 36.619898] cx88[0]/2: cx2388x based dvb card
[ 36.622198] DVB: registering new adapter (cx88[0]).
[ 36.622201] DVB: registering frontend 0 (Oren OR51132 VSB/QAM Frontend)...
[ 36.629466] ivtv: ==================== END INIT IVTV ====================

I also get this information when trying to playback HDTV:

[93269.864788] cx88[0]/2: queue is empty - first active
[93269.864794] cx88[0]/2: cx8802_start_dma w: 0, h: 0, f: 2
[93269.864897] cx88[0]/2: setting the interrupt mask
[93269.864903] cx88[0]/2: [ffff810025b89e00/0] cx8802_buf_queue - first active
[93270.396626] cx88[0]/2: cx8802_restart_queue
[93270.396630] cx88[0]/2: cx8802_restart_queue: queue is empty
[93270.398932] cx88[0]/2: queue is empty - first active
[93270.398938] cx88[0]/2: cx8802_start_dma w: 0, h: 0, f: 2
[93270.399041] cx88[0]/2: setting the interrupt mask
[93270.399047] cx88[0]/2: [ffff81000b218200/0] cx8802_buf_queue - first active
[93325.762943] cx88[0]/2: general errors: 0x00000100
[93325.762948] cx88[0]/2: cx8802_stop_dma
[93325.762953] cx88[0]/2: cx8802_restart_queue
[93325.762956] cx88[0]/2: cx8802_start_dma w: 0, h: 0, f: 2
[93325.763159] cx88[0]/2: setting the interrupt mask
[93325.931680] cx88[0]/2: cx8802_restart_queue
[93325.931685] cx88[0]/2: cx8802_restart_queue: queue is empty
[94302.720904] cx88[0]/2: queue is empty - first active
[94302.720910] cx88[0]/2: cx8802_start_dma w: 0, h: 0, f: 2
[94302.721013] cx88[0]/2: setting the interrupt mask
[94302.721020] cx88[0]/2: [ffff8100254e9400/0] cx8802_buf_queue - first active
[94303.021065] cx88[0]/2: cx8802_restart_queue
[94303.021069] cx88[0]/2: cx8802_restart_queue: queue is empty
[94303.022727] cx88[0]/2: queue is empty - first active
[94303.022733] cx88[0]/2: cx8802_start_dma w: 0, h: 0, f: 2
[94303.022836] cx88[0]/2: setting the interrupt mask
[94303.022842] cx88[0]/2: [ffff810017114200/0] cx8802_buf_queue - first active
[94416.723778] cx88[0]/2: cx8802_restart_queue
[94416.723781] cx88[0]/2: cx8802_restart_queue: queue is empty

Let me know if you need more information.

Thanks.
View user's profile Send private message
PostPosted: Wed Sep 20, 2006 12:15 pm Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




A part of the stream was missing or corrupted. Either your system got real busy and it lost data or you had a reception problem.
View user's profile Send private message
PostPosted: Wed Sep 20, 2006 1:30 pm Reply with quote
brett
 
Joined: 20 Sep 2006
Posts: 7




Scott Larson wrote:
A part of the stream was missing or corrupted. Either your system got real busy and it lost data or you had a reception problem.


My system does not seem very busy, but how can I investigate these 2 issues further. Is there a message generated when data is lost? Are there tools to test my reception?
View user's profile Send private message
PostPosted: Wed Sep 20, 2006 7:04 pm Reply with quote
dillwead
 
Joined: 20 Dec 2005
Posts: 7




I am having similar problems with XvMC, although I wouldn't just call them artifacts as the picture completely deteriorates and is basically unwatchable.

I have narrowed the issue (at least in my case) down to video card interference with a signal lock. I know it sounds crazy but I have a strong reason to believe it so.

To see if you are having this same issue as me, try the following:

If you have azap from the dvb-apps stuff available from linuxtv.org, try tuning to a channel and watch the output. Soon it should indicate that it has signal lock. Open up a very long webpage and scrool up and down on the page. Look at the output again and you should see break-ups in the signal lock--at least this is what I observe.

If you do not have azap, I can tell you how to get it. Or else try turning off XvMC in mythtv and see if the distortions go away. If your processor can't keep up, you'll still get prebuffering pauses, but the images should be clean (just stuttering).
View user's profile Send private message
PostPosted: Wed Sep 20, 2006 7:13 pm Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




dtvsignal or azap will tell you your signal strength.

As far as I can tell, the newer drivers don't tell you when the buffer has overflowed due to the system being too busy. The v4l drivers would log this in /var/log/messages.
View user's profile Send private message
PostPosted: Thu Sep 21, 2006 4:16 am Reply with quote
xyzzy
 
Joined: 12 Feb 2006
Posts: 225




Scott Larson wrote:

As far as I can tell, the newer drivers don't tell you when the buffer has overflowed due to the system being too busy. The v4l drivers would log this in /var/log/messages.


From dvbdmx.c:
Code:

free = dvb_ringbuffer_free(buf);
if (len > free) {
         dprintk("dmxdev: buffer overflow\n");
         return -EOVERFLOW;
}


You just need to turn debug on to get the message. Of course the signal lock message from azap or dtvsignal has nothing to do with the dvr buffer.
View user's profile Send private message
PostPosted: Thu Sep 21, 2006 10:29 am Reply with quote
brett
 
Joined: 20 Sep 2006
Posts: 7




Scott Larson wrote:
dtvsignal or azap will tell you your signal strength.

As far as I can tell, the newer drivers don't tell you when the buffer has overflowed due to the system being too busy. The v4l drivers would log this in /var/log/messages.


azap -a 0 -c channels.conf -r TNTHD
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
tuning to 627000000 Hz
video pid 0x0043, audio pid 0x0044
status 00 | signal ffff | snr fcff | ber 00000000 | unc 00000000 |
status 1f | signal ffff | snr fd0b | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fcfb | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd05 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fced | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd0d | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd1d | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd1b | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fcff | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fced | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fceb | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fcd9 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fcf3 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd1d | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fcf5 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd05 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd1f | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fcbf | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd0b | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fcd3 | ber 00000000 | unc 00000000 | FE_HAS_LOCK

Is there a way to use my channels.conf with dtvsignal?

cat channels.conf
TNTHD:627000000:QAM_256:67:68:300
KCBSHD:699000000:QAM_256:64:65:3
KNBCDT:699000000:QAM_256:66:67:2
KCETDT:699000000:QAM_256:69:72:1
KTTVDT:747000000:QAM_256:76:77:2
KABCDT:747000000:QAM_256:69:72:3
DHD:657000000:QAM_256:0:68:1
View user's profile Send private message
PostPosted: Thu Sep 21, 2006 2:15 pm Reply with quote
Scott Larson
 
Joined: 15 Oct 2003
Posts: 713
Location: Portland, OR




xyzzy wrote:
You just need to turn debug on to get the message. Of course the signal lock message from azap or dtvsignal has nothing to do with the dvr buffer.

Oh OK. I was used to overflows getting logged by default with the older drivers. In fact I think I'll make this the default in my kernel since it's been really helpful in the past.
View user's profile Send private message
PostPosted: Thu Sep 21, 2006 4:52 pm Reply with quote
dillwead
 
Joined: 20 Dec 2005
Posts: 7




Quote:
azap -a 0 -c channels.conf -r TNTHD
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
tuning to 627000000 Hz
video pid 0x0043, audio pid 0x0044
status 00 | signal ffff | snr fcff | ber 00000000 | unc 00000000 |
status 1f | signal ffff | snr fd0b | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fcfb | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd05 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fced | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd0d | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd1d | ber 00000000 | unc 00000000 | FE_HAS_LOCK


Have you tried scrolling up and down a web page to see if the FE_HAS_LOCK breaks up? That's what happenes for me at least.
View user's profile Send private message
PostPosted: Fri Sep 22, 2006 8:47 am Reply with quote
brett
 
Joined: 20 Sep 2006
Posts: 7




dillwead wrote:
Quote:
azap -a 0 -c channels.conf -r TNTHD
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
tuning to 627000000 Hz
video pid 0x0043, audio pid 0x0044
status 00 | signal ffff | snr fcff | ber 00000000 | unc 00000000 |
status 1f | signal ffff | snr fd0b | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fcfb | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd05 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fced | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd0d | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal ffff | snr fd1d | ber 00000000 | unc 00000000 | FE_HAS_LOCK


Have you tried scrolling up and down a web page to see if the FE_HAS_LOCK breaks up? That's what happenes for me at least.


I'll Try that this weekend.
View user's profile Send private message
PostPosted: Sat Sep 23, 2006 8:46 pm Reply with quote
dieter
 
Joined: 20 Jan 2005
Posts: 43
Location: US




Two things come to mind.

1) If you are using the "nvidia" device driver, it is known to cause problems
with the HD-3000 (see the archives). Try the "nv" device driver. Try recording
without displaying the video at the same time. After the recording is finished,
try playing it back. If the artifacts are gone, you have found your problem.
You might need to use nv for recording, and nvidia (for XvMC) for playback.

2)
> status 1f | signal ffff | snr fcfb | ber 00000000 | unc 00000000 | FE_HAS_LOCK

With a signal level of ffff, you may be overloading the input. Try attenuating
the signal.

Attenuators are available from:

http://www.mcminone.com
http://www.mpja.com
http://www.picomacom.com
http://www.antennasdirect.com/attenuator.html
and others.
View user's profile Send private message
PostPosted: Sat Sep 23, 2006 8:47 pm Reply with quote
dieter
 
Joined: 20 Jan 2005
Posts: 43
Location: US




Two things come to mind.

1) If you are using the "nvidia" device driver, it is known to cause problems
with the HD-3000 (see the archives). Try the "nv" device driver. Try recording
without displaying the video at the same time. After the recording is finished,
try playing it back. If the artifacts are gone, you have found your problem.
You might need to use nv for recording, and nvidia (for XvMC) for playback.

2)
> status 1f | signal ffff | snr fcfb | ber 00000000 | unc 00000000 | FE_HAS_LOCK

With a signal level of ffff, you may be overloading the input. Try attenuating
the signal.

Attenuators are available from:

http://www.mcminone.com
http://www.mpja.com
http://www.picomacom.com
http://www.antennasdirect.com/attenuator.html
and others.
View user's profile Send private message
PostPosted: Sat Sep 23, 2006 10:46 pm Reply with quote
xyzzy
 
Joined: 12 Feb 2006
Posts: 225




I don't think either the HD-3000 or the HD-5500 actually support measuring the real signal level (which would be in dBm or dBmV). I know the HD-5500 doesn't. What is reported as signal level is really just SNR with a different scale. Signal level and SNR are really two totally different things. It's not possible for SNR to be too high, so the high "signal level" in azap's output doesn't mean anything bad. Of course real signal level can be too high and an attenuator would help, but you can't get that information from the cards.
View user's profile Send private message
PostPosted: Mon Oct 16, 2006 7:55 pm Reply with quote
brett
 
Joined: 20 Sep 2006
Posts: 7




Ok. I have tried everything that has been suggested here. I cannot get a video that does not have artifacts and sound pops in it.

So far I've tried:

Updating the kernel. -> 2.6.17.13
Increasing the dvb ringbuffer -> I made all ringbuffer overflows go away, but still had artifacts.

Updating NVIDIA drivers -> no change.
Not using NVIDIA drivers. Still had artifacts.
Moving the card to other PCI slots -> no change.
Boosting my cable signal and attenuating my cable signal.
Having the cable company check my signal.

Shuting down X -> no change.

Nothing has helped.

I always get this error:
cx88[0]/2: general errors: 0x00000100

I seem to be the only reporting that error.

Could my card be faulty? Can I return it?
View user's profile Send private message
PostPosted: Tue Oct 17, 2006 1:17 am Reply with quote
xyzzy
 
Joined: 12 Feb 2006
Posts: 225




brett wrote:

I always get this error:
cx88[0]/2: general errors: 0x00000100


That is a transport stream fifo overflow error. This is a buffer internal to the card, it has nothing to do with the dvd ring buffer. It means your card isn't getting enough PCI bandwidth. Maybe there is a problem with your motherboard's chipset, or you have some device hogging PCI bandwidth (bad disk controller maybe? You're sure you're using DMA?).

You can increase the size of the MPEG FIFO by editing the driver source. That might help. If you don't want to use analog, you can shrink the size of the other FIFOs, which frees up space for the MPEG FIFO.

Change all the fifo_start values in the cx88_sram_channels definition in cx88-core.c to 0x180c00. Then change all the fifo_size values to 0, except that last one for mpeg, which should be set to 0x7800. I'm not sure if setting all the other fifos to zero will work. I suggest not loading cx8800 or cx88-alsa if you try this.
View user's profile Send private message
Artifacts in playback
  pcHDTV Forum Index -> General pcHDTV topics
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT - 7 Hours  
Page 1 of 2  
Goto page 1, 2  Next
  
  
 Post new topic  Reply to topic  


Powered by phpBB © 2001-2003 phpBB Group
Theme created by Vjacheslav Trushkin