vf_lut: fix handling of odd dimensions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-06-20 20:13:43 +02:00
parent 827667eca7
commit a46f8915be

View File

@ -327,9 +327,9 @@ static void draw_slice(AVFilterLink *inlink, int y, int h, int slice_dir)
inrow = inpic ->data[plane] + (y>>vsub) * inpic ->linesize[plane];
outrow = outpic->data[plane] + (y>>vsub) * outpic->linesize[plane];
for (i = 0; i < h>>vsub; i ++) {
for (i = 0; i < (h + (1<<vsub) - 1)>>vsub; i ++) {
const uint8_t *tab = lut->lut[plane];
int w = inlink->w>>hsub;
int w = (inlink->w + (1<<hsub) - 1)>>hsub;
for (j = 0; j < w; j++)
outrow[j] = tab[inrow[j]];
inrow += inpic ->linesize[plane];