[FFmpeg-cvslog] sws: print a warning on unaligned input on SSE2+
Michael Niedermayer
git at videolan.org
Mon Oct 31 01:57:12 CET 2011
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Oct 31 01:36:02 2011 +0100| [f44ad92c3fc87daa0e2e9f5499662050be8b2bf3] | committer: Michael Niedermayer
sws: print a warning on unaligned input on SSE2+
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f44ad92c3fc87daa0e2e9f5499662050be8b2bf3
---
libswscale/swscale.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index d5dfa07..bde7307 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -2539,6 +2539,18 @@ static int swScale(SwsContext *c, const uint8_t* src[],
}
}
+ if ((int)dst[0]%16 || (int)dst[1]%16 || (int)dst[2]%16 || (int)src[0]%16 || (int)src[1]%16 || (int)src[2]%16
+ || dstStride[0]%16 || dstStride[1]%16 || dstStride[2]%16 || dstStride[3]%16
+ || srcStride[0]%16 || srcStride[1]%16 || srcStride[2]%16 || srcStride[3]%16
+ ) {
+ static int warnedAlready=0;
+ int cpu_flags = av_get_cpu_flags();
+ if (HAVE_MMX2 && (cpu_flags & AV_CPU_FLAG_SSE2) && !warnedAlready){
+ av_log(c, AV_LOG_WARNING, "Warning: data is not aligned! This can lead to a speedloss\n");
+ warnedAlready=1;
+ }
+ }
+
/* Note the user might start scaling the picture in the middle so this
will not get executed. This is not really intended but works
currently, so people might do it. */
More information about the ffmpeg-cvslog
mailing list