| Index: media/base/simd/filter_yuv_c.cc
|
| diff --git a/media/base/simd/filter_yuv_c.cc b/media/base/simd/filter_yuv_c.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..95ae01a245676b03fddeb79c777e14c2ca0c6659
|
| --- /dev/null
|
| +++ b/media/base/simd/filter_yuv_c.cc
|
| @@ -0,0 +1,29 @@
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "media/base/simd/filter_yuv.h"
|
| +
|
| +namespace media {
|
| +
|
| +void FilterYUVRows_C(uint8* ybuf, const uint8* y0_ptr, const uint8* y1_ptr,
|
| + int source_width, int source_y_fraction) {
|
| + int y1_fraction = source_y_fraction;
|
| + int y0_fraction = 256 - y1_fraction;
|
| + uint8* end = ybuf + source_width;
|
| + do {
|
| + ybuf[0] = (y0_ptr[0] * y0_fraction + y1_ptr[0] * y1_fraction) >> 8;
|
| + ybuf[1] = (y0_ptr[1] * y0_fraction + y1_ptr[1] * y1_fraction) >> 8;
|
| + ybuf[2] = (y0_ptr[2] * y0_fraction + y1_ptr[2] * y1_fraction) >> 8;
|
| + ybuf[3] = (y0_ptr[3] * y0_fraction + y1_ptr[3] * y1_fraction) >> 8;
|
| + ybuf[4] = (y0_ptr[4] * y0_fraction + y1_ptr[4] * y1_fraction) >> 8;
|
| + ybuf[5] = (y0_ptr[5] * y0_fraction + y1_ptr[5] * y1_fraction) >> 8;
|
| + ybuf[6] = (y0_ptr[6] * y0_fraction + y1_ptr[6] * y1_fraction) >> 8;
|
| + ybuf[7] = (y0_ptr[7] * y0_fraction + y1_ptr[7] * y1_fraction) >> 8;
|
| + y0_ptr += 8;
|
| + y1_ptr += 8;
|
| + ybuf += 8;
|
| + } while (ybuf < end);
|
| +}
|
| +
|
| +} // namespace media
|
|
|