• 1
  • 59
  • 60
  • 61(current)
  • 62
  • 63
  • 134
WeTek Core (24p HD Netflix / HD Audio / Lollipop / OpenELEC / 4K / HEVC)
(2016-01-09, 15:46)fritsch Wrote: @noggin: have fun with this one: http://solidrun.maltegrosse.de/~fritsch/burosch1.mpg

Ouch. The Core and the C1 both play that terribly. The Pi 2 plays it a lot better. Is this the MPEG2 issue that causes problems with DVD VOB/ISO stuff?

Code:
General
Complete name                            : burosch1.mpg
Format                                   : MPEG-PS
File size                                : 28.7 MiB
Duration                                 : 30s 0ms
Overall bit rate                         : 8 030 Kbps

Video
ID                                       : 224 (0xE0)
Format                                   : MPEG Video
Format version                           : Version 2
Format profile                           : Main@Main
Format settings, BVOP                    : Yes
Format settings, Matrix                  : Default
Format settings, GOP                     : M=3, N=12
Format settings, picture structure       : Frame
Duration                                 : 30s 0ms
Bit rate                                 : 7 870 Kbps
Maximum bit rate                         : 8 000 Kbps
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 25.000 fps
Standard                                 : PAL
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Interlaced
Scan order                               : Bottom Field First
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.759
Time code of first frame                 : 00:00:00:00
Time code source                         : Group of pictures header
GOP, Open/Closed                         : Closed
Stream size                              : 28.1 MiB (98%)
Reply
This Interlaced mpeg2 .vob combo plays fine thru Android Apps line MX Player, it's Kodi that struggles with it on AML using hardware decoding.

I suppose its one of those combos, that ended up at the bottom of the pile to fix and did not have much attention paid to it on AML platforms.

Koying recently just decided to software decode it on MINIX, like I do as well:
https://github.com/MINIX-NEO/xbmc/commit...636d16df9f

Reply
(2016-01-09, 16:21)wrxtasy Wrote: This Interlaced mpeg2 .vob combo plays fine thru Android Apps line MX Player, it's Kodi that struggles with it on AML using hardware decoding.

I suppose its one of those combos, that ended up at the bottom of the pile to fix and did not have much attention paid to it on AML platforms.

Koying recently just decided to software decode it on MINIX, like I do as well:
https://github.com/MINIX-NEO/xbmc/commit...636d16df9f

How is it deinterlaced with software decode - hardware in the AMLogic system (can you feed decompressed video in at that stage?) or software (Bob, YADIF 2x?)

I have a lot of concert DVDs shot 50i...
Reply
It's the file fernet an I used when working with the intel folks to get the MCDI deinterlacer up and running. On AML you have a problem if the following does not work:

"Here is video data, please decode and display it, do what you want, I trust you".

Last time I started this discussion about what AML does with HEVC-10 bit content - where does the data end, how is it rendered some fanboys shot me down :-)

In fact you barely have any influence on AML architecture, it's data in and some time later it hopefully ends on the display, don't forget to set the target rect of the buffer or you won't see it. In kodi the player is fooled so it also does not know at all what happens. If something stutters, player has no idea why that happens it's all fully in the decoder / render.

You can imagine that like driving through a tunnel:
Car 1 in, Car 2 in
Tell the supervisor, stop caring about them all will be fine, they come out on the other side at exact the time you want them to come out.

I was reading AMLogic code (mostly the kodi implementation) and some documentation for the last two days and talked to the initial dev that implemented AMLogic for kodi. There are things one needs to live with ...

