Home | History | Annotate | Download | only in opts
      1 
      2 /*
      3  * Copyright 2013 Google Inc.
      4  *
      5  * Use of this source code is governed by a BSD-style license that can be
      6  * found in the LICENSE file.
      7  */
      8 
      9 
     10 #ifndef SkBitmapFilter_opts_sse2_DEFINED
     11 #define SkBitmapFilter_opts_sse2_DEFINED
     12 
     13 #include "SkBitmapProcState.h"
     14 #include "SkConvolver.h"
     15 
     16 void highQualityFilter_ScaleOnly_SSE2(const SkBitmapProcState &s, int x, int y,
     17                           SkPMColor *SK_RESTRICT colors, int count);
     18 void highQualityFilter_SSE2(const SkBitmapProcState &s, int x, int y,
     19                 SkPMColor *SK_RESTRICT colors, int count);
     20 
     21 
     22 void convolveVertically_SSE2(const SkConvolutionFilter1D::ConvolutionFixed* filter_values,
     23                              int filter_length,
     24                              unsigned char* const* source_data_rows,
     25                              int pixel_width,
     26                              unsigned char* out_row,
     27                              bool has_alpha);
     28 void convolve4RowsHorizontally_SSE2(const unsigned char* src_data[4],
     29                                     const SkConvolutionFilter1D& filter,
     30                                     unsigned char* out_row[4]);
     31 void convolveHorizontally_SSE2(const unsigned char* src_data,
     32                                const SkConvolutionFilter1D& filter,
     33                                unsigned char* out_row,
     34                                bool has_alpha);
     35 void applySIMDPadding_SSE2(SkConvolutionFilter1D* filter);
     36 
     37 #endif
     38