-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
support funny sizes #4
Conversation
* refine `PlaneDims` logic for uyvy dimension calculation * relax constraints on `uyvy_to_i420::convert` * process rows, not just blocks, with processors deferring to a fallback. In theory at least the AVX one could use masked instructions instead, but the fallback approach was easy. * test with miri
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm trusting the tests to validate that the SIMD code does what it ought to. This looks good to me!
miri: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup Rust | ||
uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
with: | ||
toolchain: nightly | ||
components: miri | ||
- name: Cache | ||
uses: Swatinem/rust-cache@v2 | ||
with: | ||
key: miri | ||
- run: cargo miri test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now this I like. I'll have to make use of miri in CI more often.
/// | ||
/// The caller must ensure that the frame is fully initialized, including | ||
/// any padding bytes. | ||
unsafe fn initialize(&mut self); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch moving this to the other trait
PlaneDims
logic for uyvy dimension calculationuyvy_to_i420::convert