[FFmpeg-cvslog] indeo3: Avoid undefined behaviour

Luca Barbato git at videolan.org
Thu May 12 15:21:21 CEST 2016


ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Tue Apr 12 22:14:26 2016 +0200| [6b2ad3ca48a6638cb0226ed5aab41d435d8c83a5] | committer: Luca Barbato

indeo3: Avoid undefined behaviour

Avoid the clang warning

"warning: shifting a negative signed value is undefined"

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

 libavcodec/indeo3data.h |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/indeo3data.h b/libavcodec/indeo3data.h
index 28c9bb6..1ca1c47 100644
--- a/libavcodec/indeo3data.h
+++ b/libavcodec/indeo3data.h
@@ -238,9 +238,9 @@
  * according with endianness of the host machine.
  */
 #if HAVE_BIGENDIAN
-#define PD(a,b) (((a) << 8) + (b))
+#define PD(a,b) (((a) * (1 << 8)) + (b))
 #else
-#define PD(a,b) (((b) << 8) + (a))
+#define PD(a,b) (((b) * (1 << 8)) + (a))
 #endif
 
 /**
@@ -285,9 +285,9 @@ static const int16_t delta_tab_3_5[79]  = { TAB_3_5 };
  * according with endianness of the host machine.
  */
 #if HAVE_BIGENDIAN
-#define PD(a,b) (((a) << 24) + ((a) << 16) + ((b) << 8) + (b))
+#define PD(a,b) (((a) * (1 << 24)) + ((a) * (1 << 16)) + ((b) * (1 << 8)) + (b))
 #else
-#define PD(a,b) (((b) << 24) + ((b) << 16) + ((a) << 8) + (a))
+#define PD(a,b) (((b) * (1 << 24)) + ((b) * (1 << 16)) + ((a) * (1 << 8)) + (a))
 #endif
 
 /*



More information about the ffmpeg-cvslog mailing list