#[derive(Copy, Clone)]
pub struct TripletEncoding {
pub byte_count: u32,
pub x_bits: u32,
pub y_bits: u32,
pub delta_x: u32,
pub delta_y: u32,
pub x_sign: i32,
pub y_sign: i32,
}
pub static TRIPLET_ENCODINGS: [TripletEncoding; 128] = [
TripletEncoding {
byte_count: 2,
x_bits: 0,
y_bits: 8,
delta_x: 0,
delta_y: 0,
x_sign: 0,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 0,
y_bits: 8,
delta_x: 0,
delta_y: 0,
x_sign: 0,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 0,
y_bits: 8,
delta_x: 0,
delta_y: 256,
x_sign: 0,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 0,
y_bits: 8,
delta_x: 0,
delta_y: 256,
x_sign: 0,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 0,
y_bits: 8,
delta_x: 0,
delta_y: 512,
x_sign: 0,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 0,
y_bits: 8,
delta_x: 0,
delta_y: 512,
x_sign: 0,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 0,
y_bits: 8,
delta_x: 0,
delta_y: 768,
x_sign: 0,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 0,
y_bits: 8,
delta_x: 0,
delta_y: 768,
x_sign: 0,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 0,
y_bits: 8,
delta_x: 0,
delta_y: 1024,
x_sign: 0,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 0,
y_bits: 8,
delta_x: 0,
delta_y: 1024,
x_sign: 0,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 8,
y_bits: 0,
delta_x: 0,
delta_y: 0,
x_sign: -1,
y_sign: 0,
},
TripletEncoding {
byte_count: 2,
x_bits: 8,
y_bits: 0,
delta_x: 0,
delta_y: 0,
x_sign: 1,
y_sign: 0,
},
TripletEncoding {
byte_count: 2,
x_bits: 8,
y_bits: 0,
delta_x: 256,
delta_y: 0,
x_sign: -1,
y_sign: 0,
},
TripletEncoding {
byte_count: 2,
x_bits: 8,
y_bits: 0,
delta_x: 256,
delta_y: 0,
x_sign: 1,
y_sign: 0,
},
TripletEncoding {
byte_count: 2,
x_bits: 8,
y_bits: 0,
delta_x: 512,
delta_y: 0,
x_sign: -1,
y_sign: 0,
},
TripletEncoding {
byte_count: 2,
x_bits: 8,
y_bits: 0,
delta_x: 512,
delta_y: 0,
x_sign: 1,
y_sign: 0,
},
TripletEncoding {
byte_count: 2,
x_bits: 8,
y_bits: 0,
delta_x: 768,
delta_y: 0,
x_sign: -1,
y_sign: 0,
},
TripletEncoding {
byte_count: 2,
x_bits: 8,
y_bits: 0,
delta_x: 768,
delta_y: 0,
x_sign: 1,
y_sign: 0,
},
TripletEncoding {
byte_count: 2,
x_bits: 8,
y_bits: 0,
delta_x: 1024,
delta_y: 0,
x_sign: -1,
y_sign: 0,
},
TripletEncoding {
byte_count: 2,
x_bits: 8,
y_bits: 0,
delta_x: 1024,
delta_y: 0,
x_sign: 1,
y_sign: 0,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 1,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 1,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 1,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 1,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 17,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 17,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 17,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 17,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 33,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 33,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 33,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 33,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 49,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 49,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 49,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 1,
delta_y: 49,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 1,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 1,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 1,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 1,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 17,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 17,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 17,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 17,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 33,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 33,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 33,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 33,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 49,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 49,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 49,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 17,
delta_y: 49,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 1,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 1,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 1,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 1,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 17,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 17,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 17,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 17,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 33,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 33,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 33,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 33,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 49,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 49,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 49,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 33,
delta_y: 49,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 1,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 1,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 1,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 1,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 17,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 17,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 17,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 17,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 33,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 33,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 33,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 33,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 49,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 49,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 49,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 2,
x_bits: 4,
y_bits: 4,
delta_x: 49,
delta_y: 49,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 1,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 1,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 1,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 1,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 257,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 257,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 257,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 257,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 513,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 513,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 513,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 1,
delta_y: 513,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 1,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 1,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 1,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 1,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 257,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 257,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 257,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 257,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 513,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 513,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 513,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 257,
delta_y: 513,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 1,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 1,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 1,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 1,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 257,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 257,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 257,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 257,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 513,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 513,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 513,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 3,
x_bits: 8,
y_bits: 8,
delta_x: 513,
delta_y: 513,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 4,
x_bits: 12,
y_bits: 12,
delta_x: 0,
delta_y: 0,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 4,
x_bits: 12,
y_bits: 12,
delta_x: 0,
delta_y: 0,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 4,
x_bits: 12,
y_bits: 12,
delta_x: 0,
delta_y: 0,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 4,
x_bits: 12,
y_bits: 12,
delta_x: 0,
delta_y: 0,
x_sign: 1,
y_sign: 1,
},
TripletEncoding {
byte_count: 5,
x_bits: 16,
y_bits: 16,
delta_x: 0,
delta_y: 0,
x_sign: -1,
y_sign: -1,
},
TripletEncoding {
byte_count: 5,
x_bits: 16,
y_bits: 16,
delta_x: 0,
delta_y: 0,
x_sign: 1,
y_sign: -1,
},
TripletEncoding {
byte_count: 5,
x_bits: 16,
y_bits: 16,
delta_x: 0,
delta_y: 0,
x_sign: -1,
y_sign: 1,
},
TripletEncoding {
byte_count: 5,
x_bits: 16,
y_bits: 16,
delta_x: 0,
delta_y: 0,
x_sign: 1,
y_sign: 1,
},
];