Andreas Rheinhardt 2ff687c17f avformat/matroskadec: Fix lzo decompression
When a Matroska Block is only stored in compressed form, the size of
the uncompressed block is not explicitly coded and therefore not known
before decompressing it. Therefore the demuxer uses a guess for the
uncompressed size: The first guess is three times the compressed size
and if this is not enough, it is repeatedly incremented by a factor of
three. But when this happens with lzo, the decompression is neither
resumed nor started again. Instead when av_lzo1x_decode indicates that x
bytes of input data could not be decoded, because the output buffer is
already full, the first (not the last) x bytes of the input buffer are
resent for decoding in the next try; they overwrite already decoded
data.

This commit fixes this by instead restarting the decompression anew,
just with a bigger buffer.

This seems to be a regression since 935ec5a1.

A FATE-test for this has been added.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-12-28 22:40:13 -03:00
..
amv
2018-10-26 11:51:04 +01:00
2019-09-25 17:18:37 +02:00
2019-09-25 17:18:37 +02:00
ast
bfi
caf
2018-05-10 23:54:02 +01:00
dpx
2018-03-18 12:36:24 +01:00
2018-11-06 12:39:15 -03:00
2018-11-06 12:39:15 -03:00
2017-08-30 12:13:02 +02:00
2019-12-05 20:20:05 +01:00
2019-12-05 20:20:05 +01:00
2017-08-30 12:13:02 +02:00
2017-08-30 12:13:02 +02:00
2019-12-05 20:20:05 +01:00
2017-08-30 12:13:02 +02:00
2017-08-30 12:13:02 +02:00
2017-08-30 12:13:02 +02:00
2017-08-30 12:13:02 +02:00
2017-08-30 12:13:02 +02:00
2017-08-30 12:13:02 +02:00
2017-08-30 12:13:02 +02:00
2018-10-23 15:46:30 +01:00
2018-02-02 12:16:56 -03:00
jv
m4v
md5
mkv
mtv
2017-08-31 02:53:11 +02:00
ptx
rl2
sha
smc
2017-08-03 16:36:02 -03:00
tea
thp
tmv
2017-05-25 14:30:04 +02:00
url
vb
vp4
2019-06-12 20:06:20 +10:00
vp7
w64
yop