[FFmpeg-cvslog] adler32: add comment for the SIMD code

Michael Niedermayer git at videolan.org
Sat Feb 4 20:30:03 CET 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Feb  4 20:27:02 2012 +0100| [d3f912c1f06b90960659d59bb75d2eb98932fde6] | committer: Michael Niedermayer

adler32: add comment for the SIMD code

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d3f912c1f06b90960659d59bb75d2eb98932fde6
---

 libavutil/adler32.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/libavutil/adler32.c b/libavutil/adler32.c
index c5f96db..bc9b9a7 100644
--- a/libavutil/adler32.c
+++ b/libavutil/adler32.c
@@ -57,6 +57,11 @@ unsigned long av_adler32_update(unsigned long adler, const uint8_t * buf,
                 len2 -= 8;
                 buf+=8;
             }
+
+            //We combine the 8 interleaved adler32 checksums without overflows
+            //Decreasing the number of iterations would allow below code to be
+            //simplified but would likely be slower due to the fewer iterations
+            //of the inner loop
             s1 += ((a1+b1)*0x1000100010001)>>48;
             s2 += ((((a2&0xFFFF0000FFFF)+(b2&0xFFFF0000FFFF)+((a2>>16)&0xFFFF0000FFFF)+((b2>>16)&0xFFFF0000FFFF))*0x800000008)>>32)
 #if HAVE_BIGENDIAN



More information about the ffmpeg-cvslog mailing list