summaryrefslogtreecommitdiff
path: root/libavfilter/vf_lut.c
diff options
context:
space:
mode:
authorClément Bœsch <ubitux@gmail.com>2013-05-11 00:56:04 +0200
committerClément Bœsch <ubitux@gmail.com>2013-05-12 12:59:00 +0200
commit59d33eafd19ab9dc0ba2c1ba83738d55047fba48 (patch)
tree5f46937fbf68899289d6596821ffa9d15946d49d /libavfilter/vf_lut.c
parent91cae60ecbf367229013f7d4cc48075634ac8832 (diff)
downloadffmpeg-59d33eafd19ab9dc0ba2c1ba83738d55047fba48.tar.gz
lavfi/lut: use FF_CEIL_RSHIFT for chroma w/h rounding.
Diffstat (limited to 'libavfilter/vf_lut.c')
-rw-r--r--libavfilter/vf_lut.c5
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];