xbmc-imx6 / xbmc

XBMC Main Repository
http://xbmc.org
Other
32 stars 5 forks source link

Decoding of Australian TV streams cause IPU warning and decoding stall #97

Open aplund opened 10 years ago

aplund commented 10 years ago

I'm having troubles with the hardware decoding of Australian TV channels. I'm not sure if this is a kernel issue or not. The kernel issues these messages:

imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000

When that happens, the decoding seems to stop, the screen momentarily goes blank, then restarts a few seconds later.

I'm running the linux-imx6-cubox-dt kernel from archlinuxarm with version 3.14.23-2-ARCH.

My XBMC version is Git:20140909-38110c5

Below is a ~100MB link to a mpegts which I have confirmed that this issue occurs with.

https://drive.google.com/file/d/0B1LnhU28CtCTRmVLcmFtLWRfU3M/view

rabeeh commented 10 years ago

@aplund : we had such an issue ages ago with kernel 3.0.35 that the ipu simply doesn't have the right qos fields set correctly when reading from the DDR memories.

By then we had a small workaround just to test by setting the DDR controller QoS fields. Please try the following and let me know if that removes the blanking - devmem 0x020e0018 32 0xffffffff

If it resolves the issue then we need to integrate this back again; either fixed in u-boot, kernel dts file or hard coded for every i.MX6 device.

wolfgar commented 10 years ago

Yes I confirm that we still have to set the QoS to be always on the safe side...

Generally speaking, Issues should now be reported in xbmc main repo as imx6 support has been merged. Do not hesitate to explicitly add @wolfgar when you report in main repo so that I am aware it is an issue related to imx6...

aplund commented 10 years ago

OK. Setting that register to that value works. It is set to 0x007f007f when I boot. The docs seem to suggest that the reset value is 0x22222222, so somebody is setting it.

Also, whatever is going on, the data isn't quite being read right. My frontend reports no errors, but the output image sometimes displays bad macroblocks as if there was an error in the stream.

Perhaps this is related to memory bus bandwidth. Not sure. Also, I cannot see a nice way to debug these issues.

aplund commented 10 years ago

Actually, spoke too soon. Seems that with a 1080i stream this still happens.

rabeeh commented 10 years ago

OK; so this is a known issue then 1080i is not perfected yet. Can u capture a stream and upload it somewhere?

aplund commented 10 years ago

1080i stream from Australian TV:

https://drive.google.com/file/d/0B1LnhU28CtCTTzBoU0RYeG9oS0U/view

It is ~450mb. Don't blame me for the content.

smallint commented 9 years ago

I tried that stream (funny show btw) and it works flawlessly even with activated deinterlacing. I tried the last ArchLinux xmbc package as well as the new Kodi Helix, both worked. I am running kernel 3.14.25.

aplund commented 9 years ago

Hmm... I cannot imagine that my configuration is all that different to yours if you are using a cubox-i. Possibly the only difference is that I am playing this from an external HDD which is connected via esata. I might try and get it to play via either the memory card or tmpfs and see if that makes any difference.

smallint commented 9 years ago

I am playing this also from an esata HDD. I experience those blank screen issues also with other stream and deinterlacing activated but not with yours. Btw, I could only download around 105mb of your stream and tested with that. I am going to download the entire stream again and test with that. Can you order those tools for me in the meantime, could help for debugging? ;)