aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-09-03 12:15:24 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2016-09-03 14:14:06 +0200
commite57d99dd4e0d8fe2992da0d65b563580e35ce728 (patch)
treed6e611aa419dd3eb8f40ffc4c5fef14d103e4954
parent8f0bd1d9bad5b8aa42b5b4cec103cc4afed5eab6 (diff)
downloadffmpeg-e57d99dd4e0d8fe2992da0d65b563580e35ce728.tar.gz
swscale/swscale_unscaled: Try to fix Rgb16ToPlanarRgb16Wrapper() with slices
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libswscale/swscale_unscaled.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
index ca7374a370..b5f8a39922 100644
--- a/libswscale/swscale_unscaled.c
+++ b/libswscale/swscale_unscaled.c
@@ -597,6 +597,8 @@ static int Rgb16ToPlanarRgb16Wrapper(SwsContext *c, const uint8_t *src[],
int bpc = dst_format->comp[0].depth;
int alpha = src_format->flags & AV_PIX_FMT_FLAG_ALPHA;
int swap = 0;
+ int i;
+
if ( HAVE_BIGENDIAN && !(src_format->flags & AV_PIX_FMT_FLAG_BE) ||
!HAVE_BIGENDIAN && src_format->flags & AV_PIX_FMT_FLAG_BE)
swap++;
@@ -610,6 +612,12 @@ static int Rgb16ToPlanarRgb16Wrapper(SwsContext *c, const uint8_t *src[],
src_format->name, dst_format->name);
return srcSliceH;
}
+
+ for(i=0; i<4; i++) {
+ dst2013[i] += stride2013[i] * srcSliceY / 2;
+ dst1023[i] += stride1023[i] * srcSliceY / 2;
+ }
+
switch (c->srcFormat) {
case AV_PIX_FMT_RGB48LE:
case AV_PIX_FMT_RGB48BE: