Browse Source

swscale/swscale_unscaled: Try to fix Rgb16ToPlanarRgb16Wrapper() with slices

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit e57d99dd4e)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n3.1.4
Michael Niedermayer 9 years ago
parent
commit
e91b7852df
1 changed files with 8 additions and 0 deletions
  1. +8
    -0
      libswscale/swscale_unscaled.c

+ 8
- 0
libswscale/swscale_unscaled.c View File

@@ -558,6 +558,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++;
@@ -571,6 +573,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:


Loading…
Cancel
Save