Mailing List Archive

Latest openGL changes
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@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Latest openGL changes [ In reply to ]
Peter

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
access.

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

Regards
Mark

due, Jan 8, 2019, 9:08 PM Peter Bennett <pb.mythtv@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@mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-dev
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org
>