Hardware deinterlacing
#16
Quote: fritsch will confirm, but "1:-1:1" is the default value and means "do nothing".
It means "output a frame for each field (frame-doubling deinterlacer)" (1:-1:1), "auto-detect field order" (1:-1:1) and "only deinterlace interlaced frames" (1:-1:1). In the above case Yadif wouldn't do anything as the content is progressive.

I think that 1080i H.264 SW decoding + Yadif deinterlacing won't work properly on most ARMs. If you want to do that properly with decent quality, you need to go to the hardware...
Reply
#17
(2016-09-01, 07:28)fritsch Wrote: No. Mediacodec does not at all. Even interlaced content it not defines. Shields hw deinterlacer is the best Android has to give, so yeah in this discipline it looses against a rpi.

Mrmc says: use SW decoding and SW deint, best yadif.

If I understand it correct, the shield doesn't support HW deinterlacing on this moment https://forums.geforce.com/default/topic...roblems/1/
Reply
#18
Whatever it does is "transparent" to kodi. We can just take the result when mediacodec surface is in use - no single chance for us to influence that ...Field in -> something out -> directly rendered.

For yadif, I think I explained that in another thread: https://ffmpeg.org/ffmpeg-filters.html#yadif-1

By default 1:-1:1 does:
for progressive input: nothing (as input is not flagged interlaced)
for interlaced flagged input: deinterlacing with one frame per field. So from 50i you get 50p.

What one could do: Write a more advanced deinterlacer in shaders ... and use MediaCodec (not the surface version) and do proper deinterlacing afterwards in shaders. This is how the VDPAU mesa implementation works.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#19
(2016-09-01, 11:03)zapp-it Wrote: If I understand it correct, the shield doesn't support HW deinterlacing on this moment https://forums.geforce.com/default/topic...roblems/1/

Yes, deinterlacing is broken with the 3.2 update. Go back to 3.1 if you want proper hardware deinterlacing:

https://forums.geforce.com/default/topic...-possible/
Reply
#20
So I assume there is no chance that we ever get a proper API from Google?

How is it done with the Shield? Does KODI use a private API there?
Reply
#21
Don't say that. They made an IEC API after koyings and my input.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#22
How is it done with the Shield? Does KODI use a private API there?
Reply
#23
@fritsch The problem is why Yadif *would* be applied while it is not selectable in GUI for Android (https://github.com/xbmc/xbmc/blob/master....cpp#L1684) Wink

I see SW_BLEND is gone. Is BOB proper also gone in favor of Yadif in all cases?
Reply
#24
Wink 
(2016-09-01, 12:48)A600 Wrote:
(2016-09-01, 11:03)zapp-it Wrote: If I understand it correct, the shield doesn't support HW deinterlacing on this moment https://forums.geforce.com/default/topic...roblems/1/

Yes, deinterlacing is broken with the 3.2 update. Go back to 3.1 if you want proper hardware deinterlacing:

https://forums.geforce.com/default/topic...-possible/

Thanks for the link,I will give it an try Wink
Reply
#25
@shomari What deinterlacing options do you get when going to Video options from the OSD?
And what's your hardware, btw Wink
Reply
#26
(2016-09-01, 13:06)Koying Wrote: @fritsch The problem is why Yadif *would* be applied while it is not selectable in GUI for Android (https://github.com/xbmc/xbmc/blob/master....cpp#L1684) Wink

I see SW_BLEND is gone. Is BOB proper also gone in favor of Yadif in all cases?

As said above: I thought MrMc delivers with yadif now - it's for sure not an option in our code as of now. Cause in the past the Boxes out there were just too slow. But with that NEON accelerated yadif stuff - there should certainly be a possibility to activate it. What about SPMC? As technology leader :-) something for you, right?
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#27
It's enabled in SPMC since a while now Wink

But it seems we are not on the same channel: My "concern" is that yadif seems to be used in Kodi for Android while it shouldn't http://forum.kodi.tv/showthread.php?tid=...pid2405933
Just wondering if it's "work as designed" or a bug...
Reply
#28
(2016-09-01, 13:35)fritsch Wrote:
(2016-09-01, 13:06)Koying Wrote: @fritsch The problem is why Yadif *would* be applied while it is not selectable in GUI for Android (https://github.com/xbmc/xbmc/blob/master....cpp#L1684) Wink

I see SW_BLEND is gone. Is BOB proper also gone in favor of Yadif in all cases?

As said above: I thought MrMc delivers with yadif now - it's for sure not an option in our code as of now. Cause in the past the Boxes out there were just too slow. But with that NEON accelerated yadif stuff - there should certainly be a possibility to activate it. What about SPMC? As technology leader :-) something for you, right?

.. right. Because it's NOT selectable. @Koying Options are 'Auto Select', 'Bob', 'Bob-Inverted'.

This is on an RK3368 board.

I did also notice the soc has built-in deinterlacing support via vpu and it works the same in both private built-in player and kodi w/mediacodec Surface.

Image

With mediacodec gl rendering playback is broken. I guess that's because it relies strictly on gpu and is thus underpowered.

Interestingly enough the Kodi yadif playback is damn near close to watchable with the provided test sample, but not quite.
Reply
#29
Seems like my initial observation was wrong. I am getting confused with all the versions...

I re-did the test with the posted sample 'n24hd.ts'...

- native media app ("Video"): proper deinterlacing, smooth playback
- KODI Jarvis 16.1: proper deinterlacing, smooth playback
- KODI Krypton 17 Beta1: proper deinterlacing, smooth playback

- SPMC 16.4.2: jerky playback

Is it possible, that SPMC does not apply hardware acceleration when playing interlaced content? The deinterlace options in the video settings have an impact which would probably not be the case if hardware acceleration was applied. The ARM in the Sony simply can't decode 1080i H.264 in SW, even with no deinterlacing (weave) being applied.

On KODI, the deinterlace option in the video settings has no impact. So I suppose this is all decided and done deeper down (MediaCodec/HW). Deinterlacing is perfect like with the native media app.
Reply
#30
Welcome in a closed world ...
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply

Logout Mark Read Team Forum Stats Members Help
Hardware deinterlacing0