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 11namespace 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 16MEDIA_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 26MEDIA_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 36MEDIA_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 46MEDIA_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 56MEDIA_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 66MEDIA_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