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