[FFmpeg-cvslog] r24902 - trunk/libavcodec/msmpeg4.c
mru
subversion
Tue Aug 24 17:40:57 CEST 2010
Author: mru
Date: Tue Aug 24 17:40:57 2010
New Revision: 24902
Log:
msmpeg4v1: fix undefined behaviour in msmpeg4_decode_picture_header()
Because the order of evaluation of subexpressions is undefined, two
get_bits() calls may not be part of the same expression. In this
specific case, using get_bits_long() is simpler.
This fixes msmpeg4v1 decoding with armcc.
Modified:
trunk/libavcodec/msmpeg4.c
Modified: trunk/libavcodec/msmpeg4.c
==============================================================================
--- trunk/libavcodec/msmpeg4.c Tue Aug 24 17:21:27 2010 (r24901)
+++ trunk/libavcodec/msmpeg4.c Tue Aug 24 17:40:57 2010 (r24902)
@@ -1395,8 +1395,7 @@ return -1;
#endif
if(s->msmpeg4_version==1){
- int start_code;
- start_code = (get_bits(&s->gb, 16)<<16) | get_bits(&s->gb, 16);
+ int start_code = get_bits_long(&s->gb, 32);
if(start_code!=0x00000100){
av_log(s->avctx, AV_LOG_ERROR, "invalid startcode\n");
return -1;
More information about the ffmpeg-cvslog
mailing list