• Andreas Cadhalpun's avatar
    vp8: change mv_{min,max}.{x,y} type to int · 6fdbaa2b
    Andreas Cadhalpun authored
    If one of the dimensions is larger than 8176, s->mb_width or
    s->mb_height is larger than 511, leading to an int16_t overflow of
    s->mv_max.{x,y}. This then causes av_clip to be called with amin > amax.
    
    Changing the type to int avoids the overflow and has no negative
    effect, because s->mv_max is only used in clamp_mv for clipping.
    Since mv_max.{x,y} is positive and mv_min.{x,y} negative, av_clip can't
    increase the absolute value. The input to av_clip is an int16_t, and
    thus the output fits into int16_t as well.
    
    For additional safety, s->mv_{min,max}.{x,y} are clipped to int16_t range
    before use.
    Reviewed-by: 's avatarRonald S. Bultje <rsbultje@gmail.com>
    Signed-off-by: 's avatarAndreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
    6fdbaa2b
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
cmdutils_opencl.c Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_dxva2.c Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffmpeg_vda.c Loading commit data...
ffmpeg_vdpau.c Loading commit data...
ffplay.c Loading commit data...
ffprobe.c Loading commit data...
ffserver.c Loading commit data...
ffserver_config.c Loading commit data...
ffserver_config.h Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...