[players] Skip picture attachments in video players

Picture attachments get reported by ffmpeg as a video stream with the flag AV_DISPOSITION_ATTACHED_PIC.
You generally don't want to play these as video.
omxplayer hangs when trying to play a picture as video (as it never gets enough frames to startup).
The players also get confused with a video file with artwork, and try to play the artwork. E.g.

21:23:53  47.576946 T:2831643728    INFO: ffmpeg[A8C77450]:     Stream #0:0: Video: mjpeg, yuvj420p, 1920x1080, 90k tbr, 90k tbn, 90k tbc
21:23:53  47.578365 T:2831643728    INFO: ffmpeg[A8C77450]:     Stream #0:1: Audio: wmav2 (a[1][0][0] / 0x0161), 48000 Hz, 2 channels, fltp, 192 kb/s
21:23:53  47.579159 T:2831643728    INFO: ffmpeg[A8C77450]:     Stream #0:2: Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p, 1920x1080, 12000 kb/s, 29.97 tbr, 1k tbn, 1k tbc

I think this is suitable for Gotham.
[uClibc] Fix TZ after bfc296b

inspired by t-nelson:
https://github.com/xbmc/xbmc/commit/a2f3ca28ff22eba942d12e9cb3701818bb9dac6f
ffmpeg demuxer: fix incorrectly set bitsPerSample for audio streams
paplayer: fix display of bitsPerSample for codecs served by dvdplayer
paplayer: fix compiler warning
AESinkDirectSound: Only add AC3 and DTS if we are not PCM device
Merge pull request #4438 from fritsch/xbmc-upstream

AESinkDirectSound: Only add AC3 and DTS if we are not PCM device
Merge pull request #4427 from bkuhls/uclibc

[uClibc] Fix TZ after bfc296b
Merge pull request #4432 from FernetMenta/paplayer

paplayer: fix display of bits per sample for dvdplayer codecs
Merge pull request #4362 from popcornmix/avoid_pictures

[players] Skip picture attachments in video players
[3D] Support switching to 3D resolutions

Include matching 3D flags (SBS/TAB) in the score of a resolution to switch to, to enable switching to 3d modes.
Also remove the old code that treated 3D modes differently when assigning a score.

I've also added a small weight to higher multiples of the desired framerate, so if display supports 30, 60 and 120Hz
and the video is 30fps then 30 will now be chosen rather than 120. This reduces the overhead of rendering the gui.
[confluence] Use animated gif as a cheaper working spinner
[rbp/omxplayer] Do we need discontinuity handling?

So far I've not seen what this is needed for and it does cause problems for some files.
h264_parser: Initialize the h264dsp context in the parser as well

Each AVStream struct for an H.264 elementary stream actually has two
copies of the H264DSPContext struct (and in fact all the other members
of H264Context as well):

((H264Context *) ((AVStream *)st)->codec->priv_data)->h264dsp
((H264Context *) ((AVStream *)st)->parser->priv_data)->h264dsp

but only the first of these was actually being initialised. This
prevented the addition of platform-specific implementations of
parser-related functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
h264dsp: Factorize code into a new function, h264_find_start_code_candidate

This performs the start code search which was previously part of
h264_find_frame_end() - the most CPU intensive part of the function.

By itself, this results in a performance regression:
              Before          After
              Mean   StdDev   Mean   StdDev  Change
Overall time  2925.6 26.2     3068.5 31.7    -4.7%

but this can more than be made up for by platform-optimised
implementations of the function.

Signed-off-by: Martin Storsjö <martin@martin.st>
arm: Add assembly version of h264_find_start_code_candidate

               Before          After
               Mean   StdDev   Mean   StdDev  Change
This function   508.8 23.4      185.4  9.0    +174.4%
Overall        3068.5 31.7     2752.1 29.4     +11.5%

In combination with the preceding patch:
                Before          After
                Mean   StdDev   Mean   StdDev  Change
Overall         2925.6 26.2     2752.1 29.4     +6.3%

Signed-off-by: Martin Storsjö <martin@martin.st>
[ffmpeg] Backport of h264_find_start_code_candidate optimisation
[rbp/omxplayer] Add fixed latency mode for live streams
[rbp/omxplayer] Avoid marking non-monotonic timestamps as unknown

Following a single spurious timestamp that is in the future,
all subsequent timestamps will be marked unknown causing out of sync.
[rbp/omxplayer] When opening a stream don't try to update gui so often

The 1ms sleep allows for up to 1000 fps gui overlay update, which when busy when opening a file is a bad idea.
Increase the sleep so it only tries to update at up to 10 times per second