Edit: There are also a lot of things that can be fixed, but talking is one thing, actually implementing it is another ... developing on such a platform is not as easy as doing VAAPI or whatever, where you have all the tools / toolchain ready for rumble on the target host. But there are also some low hanging fruits: currently on every new image a hook is called to set the render rect, to managedisplays, to query CSettings for brightness, contrast and so on, these things can be fixed quite easily. The player fooling is not so easy, as many tried until now ... AMLogic has some specialities and I know not enough about it to say: It's all fully wrong and it needs to be done like this or that :-)
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
So - in layman's terms - the AMLogic code is effectively a black box with few user controls. You send data into it and pictures come out of it at the other end. (Presumably these images are deinterlaced if they are flagged as interlaced?) If there is a problem with the hardware decoding, only AMLogic can fix it.
Reply
(2016-01-09, 17:15)noggin Wrote: So - in layman's terms - the AMLogic code is effectively a black box with few user controls. You send data into it and pictures come out of it at the other end. (Presumably these images are deinterlaced if they are flagged as interlaced?) If there is a problem with the hardware decoding, only AMLogic can fix it.

Yeah - it does all that "automagically". If automagic failes - not much left to do. All this 24p stuff, which the kernel is heavily involved, talking with the decoder. Imagine fps estimation goes wrong or real world problems with files. That being said: there is for sure things left that can be done to improve such things. But it needs to be clear: if there is a sever issue only AMLogic themselves can fix that with yet another patch / blob update here and there. I hope we get the kodi integration a bit less "black boxy" so that player which has a lot of sync mechanisms and tricks to get stuff playing smoothly better involved.

Edit: But this has nothing to do with the Wetek Core only - just to make that clear. I found very few files when I tested the box this morning, that worked really bad - so it's for sure a very good playback device. But if one is interested in the last tunable bits ... see above.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
(2016-01-09, 17:20)fritsch Wrote:
(2016-01-09, 17:15)noggin Wrote: So - in layman's terms - the AMLogic code is effectively a black box with few user controls. You send data into it and pictures come out of it at the other end. (Presumably these images are deinterlaced if they are flagged as interlaced?) If there is a problem with the hardware decoding, only AMLogic can fix it.

Yeah - it does all that "automagically". If automagic failes - not much left to do. All this 24p stuff, which the kernel is heavily involved, talking with the decoder. Imagine fps estimation goes wrong or real world problems with files. That being said: there is for sure things left that can be done to improve such things. But it needs to be clear: if there is a sever issue only AMLogic themselves can fix that with yet another patch / blob update here and there. I hope we get the kodi integration a bit less "black boxy" so that player which has a lot of sync mechanisms and tricks to get stuff playing smoothly better involved.

Yes. This must surely be a barrier if you want to use stuff like external USB audio solutions etc. for instance.
Reply
@fritsch

From a Dev. perspective I can see your points and some of the issues at hand if you want a near perfect Kodi platform and are wanting to take the purist coding approach.

From an End user standpoint, most will not care so long as 8-bit or 10-bit video displays smoothly on the TV. A Hell of a lot (outside of the Kodi forums especially) will not even know or care about mpeg2 DVD's for it to worry them one bit.

Even more can now get their fix from "Instant On" Netflix anyway, especially when you bypass the Geo blocking restrictions.
Yes its like like junk food, but convenience wins out over quality a lot of the time.

Showing interest in AML code now are you, whats going on ?

Reply
(2016-01-09, 17:30)wrxtasy Wrote: @fritsch

From a Dev. perspective I can see your points and some of the issues at hand if you want a near perfect Kodi platform and are wanting to take the purist coding approach.

From an End user standpoint, most will not care so long as 8-bit or 10-bit video displays smoothly on the TV. A Hell of a lot (outside of the Kodi forums especially) will not even know or care about mpeg2 DVD's for it to worry them one bit.
Really? DVD Playback is a deal breaker for me. All DVDs are MPEG2 after all... (Though in PAL-land most are 2:2 25p sourced, though in NTSC-land lots are 3:2 24p) I think a fair chunk of the HTPC community ripped their DVDs to VIDEO_TS or ISO format rather than re-encoding and losing quality. If you care about HD Audio and bitstreaming, chances are you also care about avoiding quality loss through recompression.

