[rbp/omxplayer] Support frame advance (single step) with right arrow when paused
[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.
[rbp/omxplayer] Fix build error in types for max

It seems there is a compile error when STDINT_H_AVAILABLE is not defined.
See: http://raspbmc.apt-get.eu/downloads/bin/xbmc/nightlies/xbmc-rbp-20130710.log
Avoid flushing fifos when audio/video fifos out of sync
[confluence] Use animated gif as a cheaper working spinner
[EGL] Fix the non-trivial dirty rectangle modes

EGL is typically double or triple buffered, and the previous buffer contents are not preserved.
This means the non-trivial dirty rectangle modes display a flickery mess.

EGL does provide a means for requesting the EGL buffer is preserved across calls.
It seems appropriate to request that when using dirty rectangle modes.

This PR makes algorithmdirtyregions 1 and 2 work on the Raspberry Pi.
It needs testing on other EGL platforms.
[rbp] Add screenshot implementation that includes video layer
[rbp/omxplayer] Stop using AVCODEC_MAX_AUDIO_FRAME_SIZE

This constant has been deprecated and is now gone in FFmpeg 2.0.

See #3006
[rbp] Switch from libshairport to libshairplay for airplay
[rbp/omxplayer] Support both analogue and hdmi audio
Add missing h264dsp initialisation call

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.
New h264dsp method, 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.
arm: Add assembly version of h264_find_start_code_candidate

               Before          After
               Mean   StdDev   Mean   StdDev  Change
This function   479.8  16.7     181.0  11.1   +165.1%
Overall        2898.0  24.4    2738.2  26.3     +5.8%
Remove one 64-bit integer modulus operation per MPEGTS packet

The common case of the pointer having increased by one packet (which results
in no change to the modulus) can be detected with a 64-bit subtraction,
which is far cheaper than a division on many platforms.

           Before          After
           Mean   StdDev   Mean   StdDev  Change
Divisions   248.3  8.8      51.5   7.4    +381.7%
Overall    2773.2 25.6     2372.5 43.1     +16.9%
Remove one memcpy per MPEGTS packet

This was being performed to ensure that a complete packet was held in
contiguous memory, prior to parsing the packet. However, the source buffer
is typically large enough that the packet was already contiguous, so it is
beneficial to return the packet by reference in most cases.

         Before          After
         Mean   StdDev   Mean   StdDev  Change
memcpy    720.7  32.7     649.8  25.1   +10.9%
Overall  2372.7  46.1    2291.7  21.8    +3.5%
Made discard_pid() faster for single-program MPEGTS streams

When a stream contains a single program, there's no point in doing a
PID -> program lookup. Normally the one and only program isn't disabled,
so no packets should be discarded.

              Before          After
              Mean   StdDev   Mean   StdDev  Change
discard_pid()   73.8  9.4       20.2  1.5    +264.8%
Overall       2300.8 28.0     2253.1 20.6      +2.1%