diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-01-28 16:26:00 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-01-28 17:23:27 +0100 |
commit | 375a0273cec41a329c9cca01fb8805e9a0dc3d72 (patch) | |
tree | 800f6d0a00246920b60a15d3b02b94a70695695e | |
parent | 622936424c69698159582902534591722ccd58fb (diff) | |
download | ffmpeg-375a0273cec41a329c9cca01fb8805e9a0dc3d72.tar.gz |
avfilter/vf_fspp: check count before calling row_idct()
Fixes crash with odd widths
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavfilter/vf_fspp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavfilter/vf_fspp.c b/libavfilter/vf_fspp.c index a4c8a9524e..e4de0f5713 100644 --- a/libavfilter/vf_fspp.c +++ b/libavfilter/vf_fspp.c @@ -221,7 +221,8 @@ static void filter(FSPPContext *p, uint8_t *dst, uint8_t *src, p->row_fdct(block + 8 * 8, p->src + y * stride + 8 + x0 + 2 - (y & 1), stride, (es - 4) >> 2); p->column_fidct((int16_t *)(&p->threshold_mtx[0]), block, block3, es&(~1)); - p->row_idct(block3 + 0 * 8, p->temp + (y & 15) * stride + x0 + 2 - (y & 1), stride, es >> 2); + if (es > 3) + p->row_idct(block3 + 0 * 8, p->temp + (y & 15) * stride + x0 + 2 - (y & 1), stride, es >> 2); if (!(y1 & 7) && y1) { if (y1 & 8) |