[FFmpeg-cvslog] swscale/swscale_unscaled: Try to fix Rgb16ToPlanarRgb16Wrapper() with slices
Michael Niedermayer
git at videolan.org
Sun Sep 18 01:53:41 EEST 2016
ffmpeg | branch: release/2.8 | Michael Niedermayer <michael at niedermayer.cc> | Sat Sep 3 12:15:24 2016 +0200| [48c51b796a4c067a13141193cee008e8618ada56] | committer: Michael Niedermayer
swscale/swscale_unscaled: Try to fix Rgb16ToPlanarRgb16Wrapper() with slices
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
(cherry picked from commit e57d99dd4e0d8fe2992da0d65b563580e35ce728)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=48c51b796a4c067a13141193cee008e8618ada56
---
libswscale/swscale_unscaled.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/libswscale/swscale_unscaled.c b/libswscale/swscale_unscaled.c
index 3deb72f..0605704 100644
--- a/libswscale/swscale_unscaled.c
+++ b/libswscale/swscale_unscaled.c
@@ -558,6 +558,8 @@ static int Rgb16ToPlanarRgb16Wrapper(SwsContext *c, const uint8_t *src[],
int bpc = dst_format->comp[0].depth_minus1 + 1;
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:
More information about the ffmpeg-cvslog
mailing list