Skip to content

Conversation

brianpopow
Copy link
Collaborator

Prerequisites

  • I have written a descriptive pull-request title
  • I have verified that there are no overlapping pull-requests open
  • I have verified that I am following the existing coding patterns and practice as demonstrated in the repository. These follow strict Stylecop rules 👮.
  • I have provided test coverage for my change (where applicable)

Description

This PR adds SSE2 and AVX2 versions of Vp8_Sse16X16 and Vp8_Sse16X8, which are used during lossy webp encoding.

Related to #1786

Profiling results:

master

SseNxN

PR

SseNxN_avx

@codecov
Copy link

codecov bot commented Dec 8, 2021

Codecov Report

Merging #1881 (43fc8e3) into master (b14a78c) will increase coverage by 0%.
The diff coverage is 100%.

Impacted file tree graph

@@          Coverage Diff           @@
##           master   #1881   +/-   ##
======================================
  Coverage      87%     87%           
======================================
  Files         959     959           
  Lines       50402   50462   +60     
  Branches     6260    6266    +6     
======================================
+ Hits        44118   44182   +64     
+ Misses       5248    5246    -2     
+ Partials     1036    1034    -2     
Flag Coverage Δ
unittests 87% <100%> (+<1%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/ImageSharp/Formats/Webp/Lossy/LossyUtils.cs 100% <100%> (ø)
...emory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs 91% <0%> (+4%) ⬆️

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 b14a78c...43fc8e3. Read the comment docs.

Comment on lines 190 to 191
ref byte aRef = ref MemoryMarshal.GetReference(a);
ref byte bRef = ref MemoryMarshal.GetReference(b);
Copy link
Contributor

Choose a reason for hiding this comment

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

These should be moved above the loop -- they're invariant to the loop.

Comment on lines 215 to 216
ref byte aRef = ref MemoryMarshal.GetReference(a);
ref byte bRef = ref MemoryMarshal.GetReference(b);
Copy link
Contributor

Choose a reason for hiding this comment

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

Same here.

@brianpopow brianpopow merged commit bf7362c into master Dec 12, 2021
@brianpopow brianpopow deleted the bp/Vp8_Sse16xN branch December 12, 2021 13:51
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.

3 participants