Add aml_support_hevc function and recognize S812 chip
ADD: [aml] add h265/hevc support
gl: avoid grabbing viewport on each render

Same as 518556b45b61de06a0bc810147cd1a6347497461 but for GL
GL: switch to CPU based matrix caculations to match GLES

This drops use of glGet which causes a performance hit on some systems since
it forces a glFinish()
GL(ES): Simplify matrix stack handling
fixup! GL(ES): Simplify matrix stack handling
fixup! GL: switch to CPU based matrix caculations to match GLES
sorting: fix Container.SetSortMethod (fixes #15627)
[pvr][cleanup] Unused variable: strBackendDiskspace .
[pvr][cleanup] Prefer prefix ++/-- operators for non-primitive types.
[pvr][cleanup] Function parameter 'path' should be passed by reference.
[pvr][cleanup] Variable 'foo' is assigned in constructor body. Consider performing initialization in initialization list.
[pvr][cleanup] Variable 'iClientIndex' is reassigned a value before the old one has been used if variable is no semaphore variable.
[pvr][cleanup] Member variable 'foo::bar' is not initialized in the constructor.
[pvr][cleanup] Member variable 'foo::bar' is not assigned a value in 'foo::bar='.tor.
[pvr][cleanup] Member variable 'CPVRTimerInfoTag::m_genre' is not assigned a value in 'CPVRTimerInfoTag::operator='.
[pvr][cleanup] Possible null pointer dereference: tag - otherwise it is redundant to check it against null.
[pvr][cleanup] The scope of the variable 'foo' can be reduced.
[pvr][cleanup] Technically the member function 'foo::bar' can be const.
[pvr][cleanup] Make class CPVRChannelGroupsContainer' non-copyable.