ffmpeg | branch: master | Paul B Mahol <one...@gmail.com> | Fri Feb 24 12:01:30 2017 +0100| [178cd50c47aa5b7db03f7ce7a3f2934857dbd35b] | committer: Paul B Mahol
avcodec/scpr: make sure that component value is <= 0x1F for 16 bpc Signed-off-by: Paul B Mahol <one...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=178cd50c47aa5b7db03f7ce7a3f2934857dbd35b --- libavcodec/scpr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/scpr.c b/libavcodec/scpr.c index 5555d81..0802dd4 100644 --- a/libavcodec/scpr.c +++ b/libavcodec/scpr.c @@ -58,6 +58,7 @@ typedef struct SCPRContext { unsigned nbx, nby; unsigned nbcount; unsigned *blocks; + unsigned cbits; int cxshift; } SCPRContext; @@ -241,7 +242,7 @@ static int decode_unit(SCPRContext *s, PixelModel *pixel, unsigned step, unsigne } pixel->total_freq = totfr; - *rval = c; + *rval = c & s->cbits; return 0; } @@ -789,6 +790,7 @@ static av_cold int decode_init(AVCodecContext *avctx) } s->cxshift = avctx->bits_per_coded_sample == 16 ? 0 : 2; + s->cbits = avctx->bits_per_coded_sample == 16 ? 0x1F : 0xFF; s->nbx = (avctx->width + 15) / 16; s->nby = (avctx->height + 15) / 16; s->nbcount = s->nbx * s->nby; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog