compil against external libbluray
Fix incorrect usage of S_IFDIR flag
[fix] Addon update deadlock due to race condition resulting from a CThread (CBusyWaiter) being on the stack getting destroyed prior to the actual thread exiting.
Make up missed ShowPicture in command array
[pvr] fix: last watched timestamps won't update after channel switch

As we only update the last watched timestamp of the current playing channel before a successful channel switch is performed we sometimes continue the wrong last watched channel and group.
[vobsub] always set correct source value when creating vobsub stream in demuxer
[vobsub] set filename2 on all vobsub streams that are part of the external file
[vobsub] don't prioritize external VOBSUBs over external SRTs
[vobsub] ensure external vobsubs included in the idx file are all marked as (external)
set deinterlace mode to AUTO as default
AE: fix S24NE3
fixup: drop const for CPVRChannel
linuxrenderer: remove obsolete includes
linuxrenderer: use pragma once instead of outdated ifdef
Improve portability
[linux] SysInfo::GetUserAgent: add name of Linux distribution like some Chrome versions do
[mmal] Add MMAL decoder and MMAL renderer for Raspberry Pi

While omxplayer is the best performing player on the Pi (and the only option for raw Blu-Rays)
there are some reasons to use dvdplayer on a Pi:

DVDs with menus do not work well with omxplayer
support of software decode for SD codecs like divx3, msmpeg, sorenson spark etc
omxplayer doesn't support alsa, so can't be used with USB and I2S sound cards
dvdplayer may behave better with dodgy timestamps and packet loss, e.g. with live TV

So this PR adds hardware acceleration to dvdplayer using the MMAL api.

There is also a MMAL based video renderer. Compared to using GL, this:
saves the processing cost of YUV->RGB conversion
saves the memory cost of the RGB textures for video frames (1080p = 3MB for YUV and 8MB for RGB)
allows high quality (cubic) scaling
[omxplayer] Fix bad audio when sample_fmt is not reported on Open

For most codecs ffmpeg reports m_pCodecContext->sample_fmt on the avcodec_open2 call (e.g. ac3, dts, aac).
However some (PCM on dvd) report AV_SAMPLE_FMT_NONE on open, and only provide the correct format on decode.

This can cause the GetBitsPerSample call to change between open and decode and results in white noise when the word size is misinterpreted.

The simple solution is to always convert to float when open doesn't report the format and ensure GetBitsPerSample reports this value
[vobsub] exclude archived .sub files from filename when not starting with base video name
Merge pull request #5440 from Karlson2k/user_agent_upd_04

[linux] SysInfo::GetUserAgent: add name of Linux distribution like some Chrome versions do