dvbsubdec: move shared codepath
CC: libav-stable@libav.org Bug-Id: CID 1238839
This commit is contained in:
parent
2383323661
commit
443502aed8
@ -693,7 +693,12 @@ static int dvbsub_read_8bit_string(uint8_t *destbuf, int dbuf_len,
|
|||||||
if (run_length == 0) {
|
if (run_length == 0) {
|
||||||
return pixels_read;
|
return pixels_read;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
bits = *(*srcbuf)++;
|
||||||
|
|
||||||
|
if (non_mod == 1 && bits == 1)
|
||||||
|
pixels_read += run_length;
|
||||||
|
}
|
||||||
if (map_table)
|
if (map_table)
|
||||||
bits = map_table[0];
|
bits = map_table[0];
|
||||||
else
|
else
|
||||||
@ -702,18 +707,6 @@ static int dvbsub_read_8bit_string(uint8_t *destbuf, int dbuf_len,
|
|||||||
*destbuf++ = bits;
|
*destbuf++ = bits;
|
||||||
pixels_read++;
|
pixels_read++;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
bits = *(*srcbuf)++;
|
|
||||||
|
|
||||||
if (non_mod == 1 && bits == 1)
|
|
||||||
pixels_read += run_length;
|
|
||||||
if (map_table)
|
|
||||||
bits = map_table[bits];
|
|
||||||
else while (run_length-- > 0 && pixels_read < dbuf_len) {
|
|
||||||
*destbuf++ = bits;
|
|
||||||
pixels_read++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user