vda: fix chroma issue with vda upload

GL_YCBCR_422_APPLE need a GL_RGB internal format not GL_RGBA
vda: cvref textures are non power of two so don't allocate extra space
vda: use IOSurfaceGetPixelformat instead of CVPixelBufferGetPixelFormatType

We have converted the texture to an IOSurfaceRef so use that to check
for format.
vda: allocate pot texture if requested
vda: switch cvref rendering over to standard UYVY422 renderer

This gives brightness/contrast/scaling support. The fallback to
old style upload is dropped since GL_YCBCR_422_APPLE
is no longer used.
[ffmpeg/vda] - update for current used ffmpeg (2.2)
vda: allow 3 render buffers
vda: if no image is returned, we must still reset cv_buffer

This is used unconditinolly by ffmpeg, and if not cleared here an
old already released frame may end up being used.
vda: upgrade to hwaccel2 interface
ffmpeg: if a second GetFormat dis-allow hwaccel, we must restore ffmpeg

This fixes errors in the case that a second instance of a decoder fails, then we must fall back to software again.
gl: multipass renderer would use wrong source pixels sizes

The scaling was inverted for pixel coordinate.
gl: multipass renderer was broken when RECT textures was used as source

FBO is now always rendered with non rect texture target, even if source
is rect.
vda: only allow ffmpeg VDA when advanced setting enable it

It currently cause corruption during playback of some files
fixed: quell printf format warnings
copy: support chunked reads so that CFile internal buffer is eliminated

This eliminates memory copies cpu overhead by multiple calls.
[omxplayer] Fix for out of sync after trickplay

This code needs to occur before new m_playSpeed is assigned.
Also makes sense to occur next to similar code in dvdplayer case.
[omxplayer] Don't sync up to passthrough audio packets - let GPU handle it

This code was just broken.
When sync is lost it attempts to identify how many bytes to skip to regain sync,
but does nothing with that skip count - just drops the whole frame.

It also stops EAC3 from being passed through.

The GPU has similar sync detection code which does avoid dropping the whole frame,
so just pass the packets through and let GPU deal with it.
[omxplayer] Fix for EAC3 passthrough

The Pi firmware supports EAC3 passthrough okay, but we weren't correctly enabling support.
See: https://github.com/OpenELEC/OpenELEC.tv/issues/3302
Merge pull request #5782 from popcornmix/trickplay_sync

[omxplayer] Fix for out of sync after trickplay
Merge pull request #5783 from popcornmix/fix_eac3

[omxplayer] Fix for EAC3 passthrough