blob: 84557d197facb77ca4e6c4b780f9ae3d4edb4593 [file] [log] [blame]
David Ghandehari9e5b5872016-07-28 09:50:04 -07001// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_SSSE3_H_
6#define MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_SSSE3_H_
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12// The header file for ASM functions that convert a row of RGB pixels with SSSE3
13// instructions so we can call them from C++ code. These functions are
14// implemented in "convert_rgb_to_yuv_ssse3.asm".
15
16// Convert a row of 24-bit RGB pixels to YV12 pixels.
17void ConvertRGBToYUVRow_SSSE3(const uint8* rgb,
18 uint8* y,
19 uint8* u,
20 uint8* v,
21 int width);
22
23// Convert a row of 32-bit RGB pixels to YV12 pixels.
24void ConvertARGBToYUVRow_SSSE3(const uint8* argb,
25 uint8* y,
26 uint8* u,
27 uint8* v,
28 int width);
29
30#ifdef __cplusplus
31}
32#endif
33
34#endif // MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_SSSE3_H_