Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / media / base / simd / convert_rgb_to_yuv.h
blobd3bb4ca70672ffd73fb1322e2dd2b47ed818fe85
1 // Copyright (c) 2011 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.
5 #ifndef MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_H_
6 #define MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_H_
8 #include "base/basictypes.h"
9 #include "media/base/yuv_convert.h"
11 namespace media {
13 // These methods are exported for testing purposes only. Library users should
14 // only call the methods listed in yuv_convert.h.
16 MEDIA_EXPORT void ConvertRGB32ToYUV_SSSE3(const uint8* rgbframe,
17 uint8* yplane,
18 uint8* uplane,
19 uint8* vplane,
20 int width,
21 int height,
22 int rgbstride,
23 int ystride,
24 int uvstride);
26 MEDIA_EXPORT void ConvertRGB24ToYUV_SSSE3(const uint8* rgbframe,
27 uint8* yplane,
28 uint8* uplane,
29 uint8* vplane,
30 int width,
31 int height,
32 int rgbstride,
33 int ystride,
34 int uvstride);
36 MEDIA_EXPORT void ConvertRGB32ToYUV_SSE2(const uint8* rgbframe,
37 uint8* yplane,
38 uint8* uplane,
39 uint8* vplane,
40 int width,
41 int height,
42 int rgbstride,
43 int ystride,
44 int uvstride);
46 MEDIA_EXPORT void ConvertRGB32ToYUV_SSE2_Reference(const uint8* rgbframe,
47 uint8* yplane,
48 uint8* uplane,
49 uint8* vplane,
50 int width,
51 int height,
52 int rgbstride,
53 int ystride,
54 int uvstride);
56 MEDIA_EXPORT void ConvertRGB32ToYUV_C(const uint8* rgbframe,
57 uint8* yplane,
58 uint8* uplane,
59 uint8* vplane,
60 int width,
61 int height,
62 int rgbstride,
63 int ystride,
64 int uvstride);
66 MEDIA_EXPORT void ConvertRGB24ToYUV_C(const uint8* rgbframe,
67 uint8* yplane,
68 uint8* uplane,
69 uint8* vplane,
70 int width,
71 int height,
72 int rgbstride,
73 int ystride,
74 int uvstride);
76 } // namespace media
78 #endif // MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_H_