Successfully opening a device altered the ret variable, making the function
not cleanup properly and return an incorrect value for errors that happened
afterwards.
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The values compared here can be more than INT64_MAX apart. Since the
difference is always positive, converting to uint64_t before subtracting
gives the correct result without overflows.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Prevent an invalid write into coeffs[scantable[-1]] if zeros_left
itself was an invalid VLC code (and thus -1).
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* qatar/master:
golomb: use unsigned arithmetics in svq3_get_ue_golomb()
x86: float_dsp: fix loading of the len parameter on x86-32
takdec: fix initialisation of LOCAL_ALIGNED array
takdec: fix initialisation of LOCAL_ALIGNED array
Conflicts:
libavcodec/rv30.c
libavcodec/svq3.c
libavcodec/takdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '57231e4d5b467833fb289439cd35a92513bb55c1':
tak: demuxer, parser, and decoder
Not merged as requested by Author and Maintainer of tak in FFmpeg.
I just merged a few typo fixes and minor cosmetic improvments.
Conflicts:
Changelog
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/avcodec.h
libavcodec/tak.c
libavcodec/tak.h
libavcodec/tak_parser.c
libavcodec/takdec.c
libavcodec/version.h
libavformat/takdec.c
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '096abfa15052977eed93f0b5e01afd2d47c53c1f':
parser: fix large overreads
bitstream: add get_bits64() to support reading more than 32 bits at once
arm: detect cpu features at runtime on Linux
Conflicts:
libavcodec/parser.c
libavformat/mpegts.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7f2b3dcabd108926bde819ad574017f4161d1546':
configure: arm: check inline and external asm support for extensions
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c6ebc9faa2210d7f36a3036c357f6f199520f575':
configure: add check_insn function
configure: clean up check_inline_asm and check_as functions
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f0fe245bc31cf4fa3b3ed0240cd1ab6f0d5043ea':
configure: arm: set fast_clz and fast_unaligned in cpuflags section
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9ebd45c2d58ad9241ad09718679f0cf7fb57da52':
configure: do not bypass cpuflags section if --cpu not given
dct-test: arm: indicate required cpu features for optimised funcs
snow: fix build after 594d4d5df3
arm: fix use of uninitialised value in ff_fft_fixed_init_arm()
avpicture: Don't assume a valid pix fmt in avpicture_get_size
Conflicts:
libavcodec/avpicture.c
libavcodec/snow.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This prevents undefined behaviour of signed left shift if the coded
value is larger than 2^31. Large values are most likely invalid and
caused errors or by feeding random.
Validate every use of svq3_get_ue_golomb() and changed the place there
the return value was compared with negative numbers. dirac.c was clean,
fixed rv30 and svq3.