fixing some 64bit bugs

Originally committed as revision 867 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer
2002-08-26 16:10:41 +00:00
parent 405469cefd
commit 4dd0e44f14
2 changed files with 4 additions and 4 deletions

View File

@@ -1049,7 +1049,7 @@ static int mpeg1_decode_block(MpegEncContext *s,
/* escape */
run = get_bits(&s->gb, 6);
level = get_bits(&s->gb, 8);
level = (level << 24) >> 24;
level= (level + ((-1)<<7)) ^ ((-1)<<7); //sign extension
if (level == -128) {
level = get_bits(&s->gb, 8) - 256;
} else if (level == 0) {
@@ -1128,7 +1128,7 @@ static int mpeg2_decode_block_non_intra(MpegEncContext *s,
/* escape */
run = get_bits(&s->gb, 6);
level = get_bits(&s->gb, 12);
level = (level << 20) >> 20;
level= (level + ((-1)<<11)) ^ ((-1)<<11); //sign extension
} else {
run = rl->table_run[code];
level = rl->table_level[code];
@@ -1211,7 +1211,7 @@ static int mpeg2_decode_block_intra(MpegEncContext *s,
/* escape */
run = get_bits(&s->gb, 6);
level = get_bits(&s->gb, 12);
level = (level << 20) >> 20;
level= (level + ((-1)<<11)) ^ ((-1)<<11); //sign extension
} else {
run = rl->table_run[code];
level = rl->table_level[code];