[mythtv] Playback next steps

Piotr Oniszczuk piotr.oniszczuk at gmail.com
Sun Dec 2 16:38:01 UTC 2018

> Wiadomość napisana przez Peter Bennett <pb.mythtv at gmail.com> w dniu 01.12.2018, o godz. 22:58:
> I have added support in MythTV playback for VAAPI2 (VAAPI plus deinterlace plus ability to handle format changes) and Mediacodec. I plan to do the same for NVIDIA CUDA/NVDEC.
> However these new methods are passing images through main memory on their way to the output and using the existing OpenGL code for rendering, We need to pass images directly from decoder to graphics output to improve efficiency and to support 4K video at 50 fps. The next task will be to support this. I am not sure how this will work. The existing OpenGL code in MythTV does a lot of processing of each image and in order to achieve the required performance, some of this may have to be avoided. It may entail a new type of lightweight opengl that leaves out the extensive opengl processing of images currently undertaken, or may require new types of video rendering.
> My knowledge / experience with OpenGL is very little and I have found the existing OpenGL code rather difficult to understand.
> If anybody has information/ideas about how to proceed with this please let me know.
> Peter


I’m really glad You bring this subject to dev discussion as IMHO this is critical to future of frontend(*) - if we effectivelly want to have frontend running(**) on anything other than x86…

From long-term architectural planing perspective I think future architecture should deal with discretion of: DPU, GPU and VPU (display processing unit; graphic processing unit and video processing unit). 

95% non-x86 platforms have discretion of those 3 units - so next-gen architecture should correctly approach this.

Another aspect is OS support.
If we want to support non-x86 HW - OS is practically only: Linux & Android.

I think - despite good Android support(***) - in long-term myth should support Linux as Linux is IMHO much more resource effective, controllable (in software sense), opened and uniforming.

If there will be common agreement about future GO for non-x86 support via Linux path - then we can enter next stage: discussing right architecture. After that we can discuss implementation and next resources.

(*) - also future of MiniMyth2 where target is to have single ARMv7/AARCH64 images similar like current x86 image with network boot and zero-touch provisioning and full plug-n-play.
(**) - I mean really smooth playback of 4k at 60p for H265/VP9

(***) - I played frontend on android 7.1 on my s905w tx3-mini and my experience is far from expected. Key issue is really jumpy playback despite 10-20% CPU load with mediacodec decoder 



More information about the mythtv-dev mailing list