[mythtv] Latest openGL changes

Mark Kendall mark.kendall at gmail.com
Wed Jan 9 11:23:47 UTC 2019


Thanks for testing.

Re extra stage - I still have no idea why the extra stage is needed but was
hoping it was fixed by 80b501c.

With respect to HQUYV v UYVY, the HQ version should give better quality on
interlaced content - it will only really manifest though on certain
material and material that is properly encoded in the first place.

Performance wise, it's telling that the rgba profile outperforms the HQ
profile. The HQ code really needs some NEON help. Full software YUV to RGBA
is pretty CPU intensive but the FFmpeg libs presumably have some pretty
good neon support.

As the other Mark has also noticed, the YV12 shaders are degrading quality
slightly with what I think is an attempt at handling the interlaced chroma
issue - but it is not working properly. I didn't want to remove the
offending code before release and without time to test alternatives.

Also worth noting that the opengl-lite profile tests are probably actually
falling back to UYVY (opengl) as I doubt the required extensions are
available on the fire stick - though possibly available on the shield
(NVidia usually support a good range of extensions).

Next steps are to start optimising the shaders a little, perhaps in a
device specific manor and to optimise the renderers generally to ensure we
are getting the best performance. For example, some GLSL compilers/devices
will probably perform better without any branching in the shaders.

I'm fairly sure we can improve the YV12 speed by using a texture for each
plane which will reduce memory access speed/latency in the shaders.
Likewise, for deinterlacing, by binding the same video texture multiple
times with a slightly different vertex offset, we can again improve memory

And of course this all moot on android if we can sort out direct mediacodec


due, Jan 8, 2019, 9:08 PM Peter Bennett <pb.mythtv at gmail.com wrote:

> I did some testing on Android devices of the latest Master version with
> OpenGL changes. Everything looks good.
> The fire 4K still need "Extra Stage" turned on, the Shield does not need
> the extra stage.
> opengl-yv12 with Bob 2x HW  and Linear blend HW deinterlace seems the
> best for Fire 4K.
> Some of the new OpenGL options have fewer deinterlace options.
>   - fire 4K
> Extra stage, 1080i, Bob 2x HW-GL
> opengl - Bob 2x HW-GL - perfect
> opengl-yv12 - Bob 2x HW-GL - perfect
> opengl-lite - SW Bob 2x - perfect
> opengl-hquyvy - Bob 2x HW-GL - drops 17 frames per second
> opengl-rgba - interlaced 2x - drops 2 frames per second, jerky
> opengl-rgba - linear blend (software) - perfect
> Extra stage, 720p 60 fps
> opengl-yv12 - perfect
> No green lines
>   - Shield
> NO Extra stage, 1080i, Bob 2x HW-GL
> opengl - Bob 2x HW-GL - perfect
> opengl-yv12 - Bob 2x HW-GL - perfect
> opengl-lite - SW Bob 2x - perfect
> opengl-hquyvy -  Bob 2x HW-GL - perfect
> opengl-rgba - interlaced 2x  - perfect
> NO Extra stage, 720p 60 fps
> opengl - perfect
> opengl-yv12 - perfect
> No green lines for any size video
> Peter
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-dev
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-dev/attachments/20190109/5ead0d16/attachment.html>

More information about the mythtv-dev mailing list