summaryrefslogtreecommitdiffstats
path: root/media/base/simd/convert_rgb_to_yuv.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/base/simd/convert_rgb_to_yuv.h')
-rw-r--r--media/base/simd/convert_rgb_to_yuv.h46
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_