// 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.

#ifndef COBALT_MEDIA_BASE_SIMD_FILTER_YUV_H_
#define COBALT_MEDIA_BASE_SIMD_FILTER_YUV_H_

#include "media/base/media_export.h"
#include "starboard/types.h"

namespace cobalt {
namespace media {

// These methods are exported for testing purposes only.  Library users should
// only call the methods listed in yuv_convert.h.

MEDIA_EXPORT void FilterYUVRows_C(uint8_t* ybuf, const uint8_t* y0_ptr,
                                  const uint8_t* y1_ptr, int source_width,
                                  uint8_t source_y_fraction);

MEDIA_EXPORT void FilterYUVRows_SSE2(uint8_t* ybuf, const uint8_t* y0_ptr,
                                     const uint8_t* y1_ptr, int source_width,
                                     uint8_t source_y_fraction);

}  // namespace media
}  // namespace cobalt

#endif  // COBALT_MEDIA_BASE_SIMD_FILTER_YUV_H_
