hevc: Use get_bits_long() in decode_vui()

Fix assertion failure.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
hevc: use av_mallocz() for allocating tab_ipm

Fixes use of uninitialized memory and out of stack array read.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
hevc: Do not turn 32bit timebases into negative numbers

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
hevc: make pps/sps ids unsigned where necessary

Fixes integer overflow and out of array accesses.
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
isom: add xd51 hdcam

Someone needs to binary search FCP for new isom...
isom: Support Sony XAVC in mov

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
isom: add Radius DV YUV FourCCs
isom: add "NO16" FourCC
isom: Support MPEG-2 video mov files from FPC5
isom: add "MNG" FourCC
isom: lpcm in mov default to big endian

It is my understanding that "Unless otherwise stated, all data in a
QuickTime movie is stored in big-endian byte ordering" [1] in MOV files.

I have a couple of thousand files, which technically are invalid because
their sound sample description element 4CC is 'lpcm' but its version is
0 - and "Version 0 supports only uncompressed audio in raw ('raw ') or
twos-complement ('twos') format" [2]

Because isom.c only contains a mapping for 4CC 'lpcm' to
AV_CODEC_ID_PCM_S16LE, these files have their audio decoded as LE when
it is actually BE.

This commit adds AV_CODEC_ID_PCM_S16BE as the first match for 4CC 'lpcm'.

[1]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 21
[2]
https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf
page 178

Reviewed-by: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
libspeex: support ZygoAudio (quality 10 mode)
movdec: handle 0x7fff langcode as macintosh per the specs

The correct point that seperates ISO and MAC language codes is 0x400
according to the current QT spec. Old QT specs did not list where this
seperation is but apparently only defined the meaning of the first 137.
riff: IPJ2 decodes with JPEG2000 decoder

Samples can be made from mencoder and jp2avi.dll codec.
riff: add VP9 fourcc
movenc: use 'hev1' tag for HEVC in MODE_MOV.

'hvc1' requires that parameter set NAL units be
present only in the samples entry, but not in the
samples themselves, requiring that additional
parameter sets, if present, be filtered out of the
samples and placed in new, additional sample entries
if they override or otherwise conflict with the
parameter sets present in the first sample entry.
We do not have any way of doing this at present, so
the files we produce can only comply with the
restrictions set for the 'hev1' sample entry name in
ISO/IEC 14496-15.
movenc: write hvcC tag for HEVC.
movenc: enable Annex B to MP4 conversion for HEVC tracks.
movenc: allow muxing HEVC in MODE_MP4.
matroskaenc: write private data in hvcC format for HEVC.