1b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com/* 2b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com * Copyright 2013 Google Inc. 3b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com * 4b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com * Use of this source code is governed by a BSD-style license that can be 5b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com * found in the LICENSE file. 6b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com */ 7b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com 8b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com#ifndef SkBitmapFilter_opts_sse2_DEFINED 9b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com#define SkBitmapFilter_opts_sse2_DEFINED 10b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com 11b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com#include "SkBitmapProcState.h" 12138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com#include "SkConvolver.h" 13b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com 14b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.comvoid highQualityFilter_ScaleOnly_SSE2(const SkBitmapProcState &s, int x, int y, 158c4953c6f176469ad287c3270ab146e292b23badcommit-bot@chromium.org SkPMColor *SK_RESTRICT colors, int count); 16b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.comvoid highQualityFilter_SSE2(const SkBitmapProcState &s, int x, int y, 178c4953c6f176469ad287c3270ab146e292b23badcommit-bot@chromium.org SkPMColor *SK_RESTRICT colors, int count); 189e1ec1a52985cce9db3a0d0e8d448b82a32e70cbskia.committer@gmail.com 19138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com 20138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.comvoid convolveVertically_SSE2(const SkConvolutionFilter1D::ConvolutionFixed* filter_values, 21138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com int filter_length, 22138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com unsigned char* const* source_data_rows, 23138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com int pixel_width, 24138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com unsigned char* out_row, 25138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com bool has_alpha); 26138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.comvoid convolve4RowsHorizontally_SSE2(const unsigned char* src_data[4], 27138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com const SkConvolutionFilter1D& filter, 28138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com unsigned char* out_row[4]); 29138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.comvoid convolveHorizontally_SSE2(const unsigned char* src_data, 30138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com const SkConvolutionFilter1D& filter, 31138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com unsigned char* out_row, 32138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com bool has_alpha); 33138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.comvoid applySIMDPadding_SSE2(SkConvolutionFilter1D* filter); 34138ebc3e4061cf533ea2f7f3717239670fdc6e43humper@google.com 35b088947f27496a9b9dc48a7cfb170f9d59589825humper@google.com#endif 36