Quote:
Even more can now get their fix from "Instant On" Netflix anyway, especially when you bypass the Geo blocking restrictions.
Yes its like like junk food, but convenience wins out over quality a lot of the time.
There's a LOT of stuff not on Netflix...
Quote:Showing interest in AML code now are you, whats going on ?
I think fritsch is always interested in lots of stuff. Remember he pushed the i.MX6 stuff for a while before realising it was a dead end.
Reply
I am very happy with the core, btw. it is a nice package. The combination with OpenELEC and Android is a good mix - many have tried, but not many have actually got that to work. Furthermore I like the direct way of "working" (*) with Wetek people and devs. When you have ever had the opportunity to wait for AMD closed source XVBA folks to get an answer, you really, really estimate what wetek people do.


(*) In a full non paid, just interest driven way, I prefer to do stuff that I like in my freetime, that gives me the chance to tell what I like or what I don't like in public :-)
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
As the original author of DVDVideoCodecAmlogic, I'll be the 1st to say it is in dire need of refactoring/cleaning. It was on the list but I never had the time to get to it.

DVDVideoCodecAmlogic has two parts, a wrapper/helper for a codec and the AMCodec core. Originally AMCodec was based on internal AMLogic codec code and has become quite squirrelly (technical term). The render method (by-pass) was the best I could get approved by the owner of that area of code (elupus) and the render callbacks were the only way to get the updates when needed. It was only when renderer code was changed to include timestamps that problems really started to show up. Prior to that it was quite good.

Maybe there is something better, maybe not, but to call it wrong is silly. It's just a different way and has worked for years despite the constraints the code was forced to live with.

One area that really needs serious thought is the system amcodec can and will try to suck down large amounts of demux. We are not taking about a few frames here, 10s of seconds of frames. Too little and the system by-pass renderer will stop and wait, too much and the internal kodi player will thrash. It's very tricky to get the right amount of balance as the system codec is like a run-away train, all you can do is try and make sure it stays on the tracks. I mentioned this very thing once and was told it's wrong too Smile Well, right or wrong, that is the way the system codec works and unless you are willing to dive into some massive kernel driver code, that is the way it will always work. AMLogic has no interesting in changing its behavior as a pure streaming codec. At least now you can get the amount of time buffered but that only works with h264 (maybe h265). So far, I have seen very little interest in the change I did to move from size to time in controlling buffer behavior and it greatly improved potential player thrashing at Pivos.

As for DVDs, they are MPEG2 and there is zero reason now to be diddling with hardware decode for them. Most if not all Android based (and rpi2) boxes are quad-core and have more than enough ponies to handle the decode and deinterlace with room to spare.
MrMC Forums : http://forum.mrmc.tv
Reply
(2016-01-09, 19:37)MrMC Wrote: As for DVDs, they are MPEG2 and there is zero reason now to be diddling with hardware decode for them. Most if not all Android based (and rpi2) boxes are quad-core and have more than enough ponies to handle the decode and deinterlace with room to spare.
Well if DVD MPEG2 can be decoded and deinterlaced with a decent quality deinterlacer like YADIF 2x, W3FDIF or a similar algorithm to the hardware stuff that AMLogic implement that would be great. Bob isn't really great for interlaced SD content where you need all the resolution you can get.

What's the current deinterlacer for software decoded MPEG2 on AMLogic Kodi builds? I don't seem to be able to get decent 50p from 50i stuff.
Reply
@MrMc: Thanks much for the insight and the history!
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
The other problem with using AMLogic codec for DVDs are still frames. The system aml codec is designed and built for streaming. Shove in a still frame and it just sits there waiting for more (greedy little thing it is) before it will render that frame.
MrMC Forums : http://forum.mrmc.tv
Reply
(2016-01-09, 19:57)MrMC Wrote: The other problem with using AMLogic codec for DVDs are still frames. The system aml codec is designed and built for streaming. Shove in a still frame and it just sits there waiting for more (greedy little thing it is) before it will render that frame.

Yep - that seems to be an issue on a number of platforms.
Reply
  • 1
  • 59
  • 60
  • 61(current)
  • 62
  • 63
  • 134

Logout Mark Read Team Forum Stats Members Help
WeTek Core (24p HD Netflix / HD Audio / Lollipop / OpenELEC / 4K / HEVC)4