summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2009-12-06 17:40:41 +0000
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2009-12-06 17:40:41 +0000
commitbf972d5e1c6ba7d501e8a60994c2e4e47b41426d (patch)
treecf9af1e310977de5a9436010035487c059f422c4
parent35c504b6fed9043f100bd2480adef7dd5f370971 (diff)
Fix slicify when the slice_direction is negative, make it send slices
from the bottom to the top one. Originally committed as revision 20754 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavfilter/vf_slicify.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavfilter/vf_slicify.c b/libavfilter/vf_slicify.c
index 3aae1c334e..336f223a7c 100644
--- a/libavfilter/vf_slicify.c
+++ b/libavfilter/vf_slicify.c
@@ -78,11 +78,19 @@ static void draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
SliceContext *slice = link->dst->priv;
int y2;
+ if (slice_dir == 1) {
for (y2 = y; y2 + slice->h <= y + h; y2 += slice->h)
avfilter_draw_slice(link->dst->outputs[0], y2, slice->h, slice_dir);
if (y2 < y + h)
avfilter_draw_slice(link->dst->outputs[0], y2, y + h - y2, slice_dir);
+ } else if (slice_dir == -1) {
+ for (y2 = y + h; y2 - slice->h >= y; y2 -= slice->h)
+ avfilter_draw_slice(link->dst->outputs[0], y2 - slice->h, slice->h, slice_dir);
+
+ if (y2 > y)
+ avfilter_draw_slice(link->dst->outputs[0], y, y2 - y, slice_dir);
+ }
}
AVFilter avfilter_vf_slicify = {