Commit 59d33eaf authored by Clément Bœsch's avatar Clément Bœsch

lavfi/lut: use FF_CEIL_RSHIFT for chroma w/h rounding.

parent 91cae60e
...@@ -305,13 +305,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) ...@@ -305,13 +305,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
for (plane = 0; plane < 4 && in->data[plane]; plane++) { for (plane = 0; plane < 4 && in->data[plane]; plane++) {
int vsub = plane == 1 || plane == 2 ? lut->vsub : 0; int vsub = plane == 1 || plane == 2 ? lut->vsub : 0;
int hsub = plane == 1 || plane == 2 ? lut->hsub : 0; int hsub = plane == 1 || plane == 2 ? lut->hsub : 0;
int h = FF_CEIL_RSHIFT(inlink->h, vsub);
int w = FF_CEIL_RSHIFT(inlink->w, hsub);
inrow = in ->data[plane]; inrow = in ->data[plane];
outrow = out->data[plane]; outrow = out->data[plane];
for (i = 0; i < (in->height + (1<<vsub) - 1)>>vsub; i ++) { for (i = 0; i < h; i++) {
const uint8_t *tab = lut->lut[plane]; const uint8_t *tab = lut->lut[plane];
int w = (inlink->w + (1<<hsub) - 1)>>hsub;
for (j = 0; j < w; j++) for (j = 0; j < w; j++)
outrow[j] = tab[inrow[j]]; outrow[j] = tab[inrow[j]];
inrow += in ->linesize[plane]; inrow += in ->linesize[plane];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment