From 737aa902f069ed218fd2d13c59015391facf73c8 Mon Sep 17 00:00:00 2001 From: Pedro Arthur Date: Mon, 17 Aug 2015 17:07:53 -0300 Subject: swscale: process horizontal lines in batches Process more lines in a single pass to improve performance Signed-off-by: Michael Niedermayer --- libswscale/slice.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libswscale/slice.c') diff --git a/libswscale/slice.c b/libswscale/slice.c index 3a8001f..242367d 100644 --- a/libswscale/slice.c +++ b/libswscale/slice.c @@ -224,12 +224,12 @@ int ff_init_filters(SwsContext * c) res = alloc_slice(&c->slice[0], c->srcFormat, c->srcH, c->chrSrcH, c->chrSrcHSubSample, c->chrSrcVSubSample, 0); if (res < 0) goto cleanup; for (i = 1; i < c->numSlice-1; ++i) { - res = alloc_slice(&c->slice[i], c->srcFormat, c->vLumFilterSize, c->vChrFilterSize, c->chrSrcHSubSample, c->chrSrcVSubSample, 0); + res = alloc_slice(&c->slice[i], c->srcFormat, c->vLumFilterSize + MAX_LINES_AHEAD, c->vChrFilterSize + MAX_LINES_AHEAD, c->chrSrcHSubSample, c->chrSrcVSubSample, 0); if (res < 0) goto cleanup; res = alloc_lines(&c->slice[i], FFALIGN(c->srcW*2+78, 16), c->srcW); if (res < 0) goto cleanup; } - res = alloc_slice(&c->slice[i], c->srcFormat, c->vLumFilterSize, c->vChrFilterSize, c->chrDstHSubSample, c->chrDstVSubSample, 1); + res = alloc_slice(&c->slice[i], c->srcFormat, c->vLumFilterSize + MAX_LINES_AHEAD, c->vChrFilterSize + MAX_LINES_AHEAD, c->chrDstHSubSample, c->chrDstVSubSample, 1); if (res < 0) goto cleanup; res = alloc_lines(&c->slice[i], dst_stride, c->dstW); if (res < 0) goto cleanup; -- cgit v1.1