diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-04-19 01:12:54 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-04-19 01:23:14 +0200 |
commit | c9aab1ee7f3314ad9d79bc5f6f7a00ebe3f4e97f (patch) | |
tree | ba71ebe1411b3fc60d1060840d7ca9063f6d6aed /libavfilter/vf_rotate.c | |
parent | 4ebfb2c5ec7dc52cb0f46862a8d37417b8e7551d (diff) | |
download | ffmpeg-c9aab1ee7f3314ad9d79bc5f6f7a00ebe3f4e97f.tar.gz |
avfilter/vf_rotate: fix several of by 1 errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/vf_rotate.c')
-rw-r--r-- | libavfilter/vf_rotate.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libavfilter/vf_rotate.c b/libavfilter/vf_rotate.c index 94aa7c6a42..16c4a11873 100644 --- a/libavfilter/vf_rotate.c +++ b/libavfilter/vf_rotate.c @@ -328,8 +328,8 @@ static int filter_slice(AVFilterContext *ctx, void *arg, int job, int nb_jobs) int i, j, x, y; for (j = start; j < end; j++) { - x = xprime + xi + FIXP*inw/2; - y = yprime + yi + FIXP*inh/2; + x = xprime + xi + FIXP*(inw-1)/2; + y = yprime + yi + FIXP*(inh-1)/2; for (i = 0; i < outw; i++) { int32_t v; @@ -421,9 +421,9 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) .inw = FF_CEIL_RSHIFT(inlink->w, hsub), .inh = FF_CEIL_RSHIFT(inlink->h, vsub), .outh = outh, .outw = outw, - .xi = -outw/2 * c, .yi = outw/2 * s, - .xprime = -outh/2 * s, - .yprime = -outh/2 * c, + .xi = -(outw-1) * c / 2, .yi = (outw-1) * s / 2, + .xprime = -(outh-1) * s / 2, + .yprime = -(outh-1) * c / 2, .plane = plane, .c = c, .s = s }; |