diff --git a/src/decode.rs b/src/decode.rs index b9d3fafe4..f8b297510 100644 --- a/src/decode.rs +++ b/src/decode.rs @@ -3575,7 +3575,7 @@ unsafe fn decode_sb( None => { let tip = intra_edge.tip(sb128, edge_index); assert!(hsz == 1); - decode_b(c, t, f, bl, BS_4x4, bp, EdgeFlags::EDGE_ALL_TR_AND_BL)?; + decode_b(c, t, f, bl, BS_4x4, bp, EdgeFlags::ALL_TR_AND_BL)?; let tl_filter = t.tl_4x4_filter; t.bx += 1; decode_b(c, t, f, bl, BS_4x4, bp, tip.split[0])?; @@ -3613,7 +3613,7 @@ unsafe fn decode_sb( } PARTITION_T_TOP_SPLIT => { let node = intra_edge.node(sb128, edge_index); - decode_b(c, t, f, bl, b[0], bp, EdgeFlags::EDGE_ALL_TR_AND_BL)?; + decode_b(c, t, f, bl, b[0], bp, EdgeFlags::ALL_TR_AND_BL)?; t.bx += hsz; decode_b(c, t, f, bl, b[0], bp, node.v[1])?; t.bx -= hsz; @@ -3627,13 +3627,13 @@ unsafe fn decode_sb( t.by += hsz; decode_b(c, t, f, bl, b[1], bp, node.v[0])?; t.bx += hsz; - decode_b(c, t, f, bl, b[1], bp, EdgeFlags::EDGE_NONE)?; + decode_b(c, t, f, bl, b[1], bp, EdgeFlags::NONE)?; t.bx -= hsz; t.by -= hsz; } PARTITION_T_LEFT_SPLIT => { let node = intra_edge.node(sb128, edge_index); - decode_b(c, t, f, bl, b[0], bp, EdgeFlags::EDGE_ALL_TR_AND_BL)?; + decode_b(c, t, f, bl, b[0], bp, EdgeFlags::ALL_TR_AND_BL)?; t.by += hsz; decode_b(c, t, f, bl, b[0], bp, node.h[1])?; t.by -= hsz; @@ -3647,7 +3647,7 @@ unsafe fn decode_sb( t.bx += hsz; decode_b(c, t, f, bl, b[1], bp, node.h[0])?; t.by += hsz; - decode_b(c, t, f, bl, b[1], bp, EdgeFlags::EDGE_NONE)?; + decode_b(c, t, f, bl, b[1], bp, EdgeFlags::NONE)?; t.by -= hsz; t.bx -= hsz; } diff --git a/src/intra_edge.rs b/src/intra_edge.rs index aeebcd93b..2fad695a3 100644 --- a/src/intra_edge.rs +++ b/src/intra_edge.rs @@ -30,10 +30,9 @@ impl EdgeFlags { Self::I420_TOP_HAS_RIGHT, ]); - pub const EDGE_ALL_TR_AND_BL: Self = - Self::union_all([Self::LEFT_HAS_BOTTOM, Self::TOP_HAS_RIGHT]); + pub const ALL_TR_AND_BL: Self = Self::union_all([Self::LEFT_HAS_BOTTOM, Self::TOP_HAS_RIGHT]); - pub const EDGE_NONE: Self = Self::empty(); + pub const NONE: Self = Self::empty(); pub const fn union_all(flags: [Self; N]) -> Self { let mut i = 0; @@ -164,20 +163,22 @@ impl EdgeBranch { ]; let node = EdgeNode { o, h, v }; - let h4 = EdgeFlags::LEFT_HAS_BOTTOM.union( + let h4 = EdgeFlags::union_all([ + EdgeFlags::LEFT_HAS_BOTTOM, edge_flags .intersection(EdgeFlags::I420_TOP_HAS_RIGHT) .select(matches!(bl, BlockLevel::Bl16x16)), - ); + ]); - let v4 = EdgeFlags::TOP_HAS_RIGHT.union( + let v4 = EdgeFlags::union_all([ + EdgeFlags::TOP_HAS_RIGHT, edge_flags .intersection(EdgeFlags::union_all([ EdgeFlags::I420_LEFT_HAS_BOTTOM, EdgeFlags::I422_LEFT_HAS_BOTTOM, ])) .select(matches!(bl, BlockLevel::Bl16x16)), - ); + ]); let split = [EdgeIndex::root(); 4];