Added a boolean condition to identify the Raspberry Pi platform (System.Platform.Linux.RaspberryPi)
Show values of string settings with button controls
[GUIInfoManager] Add VideoPlayer.AudioLanguage infolabel.
[DVDPlayer] Set CMediaSettings::Get().GetCurrentVideoSettings().m_AudioStream on open/set.
add audio and subtitle language info to video osd if available
[win32] Use more VC optimizations for important XBMC parts for 'Release' config
* Enable 'Full' code optimization
* Prefer speed over small size
* Allow any suitable inline function
* Enable Generate Intrinsic Functions
* Enable Function-Level Linking
* Enable 'Whole Program Optimization' for compiler, linker and lib task
* Explicitly enable linker optimization /OPT:REF and /OPT:ICF
[win32] Fix various linker warnings
ADD: implement default joystick map
Added EpgSearchFilter criteria for UniqueBroadcastID. Extend implementation of ISerializable in CEpginfoTag.
Add JSON-RPC methods PVR.GetBroadcasts and PVR.GetBroadcastDetails including the needed type and service descriptions.
Bump JSON-RPC version to 6.7.0
cosmetic: move CGUIControlFactory::GetDimension private
[guilib] fixed - groups with no <width> or <height> set but with <posx> or <posy> had incorrectly derived width or height.
[guilib] adds control positioning via <left>, <top>, <right>, <bottom>, <centerx> and <centery>.

The <posx>, <posy>, <width> and <height> are derived.
Also allows for percentage sizing/positioning, e.g. <left>25%</left>
[guilib] changed: move right aligned label hack so that <left> and <right> behave the same for all controls.

Note: <posx> will still behave as it did in Frodo:
 * On label controls outside of containers that are right aligned, it's the RIGHT edge.
 * In all other cases (including labels inside containers), it's the LEFT edge.
[depends] - bump libsdl-native and libsdl (target) to 1.2.15 and add the mavericks compile patch on the top
[rbp/omxplayer] Avoid clipping with amplification

The amplification algorithm introduced in #3185 relies on a fixed duration between
submitting samples (where max output values are computed) and samples being output,
so volume can be adjusted in time.

When this is too low, such as at start of stream when buffering is low we can apply
attenuation too late and so produce a loud distorted/clipped sound.

When too high, the attenuation can start to decay before the max sample is output,
again causing clipping.

This PR keeps a queue of max sample values for the current buffered audio duration,
and avoids clipping if any sample in queue will clip.
Add useCache option to python ControlImage.setImage function that can be set to false to bypass the cache

Signed-off-by: Jonathan Dieter <jdieter@lesbg.com>
[rbp/omxplayer] Add a jpeg re-encode thumbnail pipeline

This PR adds a GPU accelerated pipeline to decode/resize/encode a jpeg without requiring
the decoded pixels to be returned to the arm.

The GPU also decodes and resizes the jpeg in stripes, so can do this work with far less memory.

This significantly reduces ARM CPU required for caching thumbnails,
and significantly reduces the memory required.
Merge pull request #3477 from koying/adddefaultjoystick

ADD: implement default joystick map