diff options
Diffstat (limited to 'media/base/simd/convert_rgb_to_yuv.h')
-rw-r--r-- | media/base/simd/convert_rgb_to_yuv.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/media/base/simd/convert_rgb_to_yuv.h b/media/base/simd/convert_rgb_to_yuv.h index e16fa51..03fe114 100644 --- a/media/base/simd/convert_rgb_to_yuv.h +++ b/media/base/simd/convert_rgb_to_yuv.h @@ -35,6 +35,52 @@ void ConvertRGB24ToYUV_SSSE3(const uint8* rgbframe, int ystride, int uvstride); +// SSE2 version of converting RGBA to YV12. +void ConvertRGB32ToYUV_SSE2(const uint8* rgbframe, + uint8* yplane, + uint8* uplane, + uint8* vplane, + int width, + int height, + int rgbstride, + int ystride, + int uvstride); + +// This is a C reference implementation of the above routine. +// This method should only be used in unit test. +// TODO(hclam): Should use this as the C version of RGB to YUV. +void ConvertRGB32ToYUV_SSE2_Reference(const uint8* rgbframe, + uint8* yplane, + uint8* uplane, + uint8* vplane, + int width, + int height, + int rgbstride, + int ystride, + int uvstride); + +// C version of converting RGBA to YV12. +void ConvertRGB32ToYUV_C(const uint8* rgbframe, + uint8* yplane, + uint8* uplane, + uint8* vplane, + int width, + int height, + int rgbstride, + int ystride, + int uvstride); + +// C version of converting RGB24 to YV12. +void ConvertRGB24ToYUV_C(const uint8* rgbframe, + uint8* yplane, + uint8* uplane, + uint8* vplane, + int width, + int height, + int rgbstride, + int ystride, + int uvstride); + } // namespace media #endif // MEDIA_BASE_SIMD_CONVERT_RGB_TO_YUV_H_ |