#![allow(clippy::all)]
pub(crate) static PARA_LUMA8_BASE_TOK_HF: [[(u8, u8, u8); 20]; 4] = [
[
(4, 5, 6),
(4, 4, 5),
(4, 5, 5),
(4, 5, 6),
(4, 4, 6),
(4, 4, 6),
(4, 5, 5),
(4, 4, 5),
(4, 5, 6),
(4, 5, 6),
(4, 4, 5),
(4, 4, 5),
(4, 5, 5),
(4, 5, 5),
(4, 5, 5),
(3, 3, 5),
(4, 5, 6),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
],
[
(4, 5, 5),
(4, 5, 5),
(4, 4, 5),
(4, 4, 6),
(3, 4, 6),
(4, 4, 5),
(4, 4, 5),
(3, 4, 5),
(3, 4, 6),
(3, 4, 6),
(3, 3, 5),
(4, 4, 5),
(3, 4, 5),
(3, 4, 6),
(4, 4, 6),
(3, 4, 5),
(4, 4, 5),
(3, 4, 5),
(3, 3, 5),
(4, 5, 5),
],
[
(4, 5, 5),
(4, 5, 5),
(4, 4, 6),
(4, 4, 6),
(4, 4, 6),
(4, 5, 5),
(4, 5, 6),
(3, 4, 6),
(4, 5, 6),
(4, 4, 6),
(3, 4, 5),
(4, 4, 6),
(4, 5, 6),
(4, 5, 6),
(4, 5, 6),
(3, 4, 5),
(4, 5, 5),
(3, 4, 5),
(3, 4, 5),
(3, 5, 5),
],
[
(4, 5, 6),
(4, 5, 6),
(4, 5, 6),
(4, 5, 6),
(2, 2, 5),
(3, 5, 5),
(4, 5, 6),
(4, 4, 6),
(3, 5, 6),
(1, 5, 5),
(4, 4, 6),
(3, 5, 5),
(4, 5, 5),
(4, 5, 5),
(3, 4, 5),
(4, 4, 5),
(4, 4, 6),
(3, 5, 6),
(4, 4, 5),
(3, 4, 5),
],
];
pub(crate) static PARA_LUMA8_BASE_TOK_LF: [[(u8, u8, u8); 33]; 4] = [
[
(1, 2, 5),
(3, 4, 5),
(3, 4, 4),
(4, 4, 4),
(3, 4, 4),
(4, 4, 5),
(4, 5, 4),
(4, 4, 5),
(4, 5, 6),
(4, 4, 6),
(3, 5, 6),
(4, 4, 5),
(4, 5, 6),
(4, 5, 6),
(4, 4, 5),
(4, 4, 6),
(4, 5, 6),
(4, 5, 6),
(4, 5, 5),
(4, 5, 6),
(4, 5, 6),
(4, 4, 5),
(4, 5, 5),
(4, 4, 5),
(3, 3, 4),
(4, 4, 5),
(4, 4, 5),
(4, 5, 6),
(3, 3, 5),
(4, 4, 6),
(4, 4, 5),
(4, 4, 5),
(4, 5, 5),
],
[
(3, 2, 4),
(4, 4, 5),
(3, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 5, 6),
(4, 5, 4),
(4, 4, 6),
(4, 5, 6),
(4, 5, 5),
(4, 4, 5),
(3, 5, 5),
(4, 4, 6),
(4, 5, 6),
(4, 4, 6),
(4, 5, 6),
(4, 5, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 6),
(4, 4, 6),
(4, 4, 5),
(4, 5, 5),
(4, 4, 5),
(3, 4, 5),
(3, 4, 5),
(4, 4, 5),
(4, 5, 6),
(3, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
],
[
(3, 2, 6),
(4, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(4, 5, 6),
(4, 4, 4),
(4, 5, 5),
(4, 5, 5),
(4, 3, 5),
(4, 4, 5),
(4, 5, 5),
(4, 4, 5),
(4, 5, 5),
(4, 5, 6),
(4, 5, 6),
(4, 4, 5),
(4, 5, 5),
(4, 4, 5),
(4, 4, 6),
(4, 4, 6),
(4, 4, 5),
(4, 5, 5),
(4, 5, 5),
(4, 4, 5),
(4, 5, 5),
(4, 5, 6),
(4, 5, 6),
(3, 4, 5),
(4, 5, 6),
(4, 5, 5),
(4, 5, 5),
(4, 5, 5),
],
[
(3, 5, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(4, 4, 5),
(4, 5, 4),
(3, 2, 5),
(2, 5, 5),
(3, 4, 5),
(3, 5, 6),
(4, 4, 6),
(4, 5, 5),
(4, 5, 5),
(4, 5, 5),
(4, 4, 6),
(2, 5, 5),
(4, 5, 5),
(4, 4, 6),
(3, 4, 6),
(4, 5, 5),
(4, 5, 4),
(3, 4, 5),
(4, 4, 5),
(4, 4, 6),
(4, 3, 6),
(2, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 6),
(4, 4, 5),
(3, 4, 3),
(4, 4, 5),
(3, 4, 5),
],
];
pub(crate) static PARA_LUMA16_BASE_TOK_HF: [[(u8, u8, u8); 20]; 4] = [
[
(4, 5, 5),
(4, 5, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 5, 6),
(4, 5, 6),
(4, 4, 6),
(3, 4, 5),
(3, 4, 5),
(3, 3, 4),
(3, 4, 4),
(4, 5, 3),
],
[
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(3, 4, 5),
(4, 4, 5),
(3, 4, 5),
(4, 3, 5),
(4, 4, 5),
(3, 4, 5),
(3, 4, 6),
(3, 4, 5),
(3, 5, 5),
(4, 5, 5),
(3, 4, 4),
(3, 3, 4),
(3, 4, 4),
],
[
(4, 4, 5),
(4, 5, 6),
(4, 4, 5),
(4, 4, 6),
(4, 4, 5),
(4, 5, 5),
(4, 4, 5),
(3, 4, 5),
(4, 4, 5),
(4, 4, 5),
(3, 4, 5),
(4, 5, 5),
(4, 4, 5),
(4, 5, 6),
(4, 4, 6),
(2, 4, 5),
(4, 4, 5),
(3, 4, 5),
(3, 3, 5),
(3, 3, 5),
],
[
(3, 4, 5),
(4, 5, 6),
(4, 5, 5),
(4, 4, 5),
(4, 5, 5),
(3, 4, 5),
(4, 4, 5),
(3, 4, 5),
(4, 4, 5),
(4, 5, 4),
(3, 4, 5),
(4, 4, 5),
(4, 5, 5),
(4, 5, 5),
(4, 3, 4),
(3, 4, 5),
(4, 5, 5),
(3, 4, 4),
(3, 4, 5),
(3, 4, 5),
],
];
pub(crate) static PARA_LUMA16_BASE_TOK_LF: [[(u8, u8, u8); 33]; 4] = [
[
(2, 2, 3),
(3, 4, 4),
(4, 3, 5),
(3, 5, 5),
(4, 5, 5),
(3, 5, 5),
(4, 5, 5),
(4, 5, 6),
(4, 4, 5),
(3, 5, 4),
(4, 5, 5),
(4, 4, 5),
(4, 4, 5),
(4, 3, 5),
(4, 5, 5),
(4, 5, 6),
(4, 3, 5),
(4, 4, 5),
(4, 4, 5),
(4, 5, 6),
(4, 5, 5),
(4, 5, 5),
(4, 4, 5),
(3, 4, 5),
(2, 4, 4),
(2, 3, 3),
(3, 5, 5),
(2, 2, 5),
(3, 3, 5),
(4, 4, 4),
(3, 3, 4),
(2, 3, 3),
(2, 3, 6),
],
[
(2, 2, 3),
(3, 4, 5),
(3, 4, 4),
(3, 5, 5),
(4, 4, 6),
(3, 3, 5),
(4, 4, 5),
(3, 4, 5),
(4, 5, 6),
(4, 4, 5),
(3, 5, 5),
(4, 3, 4),
(4, 4, 6),
(4, 4, 4),
(4, 4, 5),
(3, 4, 5),
(4, 5, 5),
(4, 4, 5),
(4, 3, 5),
(4, 4, 6),
(4, 4, 5),
(4, 4, 5),
(3, 4, 5),
(3, 3, 3),
(2, 3, 4),
(1, 3, 4),
(1, 3, 4),
(1, 3, 5),
(4, 4, 5),
(4, 4, 5),
(3, 4, 4),
(3, 3, 4),
(3, 3, 5),
],
[
(2, 2, 3),
(3, 4, 4),
(3, 4, 4),
(3, 4, 5),
(4, 4, 5),
(3, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 2, 4),
(4, 4, 4),
(3, 4, 4),
(4, 4, 6),
(4, 5, 5),
(4, 4, 5),
(4, 4, 5),
(4, 5, 5),
(4, 4, 5),
(3, 4, 5),
(4, 5, 6),
(4, 4, 5),
(4, 4, 5),
(4, 5, 5),
(3, 4, 5),
(3, 3, 4),
(3, 4, 5),
(4, 5, 4),
(3, 4, 4),
(3, 5, 5),
(4, 4, 5),
(4, 4, 5),
(4, 5, 6),
(4, 4, 4),
],
[
(2, 2, 3),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(4, 5, 5),
(4, 4, 5),
(3, 4, 6),
(4, 3, 6),
(4, 5, 5),
(3, 3, 4),
(4, 5, 5),
(4, 4, 5),
(4, 5, 6),
(4, 5, 5),
(4, 4, 5),
(4, 4, 6),
(3, 4, 4),
(4, 4, 5),
(4, 4, 5),
(4, 5, 6),
(4, 5, 5),
(4, 4, 5),
(4, 5, 5),
(3, 4, 4),
(2, 3, 3),
(1, 4, 5),
(3, 4, 5),
(3, 4, 5),
(4, 4, 5),
(4, 5, 5),
(4, 2, 5),
(4, 4, 5),
(3, 4, 5),
],
];
pub(crate) static PARA_LUMA32_BASE_TOK_HF: [[(u8, u8, u8); 20]; 4] = [
[
(2, 4, 4),
(4, 4, 5),
(4, 4, 5),
(4, 5, 5),
(4, 3, 4),
(3, 5, 6),
(4, 4, 6),
(4, 5, 5),
(4, 4, 4),
(4, 3, 4),
(4, 4, 5),
(4, 5, 5),
(4, 4, 6),
(4, 5, 6),
(4, 5, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
],
[
(3, 4, 5),
(4, 4, 5),
(3, 4, 5),
(3, 4, 4),
(4, 4, 5),
(4, 4, 5),
(4, 4, 4),
(3, 4, 4),
(3, 4, 5),
(3, 4, 5),
(4, 4, 5),
(4, 4, 5),
(3, 4, 5),
(3, 4, 5),
(4, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
],
[
(3, 4, 4),
(4, 4, 5),
(3, 4, 5),
(4, 5, 5),
(4, 4, 5),
(3, 4, 5),
(4, 4, 4),
(4, 4, 5),
(4, 4, 5),
(3, 4, 5),
(3, 4, 5),
(4, 5, 5),
(4, 4, 5),
(4, 4, 6),
(4, 5, 6),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
],
[
(3, 3, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(4, 4, 6),
(2, 3, 4),
(4, 4, 4),
(4, 4, 4),
(3, 3, 5),
(4, 4, 5),
(3, 4, 5),
(4, 4, 5),
(4, 5, 5),
(4, 4, 5),
(4, 4, 4),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
],
];
pub(crate) static PARA_LUMA32_BASE_TOK_LF: [[(u8, u8, u8); 33]; 4] = [
[
(1, 4, 3),
(1, 3, 4),
(2, 3, 4),
(3, 4, 3),
(4, 2, 3),
(4, 5, 5),
(4, 2, 5),
(4, 2, 5),
(4, 5, 6),
(3, 3, 4),
(2, 3, 4),
(3, 4, 3),
(3, 3, 4),
(4, 3, 3),
(3, 3, 3),
(4, 4, 5),
(4, 3, 4),
(3, 5, 5),
(4, 4, 5),
(4, 5, 5),
(4, 4, 4),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
],
[
(1, 2, 3),
(3, 3, 3),
(3, 3, 4),
(4, 4, 4),
(4, 4, 5),
(4, 4, 6),
(4, 4, 5),
(4, 5, 6),
(4, 5, 6),
(3, 3, 4),
(4, 5, 3),
(4, 4, 5),
(4, 4, 5),
(4, 4, 5),
(3, 4, 5),
(4, 5, 5),
(4, 4, 5),
(4, 4, 5),
(3, 4, 4),
(4, 5, 6),
(4, 4, 4),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
],
[
(1, 2, 3),
(3, 4, 4),
(2, 4, 5),
(3, 3, 4),
(2, 3, 4),
(4, 4, 5),
(2, 4, 4),
(4, 5, 5),
(4, 4, 5),
(3, 3, 4),
(3, 4, 3),
(3, 3, 5),
(3, 5, 5),
(4, 4, 5),
(3, 4, 5),
(4, 5, 5),
(3, 4, 5),
(4, 4, 5),
(3, 4, 4),
(4, 4, 4),
(4, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
],
[
(1, 2, 5),
(3, 5, 5),
(3, 3, 5),
(4, 4, 5),
(3, 4, 5),
(2, 4, 5),
(3, 5, 4),
(4, 4, 5),
(3, 2, 6),
(3, 2, 4),
(3, 4, 6),
(3, 3, 4),
(4, 4, 5),
(4, 4, 5),
(3, 3, 5),
(4, 4, 3),
(3, 3, 5),
(4, 5, 5),
(4, 5, 5),
(4, 4, 5),
(4, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
],
];
pub(crate) static PARA_BR_TOK_HF: [[(u8, u8, u8); 7]; 4] = [
[
(3, 3, 4),
(4, 4, 6),
(4, 4, 6),
(4, 4, 6),
(4, 4, 6),
(4, 4, 6),
(4, 4, 6),
],
[
(2, 3, 5),
(4, 4, 6),
(3, 4, 6),
(4, 4, 6),
(4, 5, 6),
(4, 5, 6),
(4, 4, 6),
],
[
(2, 3, 5),
(3, 4, 6),
(3, 4, 6),
(3, 4, 6),
(3, 4, 5),
(4, 4, 5),
(3, 4, 5),
],
[
(1, 3, 5),
(3, 3, 4),
(2, 3, 3),
(2, 3, 4),
(3, 5, 5),
(3, 3, 4),
(3, 2, 6),
],
];
pub(crate) static PARA_BR_TOK: [[(u8, u8, u8); 14]; 4] = [
[
(2, 3, 3),
(4, 5, 4),
(4, 5, 5),
(4, 5, 3),
(4, 5, 5),
(4, 5, 5),
(4, 5, 5),
(3, 3, 4),
(3, 5, 5),
(4, 4, 5),
(4, 4, 6),
(4, 5, 6),
(4, 4, 6),
(4, 5, 6),
],
[
(2, 2, 3),
(4, 5, 5),
(4, 4, 4),
(4, 5, 5),
(4, 5, 5),
(4, 5, 5),
(4, 5, 6),
(3, 3, 5),
(4, 5, 6),
(4, 5, 6),
(4, 5, 6),
(4, 5, 6),
(4, 5, 6),
(4, 5, 6),
],
[
(2, 2, 3),
(4, 4, 5),
(4, 5, 4),
(4, 4, 4),
(4, 4, 5),
(4, 4, 5),
(4, 3, 4),
(2, 3, 4),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(4, 4, 5),
(4, 5, 5),
(4, 4, 5),
],
[
(1, 2, 3),
(3, 3, 4),
(3, 3, 4),
(3, 2, 4),
(3, 3, 4),
(3, 3, 4),
(3, 5, 5),
(2, 2, 5),
(3, 4, 4),
(3, 3, 4),
(3, 3, 4),
(3, 4, 4),
(3, 3, 3),
(3, 3, 3),
],
];
pub(crate) static PARA_LUMA8_EOB_TOK_HF: [[(u8, u8, u8); 4]; 4] = [
[(2, 3, 4), (0, 3, 4), (3, 3, 4), (3, 4, 5)],
[(2, 3, 4), (3, 1, 4), (3, 4, 5), (3, 4, 5)],
[(2, 3, 4), (1, 3, 4), (3, 4, 5), (3, 4, 5)],
[(2, 3, 4), (3, 3, 4), (3, 4, 5), (2, 4, 5)],
];
pub(crate) static PARA_LUMA8_EOB_TOK_LF: [[(u8, u8, u8); 4]; 4] = [
[(2, 3, 3), (3, 4, 5), (4, 4, 5), (4, 5, 5)],
[(3, 4, 4), (4, 4, 5), (4, 4, 5), (4, 4, 6)],
[(3, 4, 5), (4, 4, 5), (4, 4, 5), (4, 4, 6)],
[(3, 4, 4), (4, 4, 5), (4, 4, 5), (3, 4, 6)],
];
pub(crate) static PARA_LUMA16_EOB_TOK_HF: [[(u8, u8, u8); 4]; 4] = [
[(2, 3, 4), (3, 3, 5), (3, 4, 5), (3, 4, 5)],
[(2, 3, 4), (3, 4, 5), (3, 4, 5), (3, 4, 5)],
[(2, 3, 4), (3, 4, 5), (3, 4, 5), (3, 4, 5)],
[(2, 3, 4), (3, 4, 5), (3, 4, 5), (2, 4, 4)],
];
pub(crate) static PARA_LUMA16_EOB_TOK_LF: [[(u8, u8, u8); 4]; 4] = [
[(1, 2, 3), (3, 3, 5), (2, 2, 3), (1, 4, 5)],
[(3, 3, 3), (3, 4, 5), (2, 5, 6), (1, 4, 5)],
[(3, 3, 4), (4, 4, 5), (4, 3, 6), (1, 2, 5)],
[(3, 3, 4), (4, 5, 5), (3, 3, 3), (1, 4, 5)],
];
pub(crate) static PARA_LUMA32_EOB_TOK_HF: [[(u8, u8, u8); 4]; 4] = [
[(2, 3, 4), (0, 4, 4), (0, 4, 2), (1, 2, 5)],
[(2, 3, 4), (0, 4, 5), (2, 2, 2), (1, 2, 2)],
[(2, 3, 4), (3, 4, 5), (2, 1, 4), (3, 3, 4)],
[(2, 3, 4), (3, 4, 5), (1, 4, 4), (3, 1, 5)],
];
pub(crate) static PARA_LUMA32_EOB_TOK_LF: [[(u8, u8, u8); 4]; 4] = [
[(1, 2, 3), (4, 5, 6), (3, 4, 5), (3, 4, 5)],
[(2, 2, 3), (4, 5, 5), (3, 4, 5), (3, 4, 5)],
[(2, 2, 3), (4, 5, 5), (3, 4, 5), (3, 4, 5)],
[(3, 3, 3), (4, 5, 5), (3, 4, 5), (3, 4, 5)],
];
pub(crate) static PARA_Y_SET: (u8, u8, u8) = (4, 5, 6);
pub(crate) static PARA_Y_IDX0: [(u8, u8, u8); 3] = [(3, 3, 5), (3, 4, 5), (3, 4, 5)];
pub(crate) static PARA_Y_IDX1: [(u8, u8, u8); 3] = [(3, 3, 4), (4, 4, 5), (4, 4, 5)];
pub(crate) static PARA_UV_MODE: [(u8, u8, u8); 2] = [(2, 3, 4), (2, 3, 5)];
pub(crate) static PARA_DELTA_Q: (u8, u8, u8) = (1, 3, 4);
pub(crate) static PARA_TX_SHORT_SIDE: (u8, u8, u8) = (3, 3, 4);
pub(crate) static PARA_EOB_BIN_INTER: [(u8, u8, u8); 4] =
[(1, 3, 3), (1, 3, 3), (1, 3, 3), (2, 3, 3)];
pub(crate) static PARA_EOB_BIN: [(u8, u8, u8); 4] = [(1, 2, 3), (1, 3, 3), (2, 3, 3), (2, 3, 4)];
pub(crate) static PARA_EOB64_LUMA: [(u8, u8, u8); 4] = [(2, 3, 3), (2, 3, 4), (2, 3, 4), (2, 3, 4)];
pub(crate) static PARA_EOB128_LUMA: [(u8, u8, u8); 4] =
[(2, 3, 3), (2, 3, 3), (2, 3, 4), (2, 3, 4)];
pub(crate) static PARA_EOB256: [(u8, u8, u8); 4] = [(2, 3, 3), (1, 3, 3), (2, 3, 3), (2, 3, 4)];
pub(crate) static PARA_EOB512: [(u8, u8, u8); 4] = [(2, 3, 3), (1, 2, 3), (2, 3, 3), (3, 3, 4)];
pub(crate) static PARA_CHROMA_EOB_BIN: [(u8, u8, u8); 4] =
[(2, 3, 3), (2, 2, 3), (2, 3, 3), (3, 3, 3)];
pub(crate) static PARA_CHROMA_EOB32: [(u8, u8, u8); 4] =
[(2, 3, 4), (2, 3, 4), (3, 3, 4), (2, 3, 3)];
pub(crate) static PARA_CHROMA_EOB64: [(u8, u8, u8); 4] =
[(2, 3, 4), (2, 3, 4), (3, 4, 4), (3, 3, 4)];
pub(crate) static PARA_CHROMA_EOB128: [(u8, u8, u8); 4] =
[(2, 3, 4), (2, 3, 4), (3, 3, 4), (3, 4, 4)];
pub(crate) static PARA_CHROMA_EOB256: [(u8, u8, u8); 4] =
[(2, 3, 3), (2, 3, 4), (3, 3, 4), (3, 3, 4)];
pub(crate) static PARA_CHROMA_EOB512: [(u8, u8, u8); 4] =
[(2, 3, 3), (2, 3, 3), (3, 3, 3), (3, 3, 3)];
pub(crate) static PARA_INTER_SKIP_TX32: [[(u8, u8, u8); 10]; 4] = [
[
(0, 1, 2),
(1, 3, 5),
(2, 3, 4),
(2, 1, 2),
(0, 3, 4),
(0, 3, 2),
(2, 1, 4),
(0, 3, 4),
(0, 3, 4),
(0, 1, 4),
],
[
(0, 1, 2),
(3, 4, 4),
(2, 4, 5),
(2, 4, 4),
(3, 4, 5),
(2, 3, 3),
(1, 3, 2),
(1, 2, 2),
(2, 2, 3),
(0, 1, 2),
],
[
(0, 2, 3),
(3, 4, 2),
(3, 3, 5),
(2, 3, 2),
(2, 2, 4),
(2, 2, 5),
(1, 3, 3),
(2, 2, 3),
(2, 2, 4),
(0, 1, 5),
],
[
(1, 1, 2),
(3, 4, 4),
(3, 2, 4),
(3, 3, 2),
(2, 4, 5),
(2, 2, 3),
(2, 2, 4),
(2, 3, 3),
(1, 2, 2),
(0, 4, 4),
],
];
pub(crate) static PARA_INTER_SKIP_TX16: [[(u8, u8, u8); 10]; 4] = [
[
(0, 1, 2),
(3, 4, 5),
(3, 4, 5),
(2, 2, 3),
(2, 3, 3),
(2, 3, 5),
(1, 3, 4),
(1, 2, 3),
(2, 3, 3),
(1, 1, 2),
],
[
(0, 1, 2),
(3, 4, 5),
(3, 4, 3),
(3, 3, 4),
(3, 3, 3),
(2, 3, 4),
(1, 2, 3),
(1, 2, 3),
(2, 3, 3),
(2, 2, 2),
],
[
(1, 4, 5),
(3, 4, 5),
(3, 4, 3),
(3, 3, 4),
(3, 4, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 3),
(2, 2, 3),
(2, 2, 2),
],
[
(3, 4, 5),
(3, 4, 5),
(3, 4, 4),
(3, 4, 4),
(2, 3, 4),
(2, 3, 3),
(3, 3, 4),
(2, 2, 3),
(2, 1, 3),
(2, 3, 5),
],
];
pub(crate) static PARA_INTER_SKIP_TX8: [[(u8, u8, u8); 10]; 4] = [
[
(0, 1, 2),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 3, 4),
(1, 2, 3),
(1, 2, 3),
(2, 2, 3),
(2, 3, 4),
],
[
(1, 2, 3),
(3, 4, 5),
(3, 4, 4),
(3, 4, 4),
(3, 3, 4),
(2, 3, 5),
(1, 3, 3),
(1, 3, 3),
(2, 3, 4),
(3, 3, 4),
],
[
(2, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 4),
(2, 3, 4),
(2, 4, 4),
(2, 3, 3),
(2, 3, 3),
(1, 3, 4),
],
[
(0, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 4, 5),
(3, 3, 4),
(2, 3, 4),
(3, 4, 5),
(3, 3, 3),
(3, 2, 5),
(3, 3, 4),
],
];
pub(crate) static PARA_INTER_EOB256: [(u8, u8, u8); 4] =
[(2, 2, 3), (2, 3, 3), (2, 3, 3), (2, 3, 3)];
pub(crate) static PARA_INTER_SKIP_TX64: [[(u8, u8, u8); 10]; 4] = [
[
(0, 1, 5),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
],
[
(0, 1, 2),
(1, 2, 2),
(1, 2, 2),
(2, 2, 2),
(3, 4, 2),
(1, 2, 2),
(0, 1, 2),
(0, 1, 4),
(0, 1, 4),
(2, 3, 4),
],
[
(0, 2, 3),
(2, 2, 2),
(2, 2, 2),
(1, 2, 3),
(2, 3, 2),
(2, 4, 3),
(0, 3, 3),
(1, 2, 5),
(0, 2, 3),
(2, 3, 4),
],
[
(1, 1, 2),
(3, 2, 2),
(2, 2, 2),
(2, 2, 2),
(2, 2, 4),
(2, 2, 4),
(0, 2, 2),
(1, 4, 5),
(0, 1, 4),
(2, 3, 4),
],
];
pub(crate) static PARA_SKIP_TX32: [[(u8, u8, u8); 10]; 4] = [
[
(0, 1, 2),
(1, 2, 5),
(1, 4, 4),
(1, 2, 2),
(2, 1, 4),
(1, 2, 2),
(1, 1, 3),
(0, 2, 2),
(1, 2, 5),
(2, 3, 4),
],
[
(0, 1, 2),
(3, 2, 4),
(2, 3, 4),
(0, 1, 2),
(1, 3, 2),
(1, 2, 2),
(1, 2, 3),
(1, 2, 2),
(1, 2, 3),
(2, 3, 4),
],
[
(0, 2, 3),
(3, 3, 4),
(2, 3, 2),
(1, 2, 2),
(1, 2, 2),
(1, 1, 3),
(1, 2, 3),
(1, 2, 2),
(1, 2, 3),
(2, 3, 4),
],
[
(0, 2, 3),
(2, 3, 4),
(3, 3, 3),
(1, 2, 2),
(1, 1, 2),
(1, 1, 4),
(2, 3, 3),
(2, 3, 2),
(2, 2, 2),
(2, 3, 4),
],
];
pub(crate) static PARA_SKIP_TX64: [[(u8, u8, u8); 10]; 4] = [
[
(0, 1, 2),
(1, 2, 2),
(0, 3, 4),
(0, 3, 4),
(2, 3, 4),
(2, 3, 4),
(0, 1, 5),
(0, 3, 4),
(2, 3, 4),
(2, 3, 4),
],
[
(0, 1, 2),
(1, 2, 5),
(1, 4, 2),
(0, 1, 2),
(3, 4, 5),
(0, 2, 2),
(0, 1, 2),
(1, 2, 3),
(1, 2, 5),
(2, 3, 4),
],
[
(0, 1, 3),
(1, 2, 3),
(1, 2, 3),
(1, 2, 2),
(3, 3, 2),
(2, 3, 4),
(1, 2, 2),
(1, 2, 2),
(1, 2, 2),
(2, 3, 4),
],
[
(3, 4, 5),
(1, 2, 2),
(2, 3, 2),
(3, 3, 3),
(3, 4, 4),
(3, 3, 4),
(1, 2, 3),
(1, 2, 2),
(2, 2, 2),
(2, 3, 4),
],
];
pub(crate) static PARA_DC_SIGN: [[(u8, u8, u8); 3]; 4] = [
[(3, 4, 5), (3, 3, 4), (3, 3, 4)],
[(3, 4, 5), (3, 4, 5), (3, 4, 5)],
[(3, 3, 4), (3, 3, 5), (3, 4, 5)],
[(2, 3, 3), (2, 3, 4), (3, 4, 5)],
];
pub(crate) static PARA_EOB_EXTRA: [(u8, u8, u8); 4] = [(2, 3, 4), (2, 3, 4), (3, 3, 5), (2, 3, 5)];
pub(crate) static PARA_DO_SPLIT: [(u8, u8, u8); 64] = [
(2, 3, 5),
(3, 4, 5),
(3, 4, 5),
(2, 3, 5),
(2, 3, 4),
(2, 3, 3),
(2, 3, 3),
(2, 3, 4),
(2, 3, 4),
(1, 3, 3),
(1, 2, 3),
(2, 3, 4),
(2, 4, 3),
(2, 2, 3),
(1, 3, 3),
(2, 3, 4),
(3, 4, 2),
(2, 1, 4),
(2, 3, 2),
(1, 2, 4),
(2, 3, 2),
(2, 2, 2),
(1, 2, 3),
(0, 1, 3),
(2, 4, 3),
(1, 2, 2),
(1, 3, 3),
(1, 3, 3),
(3, 3, 2),
(3, 1, 4),
(3, 4, 5),
(2, 2, 5),
(3, 2, 2),
(3, 3, 5),
(3, 3, 2),
(3, 3, 4),
(2, 3, 4),
(1, 3, 2),
(1, 2, 5),
(2, 3, 3),
(3, 3, 4),
(3, 3, 4),
(2, 3, 4),
(2, 3, 3),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 2, 3),
(2, 3, 3),
(1, 2, 3),
(2, 3, 3),
(1, 2, 3),
(2, 3, 4),
(2, 3, 4),
(2, 3, 3),
(2, 2, 2),
(1, 2, 2),
(1, 2, 2),
(1, 2, 2),
(1, 2, 3),
(2, 2, 3),
(2, 3, 4),
];
pub(crate) static BOOL_PARA_LUT: [(u16, (u8, u8, u8)); 497] = [
(4, (2, 3, 4)),
(13, (0, 4, 5)),
(14, (0, 3, 4)),
(19, (3, 4, 5)),
(39, (2, 4, 5)),
(41, (1, 4, 5)),
(71, (1, 1, 2)),
(85, (3, 4, 5)),
(124, (1, 1, 2)),
(163, (0, 2, 3)),
(181, (3, 4, 4)),
(191, (1, 2, 3)),
(206, (0, 2, 3)),
(210, (0, 2, 3)),
(218, (3, 4, 5)),
(286, (3, 2, 3)),
(316, (0, 1, 2)),
(353, (0, 1, 2)),
(375, (1, 3, 4)),
(395, (0, 3, 4)),
(443, (2, 2, 4)),
(449, (2, 3, 4)),
(490, (0, 1, 3)),
(586, (0, 1, 2)),
(618, (0, 3, 4)),
(640, (3, 3, 5)),
(642, (1, 2, 2)),
(712, (2, 3, 4)),
(748, (2, 3, 5)),
(822, (0, 2, 2)),
(850, (1, 3, 4)),
(877, (0, 1, 2)),
(903, (2, 3, 4)),
(961, (0, 2, 3)),
(969, (2, 3, 4)),
(970, (3, 2, 4)),
(976, (1, 1, 3)),
(1014, (3, 3, 4)),
(1030, (3, 3, 4)),
(1032, (1, 2, 2)),
(1087, (0, 1, 2)),
(1097, (3, 3, 4)),
(1122, (0, 2, 4)),
(1186, (2, 3, 3)),
(1230, (2, 3, 5)),
(1238, (1, 2, 4)),
(1277, (2, 2, 4)),
(1293, (2, 2, 4)),
(1406, (1, 3, 4)),
(1421, (0, 3, 2)),
(1470, (1, 3, 4)),
(1613, (2, 4, 3)),
(1652, (2, 3, 4)),
(1676, (0, 1, 2)),
(1840, (3, 4, 5)),
(1966, (1, 3, 3)),
(2134, (3, 3, 4)),
(2283, (1, 2, 3)),
(2336, (3, 2, 4)),
(2468, (2, 3, 4)),
(2472, (2, 2, 4)),
(2571, (2, 2, 3)),
(2582, (2, 2, 4)),
(2709, (2, 2, 5)),
(2761, (2, 2, 2)),
(2889, (1, 1, 4)),
(3148, (2, 3, 4)),
(3169, (2, 2, 2)),
(3179, (2, 3, 5)),
(3310, (2, 2, 4)),
(3385, (2, 3, 2)),
(3460, (2, 3, 4)),
(3633, (1, 1, 2)),
(3640, (2, 2, 3)),
(3641, (0, 3, 4)),
(3682, (0, 1, 4)),
(3692, (1, 2, 3)),
(3700, (3, 4, 2)),
(3862, (2, 2, 4)),
(3954, (1, 2, 4)),
(3980, (2, 3, 3)),
(4453, (1, 2, 3)),
(4513, (3, 3, 4)),
(4607, (1, 2, 2)),
(4683, (2, 2, 4)),
(4684, (2, 3, 5)),
(4694, (2, 2, 5)),
(4735, (2, 2, 3)),
(4747, (2, 3, 5)),
(4778, (2, 3, 4)),
(4805, (2, 3, 3)),
(5061, (2, 3, 3)),
(5111, (1, 2, 3)),
(5150, (1, 2, 3)),
(5151, (2, 3, 4)),
(5246, (2, 3, 4)),
(5381, (0, 1, 4)),
(5398, (3, 3, 4)),
(5412, (2, 3, 2)),
(5417, (2, 3, 3)),
(5538, (0, 1, 2)),
(5721, (2, 2, 4)),
(5927, (0, 1, 2)),
(5935, (3, 4, 5)),
(5936, (1, 2, 3)),
(5946, (0, 1, 5)),
(6040, (1, 2, 4)),
(6041, (2, 3, 4)),
(6243, (3, 4, 4)),
(6295, (2, 2, 4)),
(6301, (2, 3, 4)),
(6330, (0, 4, 4)),
(6438, (1, 2, 4)),
(6457, (0, 1, 4)),
(6485, (3, 3, 2)),
(6533, (3, 2, 2)),
(6541, (2, 3, 4)),
(6589, (2, 3, 3)),
(6625, (3, 3, 2)),
(6632, (2, 3, 4)),
(6682, (1, 2, 3)),
(6775, (1, 2, 2)),
(6795, (2, 3, 4)),
(6841, (0, 1, 4)),
(6873, (0, 1, 5)),
(7009, (1, 2, 3)),
(7011, (2, 2, 4)),
(7101, (3, 3, 3)),
(7158, (2, 2, 3)),
(7161, (0, 2, 3)),
(7214, (2, 3, 4)),
(7308, (3, 4, 5)),
(7444, (2, 3, 4)),
(7574, (1, 2, 3)),
(7637, (2, 3, 3)),
(7792, (2, 3, 4)),
(7807, (2, 3, 4)),
(7885, (1, 2, 5)),
(7954, (2, 2, 3)),
(7969, (0, 2, 3)),
(8039, (1, 2, 5)),
(8072, (2, 3, 3)),
(8111, (1, 2, 3)),
(8222, (3, 3, 3)),
(8308, (1, 2, 3)),
(8514, (2, 2, 2)),
(8537, (1, 2, 2)),
(8550, (2, 3, 3)),
(8565, (2, 2, 2)),
(8639, (2, 3, 4)),
(8651, (3, 4, 2)),
(8692, (2, 3, 3)),
(8708, (3, 4, 4)),
(8712, (2, 2, 2)),
(8811, (2, 2, 3)),
(8959, (2, 2, 2)),
(9002, (3, 3, 4)),
(9013, (3, 4, 5)),
(9027, (2, 4, 5)),
(9094, (3, 3, 5)),
(9134, (3, 4, 5)),
(9164, (2, 3, 2)),
(9241, (2, 3, 4)),
(9250, (2, 3, 3)),
(9268, (2, 3, 3)),
(9290, (1, 1, 4)),
(9457, (2, 2, 3)),
(9669, (1, 2, 4)),
(9702, (3, 4, 4)),
(9706, (0, 1, 2)),
(9777, (1, 2, 2)),
(9854, (2, 3, 3)),
(10202, (1, 2, 3)),
(10264, (2, 3, 3)),
(10327, (2, 2, 2)),
(10363, (3, 4, 5)),
(10401, (2, 2, 2)),
(10420, (2, 3, 4)),
(10432, (2, 2, 3)),
(10474, (0, 1, 2)),
(10522, (1, 2, 3)),
(10609, (2, 3, 3)),
(10751, (2, 2, 3)),
(10834, (2, 3, 4)),
(11072, (1, 2, 2)),
(11074, (1, 2, 3)),
(11124, (1, 2, 2)),
(11143, (3, 3, 5)),
(11261, (3, 4, 5)),
(11299, (1, 2, 2)),
(11325, (2, 4, 3)),
(11363, (1, 2, 3)),
(11442, (2, 3, 2)),
(11581, (2, 3, 4)),
(11623, (2, 4, 4)),
(11764, (3, 4, 4)),
(11778, (2, 3, 3)),
(11828, (3, 3, 4)),
(12009, (1, 2, 2)),
(12047, (2, 3, 3)),
(12105, (2, 3, 4)),
(12221, (3, 4, 5)),
(12276, (2, 4, 3)),
(12318, (2, 2, 3)),
(12329, (2, 3, 4)),
(12348, (1, 2, 4)),
(12626, (3, 4, 5)),
(12660, (2, 3, 3)),
(12826, (1, 2, 2)),
(12862, (2, 1, 2)),
(12918, (2, 3, 4)),
(12930, (2, 3, 3)),
(12932, (3, 4, 5)),
(12967, (3, 4, 5)),
(12973, (1, 2, 2)),
(13237, (2, 3, 3)),
(13289, (2, 3, 4)),
(13356, (3, 4, 4)),
(13400, (2, 3, 5)),
(13575, (1, 2, 3)),
(13630, (2, 2, 3)),
(13638, (1, 4, 5)),
(13689, (2, 4, 5)),
(13727, (3, 3, 4)),
(13806, (1, 2, 2)),
(13822, (0, 1, 2)),
(13841, (3, 4, 5)),
(13876, (2, 3, 4)),
(13899, (1, 3, 2)),
(14011, (2, 1, 3)),
(14027, (3, 4, 3)),
(14099, (2, 3, 4)),
(14194, (1, 2, 2)),
(14238, (2, 3, 4)),
(14456, (3, 4, 3)),
(14623, (1, 2, 3)),
(14653, (2, 3, 3)),
(14681, (3, 3, 4)),
(14688, (1, 2, 4)),
(14699, (2, 3, 3)),
(14768, (2, 2, 2)),
(14779, (3, 3, 3)),
(14879, (2, 3, 3)),
(14930, (2, 3, 4)),
(14944, (1, 2, 2)),
(14949, (1, 3, 3)),
(14991, (1, 1, 2)),
(15011, (1, 2, 3)),
(15058, (2, 2, 2)),
(15090, (1, 2, 5)),
(15099, (2, 3, 3)),
(15176, (2, 4, 3)),
(15187, (2, 4, 4)),
(15189, (2, 4, 3)),
(15193, (3, 3, 4)),
(15229, (2, 4, 5)),
(15231, (2, 3, 3)),
(15262, (2, 3, 4)),
(15328, (1, 2, 3)),
(15344, (2, 2, 3)),
(15352, (2, 2, 3)),
(15568, (2, 2, 2)),
(15709, (1, 2, 3)),
(15732, (2, 2, 2)),
(15754, (3, 4, 5)),
(15796, (1, 2, 2)),
(16177, (2, 2, 3)),
(16228, (3, 4, 5)),
(16308, (1, 2, 2)),
(16384, (2, 3, 4)),
(16538, (2, 2, 3)),
(16565, (3, 4, 4)),
(16614, (2, 3, 3)),
(16689, (3, 4, 5)),
(16714, (1, 2, 3)),
(16726, (3, 2, 2)),
(16750, (1, 2, 2)),
(16791, (2, 2, 3)),
(16816, (1, 2, 3)),
(16868, (3, 4, 5)),
(16937, (3, 4, 5)),
(16960, (3, 4, 3)),
(17028, (0, 1, 2)),
(17169, (2, 1, 4)),
(17181, (2, 2, 2)),
(17346, (3, 4, 5)),
(17377, (1, 2, 3)),
(17390, (1, 2, 2)),
(17406, (1, 2, 3)),
(17515, (1, 2, 3)),
(17628, (2, 2, 2)),
(17710, (3, 3, 2)),
(17713, (2, 3, 3)),
(17727, (2, 2, 3)),
(17810, (3, 3, 4)),
(17822, (1, 3, 3)),
(17827, (2, 3, 3)),
(17913, (1, 3, 3)),
(17964, (3, 4, 5)),
(18032, (1, 2, 3)),
(18045, (3, 4, 4)),
(18086, (2, 3, 3)),
(18093, (2, 3, 4)),
(18108, (1, 2, 3)),
(18163, (3, 2, 4)),
(18334, (3, 4, 2)),
(18440, (3, 4, 5)),
(18456, (2, 4, 3)),
(18524, (3, 4, 5)),
(18544, (3, 3, 5)),
(18638, (1, 4, 4)),
(18773, (3, 4, 4)),
(18776, (1, 2, 3)),
(18878, (3, 4, 4)),
(18908, (3, 3, 4)),
(18924, (3, 4, 5)),
(18958, (2, 2, 4)),
(18964, (3, 3, 3)),
(19113, (2, 3, 3)),
(19136, (3, 3, 4)),
(19140, (2, 3, 2)),
(19146, (3, 4, 5)),
(19206, (2, 3, 3)),
(19274, (3, 4, 5)),
(19308, (2, 2, 3)),
(19363, (1, 3, 3)),
(19451, (1, 2, 3)),
(19653, (1, 2, 3)),
(19657, (2, 3, 3)),
(19709, (2, 2, 2)),
(19772, (3, 1, 4)),
(19817, (3, 4, 5)),
(19843, (3, 4, 4)),
(19898, (2, 3, 4)),
(19924, (2, 3, 3)),
(20159, (1, 2, 3)),
(20245, (3, 4, 5)),
(20246, (2, 3, 4)),
(20327, (3, 3, 2)),
(20494, (2, 3, 3)),
(20523, (2, 2, 2)),
(20628, (1, 2, 3)),
(20784, (1, 2, 3)),
(20802, (1, 2, 3)),
(20816, (1, 3, 5)),
(20830, (2, 3, 3)),
(20915, (3, 3, 4)),
(21065, (0, 2, 2)),
(21143, (3, 4, 5)),
(21163, (1, 3, 3)),
(21271, (1, 2, 2)),
(21275, (3, 2, 5)),
(21373, (0, 1, 2)),
(21389, (3, 1, 4)),
(21427, (2, 3, 4)),
(21528, (3, 4, 5)),
(21559, (1, 2, 2)),
(21630, (0, 3, 4)),
(21789, (1, 1, 3)),
(21962, (2, 2, 3)),
(22017, (2, 4, 3)),
(22163, (1, 2, 3)),
(22179, (3, 4, 3)),
(22247, (1, 1, 2)),
(22286, (3, 3, 4)),
(22328, (1, 3, 3)),
(22403, (3, 4, 5)),
(22429, (2, 3, 2)),
(22442, (3, 3, 4)),
(22575, (2, 3, 4)),
(22723, (1, 2, 3)),
(22922, (1, 2, 2)),
(22992, (2, 3, 3)),
(23094, (2, 3, 3)),
(23113, (1, 2, 3)),
(23142, (2, 3, 3)),
(23257, (1, 4, 2)),
(23384, (3, 4, 3)),
(23406, (2, 1, 4)),
(23870, (2, 3, 3)),
(23871, (1, 2, 3)),
(23893, (0, 1, 2)),
(23990, (1, 2, 3)),
(24070, (1, 2, 3)),
(24232, (2, 3, 4)),
(24339, (1, 2, 4)),
(24459, (2, 2, 3)),
(24501, (3, 3, 3)),
(24583, (0, 2, 4)),
(24669, (1, 3, 3)),
(24757, (2, 2, 3)),
(24824, (1, 3, 3)),
(24897, (2, 1, 4)),
(24959, (0, 1, 2)),
(25001, (1, 2, 3)),
(25180, (2, 3, 4)),
(25280, (3, 3, 3)),
(25367, (2, 2, 5)),
(25707, (3, 3, 4)),
(25727, (2, 4, 5)),
(25779, (1, 2, 2)),
(25805, (2, 2, 3)),
(25957, (0, 1, 3)),
(25965, (2, 3, 3)),
(26310, (0, 2, 4)),
(26352, (0, 3, 4)),
(26361, (3, 3, 4)),
(26390, (1, 2, 2)),
(26432, (2, 3, 4)),
(26575, (2, 2, 2)),
(26802, (3, 4, 4)),
(26827, (1, 2, 3)),
(26863, (2, 3, 4)),
(26910, (1, 2, 2)),
(27045, (2, 3, 4)),
(27117, (2, 2, 3)),
(27118, (3, 3, 3)),
(27120, (1, 2, 2)),
(27266, (2, 3, 4)),
(27303, (1, 3, 4)),
(27331, (1, 1, 2)),
(27388, (3, 3, 5)),
(27429, (1, 3, 3)),
(27435, (3, 3, 4)),
(27494, (1, 2, 5)),
(27583, (3, 4, 4)),
(27598, (3, 3, 4)),
(27616, (1, 2, 3)),
(27732, (1, 2, 3)),
(27733, (1, 4, 4)),
(27737, (2, 3, 4)),
(27758, (1, 2, 2)),
(27784, (1, 2, 4)),
(27955, (2, 3, 4)),
(27991, (2, 3, 4)),
(28041, (2, 3, 5)),
(28080, (2, 3, 4)),
(28093, (3, 3, 4)),
(28194, (3, 3, 3)),
(28212, (2, 3, 4)),
(28283, (3, 3, 3)),
(28290, (3, 4, 4)),
(28349, (1, 2, 2)),
(28375, (0, 3, 3)),
(28467, (3, 3, 4)),
(28560, (1, 2, 3)),
(28564, (2, 2, 3)),
(28575, (1, 3, 2)),
(28576, (1, 3, 2)),
(28660, (2, 3, 4)),
(28731, (1, 3, 3)),
(28904, (1, 2, 5)),
(28972, (2, 3, 4)),
(29018, (1, 3, 3)),
(29219, (2, 3, 2)),
(29245, (2, 3, 3)),
(29294, (2, 3, 4)),
(29386, (1, 3, 5)),
(29487, (1, 2, 3)),
(29606, (3, 3, 4)),
(29777, (3, 3, 4)),
(29807, (2, 3, 4)),
(29897, (3, 3, 4)),
(29964, (0, 2, 2)),
(29968, (0, 1, 2)),
(29994, (1, 3, 3)),
(30006, (2, 2, 4)),
(30129, (3, 3, 3)),
(30186, (1, 2, 3)),
(30205, (1, 2, 4)),
(30283, (1, 3, 3)),
(30362, (0, 1, 2)),
(30407, (3, 3, 5)),
(30432, (2, 3, 4)),
(30577, (3, 4, 4)),
(30836, (2, 3, 4)),
(30840, (2, 3, 4)),
(30908, (2, 4, 4)),
(31043, (0, 3, 4)),
(31081, (2, 3, 4)),
(31239, (2, 3, 4)),
(31375, (3, 3, 4)),
(31451, (2, 3, 4)),
(31468, (1, 1, 3)),
(31475, (2, 2, 4)),
(31669, (3, 4, 5)),
(31686, (1, 3, 3)),
(31952, (3, 3, 4)),
(32028, (1, 2, 5)),
(32055, (2, 3, 3)),
(32148, (3, 4, 5)),
(32164, (3, 2, 4)),
(32261, (3, 4, 5)),
(32312, (0, 1, 5)),
(32347, (3, 4, 4)),
(32609, (1, 2, 2)),
(32732, (2, 3, 4)),
];
pub(crate) static PARA_DO_SQUARE_SPLIT: [(u8, u8, u8); 8] = [
(2, 2, 2),
(1, 1, 2),
(0, 1, 2),
(1, 2, 2),
(3, 1, 4),
(0, 2, 4),
(1, 1, 3),
(1, 2, 2),
];
pub(crate) static PARA_RECT_TYPE: [(u8, u8, u8); 64] = [
(2, 3, 4),
(3, 3, 4),
(2, 3, 4),
(3, 4, 4),
(2, 3, 3),
(2, 3, 3),
(2, 3, 4),
(2, 3, 3),
(3, 3, 3),
(3, 3, 4),
(2, 3, 3),
(2, 3, 2),
(3, 3, 3),
(2, 3, 3),
(2, 3, 3),
(2, 2, 3),
(2, 2, 2),
(2, 3, 2),
(2, 3, 3),
(3, 3, 3),
(2, 3, 2),
(2, 3, 3),
(2, 2, 2),
(2, 2, 3),
(2, 3, 2),
(2, 3, 3),
(2, 3, 3),
(2, 3, 3),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(3, 3, 5),
(2, 3, 2),
(1, 2, 3),
(2, 1, 3),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(3, 3, 4),
(2, 1, 4),
(1, 2, 2),
(1, 3, 4),
(2, 2, 3),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
];
pub(crate) static PARA_SKIP_TX16: [[(u8, u8, u8); 10]; 4] = [
[
(0, 1, 2),
(2, 2, 3),
(2, 2, 2),
(2, 2, 2),
(3, 4, 3),
(3, 2, 4),
(2, 3, 4),
(1, 3, 3),
(1, 2, 3),
(2, 3, 4),
],
[
(1, 3, 4),
(3, 3, 4),
(2, 3, 3),
(1, 2, 2),
(2, 2, 3),
(2, 2, 4),
(2, 3, 4),
(1, 2, 3),
(1, 2, 3),
(2, 3, 4),
],
[
(1, 3, 4),
(2, 3, 4),
(3, 3, 3),
(1, 2, 3),
(1, 2, 3),
(2, 2, 4),
(2, 3, 4),
(2, 3, 3),
(2, 3, 3),
(2, 3, 4),
],
[
(2, 2, 3),
(2, 3, 4),
(3, 3, 4),
(2, 2, 3),
(2, 2, 3),
(2, 2, 3),
(2, 3, 4),
(3, 3, 3),
(3, 3, 3),
(2, 3, 4),
],
];
pub(crate) static PARA_SKIP_TX8: [[(u8, u8, u8); 10]; 4] = [
[
(0, 2, 3),
(3, 3, 4),
(2, 3, 4),
(2, 3, 3),
(3, 3, 3),
(2, 3, 4),
(3, 3, 4),
(2, 3, 3),
(2, 2, 3),
(2, 3, 4),
],
[
(1, 2, 4),
(3, 3, 5),
(3, 3, 4),
(1, 2, 3),
(2, 2, 3),
(2, 2, 4),
(2, 3, 4),
(1, 2, 3),
(2, 2, 4),
(2, 3, 4),
],
[
(2, 3, 4),
(2, 3, 5),
(3, 3, 4),
(2, 2, 3),
(2, 2, 3),
(1, 2, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
],
[
(2, 3, 4),
(3, 3, 5),
(3, 4, 4),
(2, 3, 4),
(2, 3, 3),
(1, 2, 3),
(2, 3, 4),
(3, 4, 4),
(3, 3, 4),
(2, 3, 4),
],
];
pub(crate) static PARA_SKIP_TX4: [[(u8, u8, u8); 10]; 4] = [
[
(1, 2, 3),
(3, 4, 5),
(2, 2, 4),
(1, 3, 3),
(2, 2, 3),
(1, 2, 3),
(2, 3, 3),
(2, 3, 3),
(2, 3, 4),
(2, 3, 4),
],
[
(2, 2, 4),
(3, 3, 4),
(3, 3, 3),
(1, 3, 3),
(2, 3, 3),
(2, 2, 4),
(1, 2, 3),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
],
[
(2, 3, 5),
(3, 3, 4),
(3, 3, 4),
(2, 3, 4),
(2, 3, 3),
(1, 2, 4),
(2, 2, 3),
(3, 3, 4),
(2, 3, 4),
(2, 3, 4),
],
[
(2, 4, 3),
(2, 3, 4),
(3, 4, 4),
(2, 3, 4),
(2, 3, 3),
(2, 3, 3),
(3, 4, 4),
(3, 3, 3),
(1, 4, 4),
(2, 3, 4),
],
];
pub(crate) static PARA_V_SKIP_TX4: [[(u8, u8, u8); 12]; 4] = [
[
(3, 3, 5),
(2, 3, 4),
(2, 3, 3),
(0, 3, 4),
(2, 3, 4),
(2, 3, 4),
(3, 4, 4),
(3, 4, 4),
(3, 4, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
],
[
(3, 4, 5),
(3, 3, 4),
(2, 3, 3),
(0, 1, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(2, 3, 4),
(0, 3, 4),
(0, 3, 4),
(0, 3, 4),
],
[
(3, 4, 5),
(3, 3, 4),
(2, 3, 4),
(1, 1, 4),
(1, 3, 4),
(0, 3, 4),
(3, 4, 4),
(3, 3, 4),
(3, 3, 4),
(1, 1, 4),
(1, 3, 4),
(0, 3, 4),
],
[
(3, 4, 4),
(2, 3, 4),
(2, 3, 3),
(2, 1, 4),
(1, 3, 4),
(0, 3, 4),
(3, 3, 3),
(3, 3, 4),
(3, 3, 4),
(0, 1, 4),
(1, 3, 4),
(0, 3, 4),
],
];
pub(crate) static PARA_CFL_IS: [(u8, u8, u8); 3] = [(1, 2, 4), (2, 2, 3), (2, 3, 4)];
pub(crate) static PARA_CFL_INDEX: (u8, u8, u8) = (1, 2, 4);