aws / dcv-color-primitives

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

Wip/fallback removal #47

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
  5. Fixed comments in #44
  6. Enhanced code quality using clippy linter
  7. Automatic detection of performance degradation and unhandled paths using assembly inspection

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.

codecov-io commented 3 years ago

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@eb8e70d). Click here to learn what that means. The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##             master      #47   +/-   ##
=========================================
  Coverage          ?   90.08%           
=========================================
  Files             ?        9           
  Lines             ?     3269           
  Branches          ?        0           
=========================================
  Hits              ?     2945           
  Misses            ?      324           
  Partials          ?        0           

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update eb8e70d...31cf89e. Read the comment docs.