Skip to content

Move WHT inverse transforms to common lookup table for x86_64 and aarch64#3274

Merged
barrbrain merged 3 commits intoxiph:masterfrom
barrbrain:lossless
Oct 25, 2023
Merged

Move WHT inverse transforms to common lookup table for x86_64 and aarch64#3274
barrbrain merged 3 commits intoxiph:masterfrom
barrbrain:lossless

Conversation

@barrbrain
Copy link
Collaborator

  • Explicitly elide bounds checks for TxSize and TxType as array indices.
  • Expand transform function tables to make room for WHT_WHT implementations.
  • Replace branch for WHT_WHT with table lookup for aarch64 and x86_64.

Note: The x86_64 table generation code is getting unwieldy.

@codecov
Copy link

codecov bot commented Oct 23, 2023

Codecov Report

Attention: 22 lines in your changes are missing coverage. Please review.

Files Coverage Δ
src/asm/shared/transform/inverse.rs 100.00% <100.00%> (ø)
src/asm/shared/transform/mod.rs 100.00% <100.00%> (ø)
src/asm/x86/transform/inverse.rs 65.07% <12.00%> (-34.93%) ⬇️

... and 1 file with indirect coverage changes

📢 Thoughts on this report? Let us know!.

@barrbrain barrbrain force-pushed the lossless branch 4 times, most recently from 7738eb0 to 3dcd1a7 Compare October 25, 2023 10:51
Copy link
Collaborator

@lu-zero lu-zero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems nice, I'm unsure if implementing IndexMut would make the code even simpler, but since it is used only in macros, I guess won't change much the end result.

@barrbrain barrbrain merged commit 3d43eca into xiph:master Oct 25, 2023
@barrbrain barrbrain deleted the lossless branch October 25, 2023 14:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants