1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

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>
This commit is contained in:
Michael Niedermayer 2016-09-03 12:15:24 +02:00
parent 6744d3f6b9
commit cb8a29f872

View File

@ -558,6 +558,8 @@ static int Rgb16ToPlanarRgb16Wrapper(SwsContext *c, const uint8_t *src[],
int bpc = dst_format->comp[0].depth; int bpc = dst_format->comp[0].depth;
int alpha = src_format->flags & AV_PIX_FMT_FLAG_ALPHA; int alpha = src_format->flags & AV_PIX_FMT_FLAG_ALPHA;
int swap = 0; int swap = 0;
int i;
if ( HAVE_BIGENDIAN && !(src_format->flags & AV_PIX_FMT_FLAG_BE) || if ( HAVE_BIGENDIAN && !(src_format->flags & AV_PIX_FMT_FLAG_BE) ||
!HAVE_BIGENDIAN && src_format->flags & AV_PIX_FMT_FLAG_BE) !HAVE_BIGENDIAN && src_format->flags & AV_PIX_FMT_FLAG_BE)
swap++; swap++;
@ -571,6 +573,12 @@ static int Rgb16ToPlanarRgb16Wrapper(SwsContext *c, const uint8_t *src[],
src_format->name, dst_format->name); src_format->name, dst_format->name);
return srcSliceH; return srcSliceH;
} }
for(i=0; i<4; i++) {
dst2013[i] += stride2013[i] * srcSliceY / 2;
dst1023[i] += stride1023[i] * srcSliceY / 2;
}
switch (c->srcFormat) { switch (c->srcFormat) {
case AV_PIX_FMT_RGB48LE: case AV_PIX_FMT_RGB48LE:
case AV_PIX_FMT_RGB48BE: case AV_PIX_FMT_RGB48BE: