Add comment explaining [2035013]
WebFrontend: Don't resize the page content for the menu, instead let the menu overlay it. The effect of resizing didn't work well enough, especially on slower browsers/devices.
WebFrontend: Bump up the z-index of the menu.
Re-sync FFmpeg copy to release/2.2 branch

branch version: n2.2.2-30-gacafd18

new in 2.2:
- HNM version 4 demuxer and video decoder
- Live HDS muxer
- setsar/setdar filters now support variables in ratio expressions
- elbg filter
- string validation in ffprobe
- support for decoding through VDPAU in ffmpeg (the -hwaccel option)
- complete Voxware MetaSound decoder
- remove mp3_header_compress bitstream filter
- Windows resource files for shared libraries
- aeval filter
- stereoscopic 3d metadata handling
- WebP encoding via libwebp
- ATRAC3+ decoder
- VP8 in Ogg demuxing
- side & metadata support in NUT
- framepack filter
- XYZ12 rawvideo support in NUT
- Exif metadata support in WebP decoder
- OpenGL device
- Use metadata_header_padding to control padding in ID3 tags (currently used in
  MP3, AIFF, and OMA files), FLAC header, and the AVI "junk" block.
- Mirillis FIC video decoder
- Support DNx444
- libx265 encoder
- dejudder filter
- Autodetect VDA like all other hardware accelerations

New in 2.1:
- aecho filter
- perspective filter ported from libmpcodecs
- ffprobe -show_programs option
- compand filter
- RTMP seek support
- when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
  even when used as an input option. Previous behavior can be restored with
  the -noaccurate_seek option.
- ffmpeg -t option can now be used for inputs, to limit the duration of
  data read from an input file
- incomplete Voxware MetaSound decoder
- read EXIF metadata from JPEG
- DVB teletext decoder
- phase filter ported from libmpcodecs
- w3fdif filter
- Opus support in Matroska
- FFV1 version 1.3 is stable and no longer experimental
- FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
- changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
  more consistent with other muxers.
- adelay filter
- pullup filter ported from libmpcodecs
- ffprobe -read_intervals option
- Lossless and alpha support for WebP decoder
- Error Resilient AAC syntax (ER AAC LC) decoding
- Low Delay AAC (ER AAC LD) decoding
- mux chapters in ASF files
- SFTP protocol (via libssh)
- libx264: add ability to encode in YUVJ422P and YUVJ444P
- Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
- make decoding alpha optional for prores, ffv1 and vp6 by setting
  the skip_alpha flag.
- ladspa wrapper filter
- native VP9 decoder
- dpx parser
- max_error_rate parameter in ffmpeg
- PulseAudio output device
- ReplayGain scanner
- Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
- Linux framebuffer output device
- HEVC decoder, raw HEVC demuxer, HEVC demuxing in TS, Matroska and MP4
- mergeplanes filter

New in 2.0:
- curves filter
- reference-counting for AVFrame and AVPacket data
- ffmpeg now fails when input options are used for output file
  or vice versa
- support for Monkey's Audio versions from 3.93
- perms and aperms filters
- audio filtering support in ffplay
- 10% faster aac encoding on x86 and MIPS
- sine audio filter source
- WebP demuxing and decoding support
- new ffmpeg options -filter_script and -filter_complex_script, which allow a
  filtergraph description to be read from a file
- OpenCL support
- audio phaser filter
- separatefields filter
- libquvi demuxer
- uniform options syntax across all filters
- telecine filter
- new interlace filter
- smptehdbars source
- inverse telecine filters (fieldmatch and decimate)
- colorbalance filter
- colorchannelmixer filter
- The matroska demuxer can now output proper verbatim ASS packets. It will
  become the default at the next libavformat major bump.
- decent native animated GIF encoding
- asetrate filter
- interleave filter
- timeline editing with filters
- vidstabdetect and vidstabtransform filters for video stabilization using
  the vid.stab library
- astats filter
- trim and atrim filters
- ffmpeg -t and -ss (output-only) options are now sample-accurate when
  transcoding audio
