///|
pub fn brotli_literal_context_id(
mode : Int,
previous_byte_1 : Int,
previous_byte_2 : Int,
) -> Int raise FbrError {
let p1 = previous_byte_1 & 0xff
let p2 = previous_byte_2 & 0xff
match mode & 3 {
0 => p1 & 0x3f
1 => p1 >> 2
2 => brotli_utf8_lut1[p1] | brotli_utf8_lut2[p2]
3 => brotli_signed_lut1[p1] | brotli_signed_lut2[p2]
_ =>
raise fbr_err(BrotliInvalidContextMap, msg="invalid Brotli context mode")
}
}