[omxplayer] Don't flush queued data on general reset

We were flushing the queue of data to gpu (which can be a number of seconds worth) on a general reset.
However this is generated on inoccuous events like a chapter change in dvd playback.

This results in a few seconds loss of audio, and a temporary audio/video sync error
[PVR] initial support for sub channel numbers. display only. only works with 'using backend channel numbers' enabled
[PVR] bump add-ons
DXVA: factor out interface to dxva decoder into singleton
DXVA: only allow a single dxva decoder to be opened
DXVA: refcount decoder on get/release buffer
[curl] redact effective URL
[pvr] fix destructor visibility to allow polymorphic deletion

This fixes the polymorphic deletion in CGUIWindowPVRBase.
Merge pull request #5290 from opdenkamp/subchannels

PVR: initial support for sub channel numbers
Merge pull request #5338 from xhaggi/pvr-fix-destructor-visibility

[pvr] fix destructor visibility to allow polymorphic deletion
Merge pull request #5335 from FernetMenta/dxva

DXVA: fixes related to ffmpeg
Merge pull request #5337 from wsnipex/curl_real_url

[curl] redact effective URL
Merge pull request #5240 from popcornmix/generalreset

[omxplayer] Don't flush queued data on general reset
omxplayer: Reset codec on flush to stop a stale timestamp from being returned
[rbp] Hardware accelerated resampling

This replaces the format conversion, up/down mixing and resampling code from ActiveAE with a GPU accelerated version.
Should significantly reduce CPU when using paplayer or dvdplayer.

Requires updated firmware
[rbp/omxplayer] When opening a stream don't try to update gui so often
[ffmpeg] Speed up wtv index creation

The index creation is O(N^2) with number of entries (typically thousands).
On a Pi this can take more than 60 seconds to execute for a recording of a few hours.

By replacing with an O(N) loop, this takes virtually zero time
ffmpeg: Add armv6 acceleration for imdct/fft used by ac3/aac

armv6: Accelerate ff_imdct_half for general case (mdct_bits != 6)

The previous implementation targeted DTS Coherent Acoustics, which only
requires mdct_bits == 6. This relatively small size lent itself to
unrolling the loops a small number of times, and encoding offsets
calculated at assembly time within the load/store instructions of each
iteration.

In the more general case (codecs such as AAC and AC3) much larger arrays
are used - mdct_bits == [8, 9, 11]. The old method does not scale for
these cases, so more integer registers are used with non-unrolled versions
of the loops (and with some stack spillage). The postrotation filter loop
is still unrolled by a factor of 2 to permit the double-buffering of some
VFP registers to facilitate overlap of neighbouring iterations.

I benchmarked the result by measuring the number of gperftools samples
that hit anywhere in the AAC decoder (starting from aac_decode_frame())
or specifically in ff_imdct_half_c / ff_imdct_half_vfp, for the same
example AAC stream:

                  Before          After
                  Mean   StdDev   Mean   StdDev  Confidence  Change
aac_decode_frame  2368.1 35.8     2117.2 35.3    100.0%      +11.8%
ff_imdct_half_*   457.5  22.4     251.2  16.2    100.0%      +82.1%

armv6: Accelerate ff_fft_calc for general case (nbits != 4)

The previous implementation targeted DTS Coherent Acoustics, which only
requires nbits == 4 (fft16()). This case was (and still is) linked directly
rather than being indirected through ff_fft_calc_vfp(), but now the full
range from radix-4 up to radix-65536 is available. This benefits other codecs
such as AAC and AC3.

The implementaion is based upon the C version, with each routine larger than
radix-16 calling a hierarchy of smaller FFT functions, then performing a
post-processing pass. This pass benefits a lot from loop unrolling to
counter the long pipelines in the VFP. A relaxed calling standard also
reduces the overhead of the call hierarchy, and avoiding the excessive
inlining performed by GCC probably helps with I-cache utilisation too.

I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in the FFT routines (fft4() to fft512() and pass()) for the
same sample AAC stream:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode  2245.5 53.1     1599.6 43.8    100.0%      +40.4%
FFT routines  940.6  22.0     348.1  20.8    100.0%      +170.2%
adds GetTvShowSeasons
move AddSeason() public.