Commit eea064ae authored by JULIAN GARDNER's avatar JULIAN GARDNER Committed by Michael Niedermayer

dvbsubdec: Fix variable increments & checking in dvbsub_read_*bit_string()

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 33749698
...@@ -532,14 +532,14 @@ static int dvbsub_read_2bit_string(uint8_t *destbuf, int dbuf_len, ...@@ -532,14 +532,14 @@ static int dvbsub_read_2bit_string(uint8_t *destbuf, int dbuf_len,
} }
} }
} else if (bits == 1) { } else if (bits == 1) {
pixels_read += 2;
if (map_table) if (map_table)
bits = map_table[0]; bits = map_table[0];
else else
bits = 0; bits = 0;
if (pixels_read <= dbuf_len) { run_length = 2;
*destbuf++ = bits; while (run_length-- > 0 && pixels_read < dbuf_len) {
*destbuf++ = bits; *destbuf++ = bits;
pixels_read++;
} }
} else { } else {
(*srcbuf) += (get_bits_count(&gb) + 7) >> 3; (*srcbuf) += (get_bits_count(&gb) + 7) >> 3;
...@@ -656,14 +656,14 @@ static int dvbsub_read_4bit_string(uint8_t *destbuf, int dbuf_len, ...@@ -656,14 +656,14 @@ static int dvbsub_read_4bit_string(uint8_t *destbuf, int dbuf_len,
} }
} }
} else if (bits == 1) { } else if (bits == 1) {
pixels_read += 2;
if (map_table) if (map_table)
bits = map_table[0]; bits = map_table[0];
else else
bits = 0; bits = 0;
if (pixels_read <= dbuf_len) { run_length = 2;
*destbuf++ = bits; while (run_length-- > 0 && pixels_read < dbuf_len) {
*destbuf++ = bits; *destbuf++ = bits;
pixels_read++;
} }
} else { } else {
if (map_table) if (map_table)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment