• 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 17
[imx6] Deinterlacing feature
#46
For performance testing the kernel patch is not required. It is managed by wolfgar and lets wait for his input as I don't have the link now.
Reply
#47
I am really impressed!

My LiveTV is working great, that is SD 576i even with doublerate. Also 720p50 works quite fine.
When shortly opening the codec display one sees the old "handbreak" that was used with the former render path - frames drop in completely.

For my HD+ content I think some PTS handling is not correct yet, it jumps between 20 and 84 fps and stutters a lot. 1080i50 ServusTV is fine.

It's a very good achievement. Backport to 14.1 wil be a very easy task: https://github.com/fritsch/xbmc/commits/imx-rework

A testbuild (OpenELEC img) can be found here: https://dl.dropboxusercontent.com/u/5572...797.img.gz

After some time I get
Quote:[ 228.925564] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
[ 370.788857] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
[ 379.568859] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
[ 777.308771] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000

and it hangs - most likely something kernel wise I don't have yet.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#48
Hi fritsch

The issue has to do with a sync issue in IPU (conceptually an underrun : Both streams do not make their path on time to be combined and displayed)

You can get ride of it by issuing
# devmem 0x020e0018 w 0xffffffff
# devmem 0x020e001c w 0xffffffff
Note that depending on the devmem version the syntax can be :
# devmem 0x020e0018 32 0xffffffff
# devmem 0x020e001c 32 0xffffffff

Doing so arbitrate priority on AXI in favor of IPU exchanges and the issue should not occur...

Kind regards
Reply
#49
fritsch, what means "quite fine"? Are you experiencing problems with 720p50? Have you tried 1080i with double rate or without? HD+ should play well without double rate but de-interlaced even on vanilla kernels. I have tested 3.10 and 3.14.

And thank you for your feedback.
Reply
#50
I am still testing, but my screen freezes after arround 10 minutes. Will add the commands wolfgar told me:

Concerning the samples on malte's share:

576i50_mpeg2_sample: Fine with double rate and normal mode
720p50_h264_sample: fine, when shortly pressing "o" -> 50fps, when waiting a bit: Skipping like hell and frame rate drops to 25 fps (codec screen to blame)
1080i50_h264.ts: not fine, audio / video going out of sync after a bit of time. Fps display completely wrong, when shortly opening the osd (between 15 and 79)
1080i50_mbaff: Fine with double rate and normal mode
1080i50_mpeg2.ts: Fine, it's really 29.97 something
1080p50_h264.mkv: skipping like hell - clearly visible even with codec screen closed ~ 25 fps

I will try if the devmem commands make a difference.

Additional findings:
- Sometimes when using Adjust Refreshrate to match video and starting a movie - hdmi will get deactivated.
- Kodi seems to freeze "just for fun"
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#51
For 1080p50_h264.mkv I think it uses de-interlacing when in auto mode. You can try to deactivate it for that stream but honestly it does not make it even on my tuned boxes. 1080p50 is too much. I could get it down to 23ms per frame but not more.

Skipping with GUI is normal thats why we don't go the GL path anymore. But it quickly recovers.

1080i50_h264.ts has high demands on VPU. Either configure it with 352M or increase VPU priority with:

devmem2 0x00c49104 w 7
devmem2 0x00c49100 w 7

Not sure if wolfgars settings interfere with those. We need to tune the settings anyway for the almost perfect video playback.
Reply
#52
The kernel likes to tell me something more:
Quote:[ 792.131491] mxc_sdc_fb fb.27: timeout when waiting for flip irq
[ 792.142269] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_5 = 0x08800000
[ 792.142300] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
[ 792.162115] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
[ 792.162162] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_5 = 0x08800000
[ 792.651531] mxc_sdc_fb fb.27: timeout when waiting for flip irq
[ 792.662401] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_5 = 0x08800000
[ 792.662457] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
[ 792.682112] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
[ 792.682162] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_5 = 0x08800000
[ 793.171532] mxc_sdc_fb fb.27: timeout when waiting for flip irq
[ 793.182459] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_5 = 0x08800000
[ 793.182524] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
[ 793.202100] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
[ 793.202150] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_5 = 0x08800000
[ 793.694834] mxc_sdc_fb fb.27: timeout when waiting for flip irq
[ 794.201527] mxc_sdc_fb fb.27: timeout when waiting for flip irq
[ 799.118281] imx-ipuv3 2400000.ipu: warning: wait for bg sync eof timeout
[ 799.168279] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_5 = 0x08800000
[ 799.168322] imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000

Let's see what feedback other users give. Though - I think my build is not really representive, but it's only OpenELEC 5.0 with the patches pointed out in the above github uri - I might have missed something though, but seems unlikely.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#53
What kernel is OpenELEC using? I don't have that in neither of my boxes. I grepped through the logs of the last days ...
Reply
#54
If you have a spare sdcard you could try the above image. It is using 3.14 cubox kernel.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#55
My mother told me to not use anything else than Arch Wink Sorry, I ran out of sdcards, will probably do that later ...
Reply
#56
That looks interesting: https://github.com/rabeeh/android-imx6-k...ip-t.patch. My value /sys/module/galcore/parameters/gpu3DMinClock is 0.
Reply
#57
Hi just two additional comments

- If the black screen occurs really after 10 mins without input it may also be related to console blanking : You can try to add "consoleblank=0" as a kernel parameter
- Regarding the double rate patch, I had not published it because depending on kernel, it improves drastically the behavior (basically solves the issue) or it does not improve that much. That makes me think I am not properly at the root cause or there is a subtle difference elsewhere that explains how different the result is...
You can however give it a try here : https://gist.github.com/wolfgar/6568c717efc76bedbb6a

Kind regards
Reply
#58
@smallint: Patch wise everything is fine? So I should give that kernel patch a try? I will pick wolfgar's patch additionally?

So the version I rebased works very well on your setup?

OpenELECcubox:/sys # cat /storage/.config/autostart.sh
Code:
#!/bin/sh
echo 3 > /sys/module/galcore/parameters/gpu3DMinClock

seems to help somehow. So might be a temp problem - do you also need that workaround on your hw?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#59
@fritsch: I compiled and ran it and it worked. I played a video for 30mins without issues.

(2015-01-23, 09:20)fritsch Wrote: OpenELECcubox:/sys # cat /storage/.config/autostart.sh
Code:
#!/bin/sh
echo 3 > /sys/module/galcore/parameters/gpu3DMinClock

seems to help somehow. So might be a temp problem - do you also need that workaround on your hw?

No, as I said, my value of gpu3DMinClick is 0. consoleblank=0 is set in your uEnv.txt?
Reply
#60
Nope consoleblank is not set.

I tried the very same build from yesterday, but with that 3 echoed - and it played for approx 15 minutes before I left to work - will do correct (more statistically significant) tests over the weekend.

uEnv.txt
Code:
mmcargs=setenv bootargs 'boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 quiet video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 dmfc=3'

and kernel
Code:
CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init noram usbcore.autosuspend=-1 coherent_pool=2M"

Should we ship that consoleblank=0 by default?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
  • 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 17

Logout Mark Read Team Forum Stats Members Help
[imx6] Deinterlacing feature3