aws / dcv-color-primitives

DCV Color Primitives Library
MIT No Attribution
31 stars 22 forks source link

Wip/fallback removal #46

Closed fabiosky closed 3 years ago

fabiosky commented 3 years ago

Issue #10 , if available:

Description of changes:

  1. Image conversion is now using the most performant available path (sse2 or avx2) even when the image width is not a multiple of 16 (sse2) or 32 (avx2)
  2. Added code coverage through tarpaulin
  3. Fixed bug in plane constraint computation
  4. Check if the buffers contain enough data according to the desired conversion

Code was heavily refactored to keep into account for out of bounds errors. Previously this could result in undefined behaviour, since the library could access invalid data.

To ensure proper coverage, tarpaulin coverage was included. This was used also to fix 3. and 4. Coverage reports now at 90%, but the actual coverage is even higher, because tarpaulin is not able to cover lines belonging to inlined functions or propagated constants.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.