demuxer ffmpeg: move m_streams into a map, drop MAX_STREAMS
dvdplayer: move extradata cleanup to CDVDDemuxStream destructor
dvdplayer: keep temporary stream pointer in ffmpeg AddStream
dvdplayer: keep ffmpeg demuxer indexes in continous order
demuxer ffmpeg: handle pmt changes
GUIWindowPVR: don't spawn dedicated thread just to invalidate channel items every 5 seconds. Instead run CStopWatch when activating channel window, check if 5 seconds elapsed and then inavlidate window and reset watch.
GUIEpgGridContainer: split Render() into Process() / Render()
GUIEpgGridContainer: get rid of GetRulerCacheOffsets() method which is just duplicated GetProgrammeCacheOffsets()
GUIEpgGridContainer: get rid of unused now (and never should be used) m_renderTime
GUIEpgGridContainer: fix memory freeing for ruler items
GUIEpgGridContainer: fix memory freeing for programme items
GUIListItemLayout: SetWidth() / SetHeight() - mark invalid only when new size is different from old one
[players] Fix dts time after seek
[rbp/omxplayer] Update media time sooner with online streams
DllAvCodec: map avcodec_encode_audio2
Improve compatibility with C++11 (Visual Studio 2012, Intel C++ compiler 13.0)
DllAvCodec: map avcodec_fill_audio_frame
DllAvCodec: map avcodec_free_frame.

This makes xbmc require FFmpeg 1.0
Fix undefined reference caused by wrong detection of gcc builtin atomic functions.
AEEncoderFFmpeg: switch to avcodec_encode_audio2 and convert input audio to a format accepted by the encoder if AE does not handle it. Fixes transcoding to AC3 for passthrough (e.g. HDMI).

Without this, with ffmpeg 1.1 and later, xbmc segfaults when trying to transcode
to AC3.

It would be better to have AE to support planar formats but this fallback will be useful in case there are even other audio formats introduced in FFmpeg and is simpler for now.