avcodec/vqavideo: check destination size on all exit pathes

Fixes part of msan_uninit-mem_7f841fe2ab3b_4608_cow2_1.vqa
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/vqavideo: clear uninitialized parts of the decode buffer

Fixes use of uninitialized memory
Fixes part of msan_uninit-mem_7f841fe2ab3b_4608_cow2_1.vqa
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/electronicarts: use 64bit variable for avio_tell() result

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/gxfenc: dont use a int intermediate to store in a unsigned int table

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/electronicarts: detect endianness by comparing sizes instead of using an arbitrary threshold

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
vcodec/rv34: use av_mallocz() to allocate tables

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f75e2a55b88_4146_brokenaudio.rmvb
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Add a libwebp encoder
avformat/rmdec: zero string destination before use

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f9677850d99_4635_crashed.rm
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/isom: check avio_read() result

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f7aa4151661_4885_dmbts3.ts
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/4xm: shrink packet if it was only partially initialized

Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f6c76ab7950_4920_dracula.4xm
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
hevc: move DSP declarations from hevc.h into hevcdsp.h

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Merge commit 'be7c323176e2e5fcf30e3d2ff20975b2f936811b'

* commit 'be7c323176e2e5fcf30e3d2ff20975b2f936811b':
  Add a libwebp encoder

Conflicts:
	Changelog
	doc/encoders.texi
	doc/general.texi
	libavcodec/version.h
	libavformat/img2enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  hevc: move DSP declarations from hevc.h into hevcdsp.h

Conflicts:
	libavcodec/hevc.h
	libavcodec/hevcdsp.c
	libavcodec/hevcdsp.h

See: c8dd048ab8cff815c9f4b16a62db0b74df011f0a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
VC1: Fix intensity compensation performance regression

Fix https://trac.ffmpeg.org/ticket/3204

The problem was that intensity compensation was always used once it was
encountered. This is because v->next_use_ic was never set back to zero.
To fix this, when resetting v->next_luty/uv, also reset v->next_use_ic.

This improved (restored) performance by 85% when decoding
http://bit.ly/bbbwmv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
vc1: simplify *_use_ic initialization

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
vc1: Fix intensity compensation performance regression

Introduced by 28243b0d35b47bbf9abbd454fc444a6e0a9e7b71

Intensity compensation is always used once it was encountered, because
v->next_use_ic is never set back to zero.

Reset v->next_use_ic, when resetting v->next_luty/uv.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
nutenc/write_index: warn if 2 consecutive keyframes have the same PTS and discard the 2nd

This fixes an assertion failure and regression and restores previous behaviour
Fixes Ticket3197

An alternative would be to fail hard in this case and refuse to mux such data.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg: use timestamp from before and after the decoder to detect backward moving dts for discontinuity detection

This should make discontinuity detection more robust and detect
more cases. Timestamps after the decoder can be delayed due to threads,
timestamps before can be missing

no testcase available/known

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
configure: support raising major version in soname

this allows seperate installation of shared libs that should not conflict with
whatever is already installed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  vc1: Fix intensity compensation performance regression

Conflicts:
	libavcodec/vc1.c

See: ed5bed4152203aed8cce01a679bed67bbda8903f
Merged-by: Michael Niedermayer <michaelni@gmx.at>