Avoid a null pointer dereference on oom in the aac encoder.

Fixes ticket #2732.
Avoid a null pointer dereference after oom on frame size change in mpegvideo.c.

Fixes ticket #2735.
x86: lpc: fix a segfault in av_evaluate_lls_sse2()
vorbisdec: propagate errors from setup_classifs()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
vorbisdec: Check VLC tables during use instead of setup

Fixes regression and Ticket2720

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

* qatar/master:
  x86: lpc: fix a segfault in av_evaluate_lls_sse2()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Revert "avutil/x86: disable ff_evaluate_lls_sse2() for 32bit"

This reverts commit 247425241cb3b2b76df1c2aced5ce0d56126b82d.
Merge remote-tracking branch 'cus/stable'

* cus/stable:
  ffplay: always send zero packets to flush audio decoders
  ffplay: use frame->pkt_pts instead of pkt->pts in audio pts calculation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Avoid a null pointer dereference in avcodec_decode_audio4().

This could happen if oom occured while probing a file.
Fixes ticket #2722.
indeo: Properly forward the error codes

If the tile data size does not match the buffer size it did not
return an AVERROR_INVALIDDATA causing futher corruption later.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
indeo: use proper error code
indeo5: reject negative motion vectors

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
indeo: check for reference when inheriting mvs

The same is done already for qdelta.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Revert "indeo5: reject negative motion vectors"

Negative motion vectors are possible.

This reverts commit 1194a410807bac3eafbeb632578b937656d273e7.
lavfi/delogo: use weighted interpolation

The original delogo algorithm interpolates both horizontally and
vertically and uses the average to compute the resulting sample. This
works reasonably well when the logo area is almost square. However
when the logo area is significantly larger than high or higher than
large, the result is largely suboptimal.

The issue can be clearly seen by testing the delogo filter with a fake
logo area that is 200 pixels large and 2 pixels high. Vertical
interpolation gives a very good result in that case, horizontal
interpolation gives a very bad result, and the overall result is poor,
because both are given the same weight.

Even when the logo is roughly square, the current algorithm gives poor
results on the borders of the logo area, because it always gives
horizontal and vertical interpolations an equal weight, and this is
suboptimal on borders. For example, in the middle of the left hand
side border of the logo, you want to trust the left known point much
more than the right known point (which the current algorithm already
does) but also much more than the top and bottom known points (which
the current algorithm doesn't do.)

By properly weighting each known point when computing the value of
each interpolated pixel, the visual result is much better, especially
on borders and/or for high or large logo areas.

The algorithm I implemented guarantees that the weight of each of the
4 known points directly depends on its distance to the interpolated
point. It is largely inspired from the original algorithm, the key
difference being that it computes the relative weights globally
instead of separating the vertical and horizontal interpolations and
combining them afterward.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Merge commit '7388c0c58601477db076e2e74e8b11f8a644384a'

* commit '7388c0c58601477db076e2e74e8b11f8a644384a':
  indeo: Properly forward the error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'dd3754a48854cd570d38db72394491aab0f36570'

* commit 'dd3754a48854cd570d38db72394491aab0f36570':
  indeo: use proper error code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '1194a410807bac3eafbeb632578b937656d273e7'

* commit '1194a410807bac3eafbeb632578b937656d273e7':
  indeo5: reject negative motion vectors

The added check is wrong and thus not merged.
A correct check already exists in avcodec.

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

* qatar/master:
  indeo: check for reference when inheriting mvs

See: 4b35ee0b7c0c4cbac3541a25a5e8c00b657c8f95
Merged-by: Michael Niedermayer <michaelni@gmx.at>
doc/encoders: apply various fixes to libmp3lame documentation