diff options
author | Mathieu Duponchelle <mathieu@centricular.com> | 2020-11-20 23:33:45 +0300 |
---|---|---|
committer | Mathieu Duponchelle <mathieu@centricular.com> | 2021-01-19 18:40:00 +0300 |
commit | a7180e3995295a7083d16f79b0f0bd45d4fa1cdc (patch) | |
tree | b4c534780d11cf38a151016fdaecb074c96d2868 /ci | |
parent | a3dafea688201cc03efad5a5f5cef0915d9c011a (diff) |
libcaption: fix bit set on indent preambles
style preambles look like:
|P|0|0|1|C|0|ROW| |P|1|N|0|STYLE|U|
and column preambles look like:
|P|0|0|1|C|0|ROW| |P|1|N|1|CURSR|U|
Both preambles go through eia608_row_pramble(), the value they
pass as the x parameter is supposed to hold 4 bits, either
0|STYLE
or 1|CURSR
This value then gets bit-shifted by 1 and or'd in the second byte.
The value is also and' with 0x1E to ensure it can't leak into
the upper bits.
The previous code resulted in x being a 5-bit value, 0x10 (0b10000).
This resulted in outputting a style preamble, as 0x10 << 1 & 0x1E
is 0b00000. When the indent was 0 (the usual case), this went
undetected, but with any other value it resulted in no indent being
applied, but the text getting colored or italicized.
This patch fixes x to have the correct value of 0x8 | indent.
Diffstat (limited to 'ci')
0 files changed, 0 insertions, 0 deletions