- Matroska muxer can now put the index at the beginning of the file.
- extractplanes filter
- avectorscope filter
- ADPCM DTK decoder
- ADP demuxer
- RSD demuxer
- RedSpark demuxer
- ADPCM IMA Radical decoder
- zmq filters
- DCT denoiser filter (dctdnoiz)
- Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
- Apple Intermediate Codec decoder
- Escape 130 video decoder
- FTP protocol support
- V4L2 output device
- 3D LUT filter (lut3d)
- SMPTE 302M audio encoder
- support for slice multithreading in libavfilter
- Hald CLUT support (generation and filtering)
- VC-1 interlaced B-frame support
- support for WavPack muxing (raw and in Matroska)
- XVideo output device
- vignette filter
- True Audio (TTA) encoder
- Go2Webinar decoder
- mcdeint filter ported from libmpcodecs
- sab filter ported from libmpcodecs
- ffprobe -show_chapters option
- WavPack encoding through libwavpack
- rotate filter
- spp filter ported from libmpcodecs
- libgme support
- psnr filter

Still using some re-activated old API (in particular avcodec_audio_decode)
Fix crashes when playing nuv files

regression introduced by FFmpeg 2.2 resync
No point de-interleaving mono.
Update DecodeAudio to use new FFmpeg’s audio API
Update for new FFMPEG audio API
We don’t need to build FFMpeg with old audio API any longer
Update AudioOutputDigitalEncoder for new FFmpeg APIs
WebFrontend: Make the guide timebar static.

This one tiny detail has caused me more headaches than almost any
other bit of the WebFrontend so far. I looked at several approaches
and hit many dead ends. This _should_ be pure css, but it doesn't
appear possible. I investigated giving the timebar fixed positioning,
but that requires too many compromises, too many wrappers (css was
supposed to do away with markup for the purpose of styling) and it
would make updates to the page harder.

A fancy javascript (jQuery) carousel type approach proved to be way
too slow on mobile devices. Javascript just is never going to be fast
enough on phones/tablets.

So going back to a simple approach I've mixed css (overflow: scroll)
with a one liner of javascript to resize the div to the remaining
screen height (impossible in css). However there is still an
irritating mis-alignment issue on mobile browsers because they don't
display the scrollbar, this results in the timebar being slightly
mis-aligned with respect to the programme boundaries. Since I've
already wasted a lot of time on this, I'm committing it as is and will
revisit the alignment problem if/when time allows.
Update MPEG2fixup for new FFmpeg APIs
Rename libmythtv/frame.h into libmythtv/mythframe.h

frame.h is now a FFmpeg header, so avoid potential conflicts
More FFmpeg API updates
Update AVFormatWriter for new FFMpeg APIs

Fix a memory leak, object m_picture allocated was never freed and remove unused member
Try to fix corner cases when stopping in-progress recordings.

The backend uses EncoderLink::MatchesRecording(), which in turn uses
ProgramInfo::IsSameRecording(), to determine which recorder to stop.
Unfortunately the logic used is too strict in some respects and too
loose in others.  It is too strict in that it requires an exact match
on ProgramInfo::recstartts when there are many places in the code
where the exact recstartts used by the recorder is not known.  The
result is the stop recording request is ignored in those cases.  It is
too loose in that it doesn't only uses chanid and recstartts.  The
result is that it can stop the wrong recording in some cases.

This change attempts to resolve at least some of the issues.  Changed
PI:IsSameRecording() to also check the program title.  Changed
EL::MatchesProgram() to check PI::IsSameProgramWeakCheck() and the
inputids instead of PI::IsSameRecording() when the inputid is known.
This handles the cases where the exact recstartts isn't known.
Finally, removed a work-around for this problem in ScheduleCommon that
didn't always work.
Services API: Add GetFrontends endpoint which returns a list of frontends connected to the backend.

The endpoint takes a boolean 'OnLine' arg which limits the list to
only frontends which are currently connected, excluding those which
have connected but are presently offline.

The frontend information return is limited to it's hostname (Name) and
it's IP address. This should improve in time.

The frontend IP (and port 6547) enables a services client to connect
to the frontend http service where they can then fetch further
frontend information or control aspects of the frontend.

This adds a BackendContext global object to the backend which
maintains a list of all frontends which connect to the backend and
those which are presently connected. This is an incomplete
implementation as we don't yet store the frontend information in the
database so that it will persist through backend restarts.

Ultimately the BackendContext may evole to track other information.
Services API: Return a simple boolean 'OnLine' for the Frontend object instead of the connection count.
Move ANN logging to VB_NETWORK, replacing it with the more user-friendly logging from BackendContext
Merge branch 'devel/resync-ffmpeg'

Make distclean is compulsory. Deleting any installed mythtv headers is highly recommended