[FFmpeg-cvslog] swscale: fix ticket #4877
Pedro Arthur
git at videolan.org
Fri Sep 25 17:20:11 CEST 2015
ffmpeg | branch: master | Pedro Arthur <bygrandao at gmail.com> | Fri Sep 25 12:17:43 2015 -0300| [a8602dde5e0a9858b9cee7e3788bef8efc43d950] | committer: Pedro Arthur
swscale: fix ticket #4877
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a8602dde5e0a9858b9cee7e3788bef8efc43d950
---
libswscale/swscale.c | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index 346728d..2ccf38f 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -480,17 +480,18 @@ static int swscale(SwsContext *c, const uint8_t *src[],
ff_init_slice_from_src(vout_slice, (uint8_t**)dst, dstStride, c->dstW,
dstY, dstH, dstY >> c->chrDstVSubSample,
FF_CEIL_RSHIFT(dstH, c->chrDstVSubSample));
-
- hout_slice->plane[0].sliceY = lastInLumBuf + 1;
- hout_slice->plane[1].sliceY = lastInChrBuf + 1;
- hout_slice->plane[2].sliceY = lastInChrBuf + 1;
- hout_slice->plane[3].sliceY = lastInLumBuf + 1;
-
- hout_slice->plane[0].sliceH =
- hout_slice->plane[1].sliceH =
- hout_slice->plane[2].sliceH =
- hout_slice->plane[3].sliceH = 0;
- hout_slice->width = dstW;
+ if (srcSliceY == 0) {
+ hout_slice->plane[0].sliceY = lastInLumBuf + 1;
+ hout_slice->plane[1].sliceY = lastInChrBuf + 1;
+ hout_slice->plane[2].sliceY = lastInChrBuf + 1;
+ hout_slice->plane[3].sliceY = lastInLumBuf + 1;
+
+ hout_slice->plane[0].sliceH =
+ hout_slice->plane[1].sliceH =
+ hout_slice->plane[2].sliceH =
+ hout_slice->plane[3].sliceH = 0;
+ hout_slice->width = dstW;
+ }
#endif
for (; dstY < dstH; dstY++) {
More information about the ffmpeg-cvslog
mailing list