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. 4 5 #ifndef MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_H_ 6 #define MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_H_ 7 8 #include "base/basictypes.h" 9 #include "media/base/yuv_convert.h" 10 11 namespace media { 12 13 // These methods are exported for testing purposes only. Library users should 14 // only call the methods listed in yuv_convert.h. 15 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); 25 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); 35 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); 45 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); 55 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); 65 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); 75 76 } // namespace media 77 78 #endif // MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_H_ 79