diff options
author | Clément Bœsch <ubitux@gmail.com> | 2013-05-11 00:56:04 +0200 |
---|---|---|
committer | Clément Bœsch <ubitux@gmail.com> | 2013-05-12 12:59:00 +0200 |
commit | 59d33eafd19ab9dc0ba2c1ba83738d55047fba48 (patch) | |
tree | 5f46937fbf68899289d6596821ffa9d15946d49d | |
parent | 91cae60ecbf367229013f7d4cc48075634ac8832 (diff) | |
download | ffmpeg-59d33eafd19ab9dc0ba2c1ba83738d55047fba48.tar.gz |
lavfi/lut: use FF_CEIL_RSHIFT for chroma w/h rounding.
-rw-r--r-- | libavfilter/vf_lut.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libavfilter/vf_lut.c b/libavfilter/vf_lut.c index d544419c23..070cf55244 100644 --- a/libavfilter/vf_lut.c +++ b/libavfilter/vf_lut.c @@ -305,13 +305,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) for (plane = 0; plane < 4 && in->data[plane]; plane++) { int vsub = plane == 1 || plane == 2 ? lut->vsub : 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]; 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]; - int w = (inlink->w + (1<<hsub) - 1)>>hsub; for (j = 0; j < w; j++) outrow[j] = tab[inrow[j]]; inrow += in ->linesize[plane]; |