Index: media/base/simd/convert_yuv_to_rgb.h |
diff --git a/media/base/simd/convert_yuv_to_rgb.h b/media/base/simd/convert_yuv_to_rgb.h |
index 7db35b5c3058cbaf256c893e249bdbd19856779a..2991d562af088558a2de510bd2ed13c078b35df8 100644 |
--- a/media/base/simd/convert_yuv_to_rgb.h |
+++ b/media/base/simd/convert_yuv_to_rgb.h |
@@ -10,88 +10,102 @@ |
namespace media { |
-typedef void (*ConvertYUVToRGB32Proc)(const uint8*, |
- const uint8*, |
- const uint8*, |
- uint8*, |
- int, |
- int, |
- int, |
- int, |
- int, |
- YUVType); |
- |
-typedef void (*ConvertYUVAToARGBProc)(const uint8*, |
- const uint8*, |
- const uint8*, |
- const uint8*, |
- uint8*, |
- int, |
- int, |
- int, |
- int, |
- int, |
- int, |
- YUVType); |
- |
-void ConvertYUVToRGB32_C(const uint8* yplane, |
- const uint8* uplane, |
- const uint8* vplane, |
- uint8* rgbframe, |
- int width, |
- int height, |
- int ystride, |
- int uvstride, |
- int rgbstride, |
- YUVType yuv_type); |
- |
-void ConvertYUVAToARGB_C(const uint8* yplane, |
- const uint8* uplane, |
- const uint8* vplane, |
- const uint8* aplane, |
- uint8* rgbframe, |
- int width, |
- int height, |
- int ystride, |
- int uvstride, |
- int avstride, |
- int rgbstride, |
- YUVType yuv_type); |
- |
-void ConvertYUVToRGB32_SSE(const uint8* yplane, |
- const uint8* uplane, |
- const uint8* vplane, |
- uint8* rgbframe, |
- int width, |
- int height, |
- int ystride, |
- int uvstride, |
- int rgbstride, |
- YUVType yuv_type); |
- |
-void ConvertYUVToRGB32_MMX(const uint8* yplane, |
- const uint8* uplane, |
- const uint8* vplane, |
- uint8* rgbframe, |
- int width, |
- int height, |
- int ystride, |
- int uvstride, |
- int rgbstride, |
- YUVType yuv_type); |
- |
-void ConvertYUVAToARGB_MMX(const uint8* yplane, |
- const uint8* uplane, |
- const uint8* vplane, |
- const uint8* aplane, |
- uint8* rgbframe, |
- int width, |
- int height, |
- int ystride, |
- int uvstride, |
- int avstride, |
- int rgbstride, |
- YUVType yuv_type); |
+// These methods are exported for testing purposes only. Library users should |
+// only call the methods listed in yuv_convert.h. |
+ |
+MEDIA_EXPORT void ConvertYUVToRGB32_C(const uint8* yplane, |
+ const uint8* uplane, |
+ const uint8* vplane, |
+ uint8* rgbframe, |
+ int width, |
+ int height, |
+ int ystride, |
+ int uvstride, |
+ int rgbstride, |
+ YUVType yuv_type); |
+ |
+MEDIA_EXPORT void ConvertYUVToRGB32Row_C(const uint8* yplane, |
+ const uint8* uplane, |
+ const uint8* vplane, |
+ uint8* rgbframe, |
+ ptrdiff_t width); |
+ |
+MEDIA_EXPORT void ConvertYUVAToARGB_C(const uint8* yplane, |
+ const uint8* uplane, |
+ const uint8* vplane, |
+ const uint8* aplane, |
+ uint8* rgbframe, |
+ int width, |
+ int height, |
+ int ystride, |
+ int uvstride, |
+ int avstride, |
+ int rgbstride, |
+ YUVType yuv_type); |
+ |
+MEDIA_EXPORT void ConvertYUVAToARGBRow_C(const uint8* yplane, |
+ const uint8* uplane, |
+ const uint8* vplane, |
+ const uint8* aplane, |
+ uint8* rgbframe, |
+ ptrdiff_t width); |
+ |
+MEDIA_EXPORT void ConvertYUVToRGB32_SSE(const uint8* yplane, |
+ const uint8* uplane, |
+ const uint8* vplane, |
+ uint8* rgbframe, |
+ int width, |
+ int height, |
+ int ystride, |
+ int uvstride, |
+ int rgbstride, |
+ YUVType yuv_type); |
+ |
+MEDIA_EXPORT void ConvertYUVToRGB32_MMX(const uint8* yplane, |
+ const uint8* uplane, |
+ const uint8* vplane, |
+ uint8* rgbframe, |
+ int width, |
+ int height, |
+ int ystride, |
+ int uvstride, |
+ int rgbstride, |
+ YUVType yuv_type); |
+ |
+MEDIA_EXPORT void ConvertYUVAToARGB_MMX(const uint8* yplane, |
+ const uint8* uplane, |
+ const uint8* vplane, |
+ const uint8* aplane, |
+ uint8* rgbframe, |
+ int width, |
+ int height, |
+ int ystride, |
+ int uvstride, |
+ int avstride, |
+ int rgbstride, |
+ YUVType yuv_type); |
+ |
+MEDIA_EXPORT void ScaleYUVToRGB32Row_C(const uint8* y_buf, |
+ const uint8* u_buf, |
+ const uint8* v_buf, |
+ uint8* rgb_buf, |
+ ptrdiff_t width, |
+ ptrdiff_t source_dx); |
+ |
+MEDIA_EXPORT void LinearScaleYUVToRGB32Row_C(const uint8* y_buf, |
+ const uint8* u_buf, |
+ const uint8* v_buf, |
+ uint8* rgb_buf, |
+ ptrdiff_t width, |
+ ptrdiff_t source_dx); |
+ |
+MEDIA_EXPORT void LinearScaleYUVToRGB32RowWithRange_C(const uint8* y_buf, |
+ const uint8* u_buf, |
+ const uint8* v_buf, |
+ uint8* rgb_buf, |
+ int dest_width, |
+ int source_x, |
+ int source_dx); |
} // namespace media |
@@ -105,121 +119,66 @@ extern "C" { |
// issue on at least Win64. The C-equivalent RowProc versions' prototypes |
// include the same change to ptrdiff_t to reuse the typedefs. |
-typedef void (*ConvertYUVToRGB32RowProc)(const uint8*, |
- const uint8*, |
- const uint8*, |
- uint8*, |
- ptrdiff_t); |
- |
-typedef void (*ConvertYUVAToARGBRowProc)(const uint8*, |
- const uint8*, |
- const uint8*, |
- const uint8*, |
- uint8*, |
- ptrdiff_t); |
- |
-typedef void (*ScaleYUVToRGB32RowProc)(const uint8*, |
- const uint8*, |
- const uint8*, |
- uint8*, |
- ptrdiff_t, |
- ptrdiff_t); |
- |
-void ConvertYUVToRGB32Row_C(const uint8* yplane, |
- const uint8* uplane, |
- const uint8* vplane, |
- uint8* rgbframe, |
- ptrdiff_t width); |
- |
-void ConvertYUVAToARGBRow_C(const uint8* yplane, |
- const uint8* uplane, |
- const uint8* vplane, |
- const uint8* aplane, |
- uint8* rgbframe, |
- ptrdiff_t width); |
- |
-void ConvertYUVToRGB32Row_MMX(const uint8* yplane, |
- const uint8* uplane, |
- const uint8* vplane, |
- uint8* rgbframe, |
- ptrdiff_t width); |
- |
-void ConvertYUVAToARGBRow_MMX(const uint8* yplane, |
- const uint8* uplane, |
- const uint8* vplane, |
- const uint8* aplane, |
- uint8* rgbframe, |
- ptrdiff_t width); |
- |
-void ConvertYUVToRGB32Row_SSE(const uint8* yplane, |
- const uint8* uplane, |
- const uint8* vplane, |
- uint8* rgbframe, |
- ptrdiff_t width); |
- |
-void ScaleYUVToRGB32Row_C(const uint8* y_buf, |
- const uint8* u_buf, |
- const uint8* v_buf, |
- uint8* rgb_buf, |
- ptrdiff_t width, |
- ptrdiff_t source_dx); |
- |
-void ScaleYUVToRGB32Row_MMX(const uint8* y_buf, |
- const uint8* u_buf, |
- const uint8* v_buf, |
- uint8* rgb_buf, |
- ptrdiff_t width, |
- ptrdiff_t source_dx); |
- |
-void ScaleYUVToRGB32Row_SSE(const uint8* y_buf, |
- const uint8* u_buf, |
- const uint8* v_buf, |
- uint8* rgb_buf, |
- ptrdiff_t width, |
- ptrdiff_t source_dx); |
- |
-void ScaleYUVToRGB32Row_SSE2_X64(const uint8* y_buf, |
- const uint8* u_buf, |
- const uint8* v_buf, |
- uint8* rgb_buf, |
- ptrdiff_t width, |
- ptrdiff_t source_dx); |
- |
-void LinearScaleYUVToRGB32Row_C(const uint8* y_buf, |
- const uint8* u_buf, |
- const uint8* v_buf, |
- uint8* rgb_buf, |
- ptrdiff_t width, |
- ptrdiff_t source_dx); |
- |
-void LinearScaleYUVToRGB32RowWithRange_C(const uint8* y_buf, |
+MEDIA_EXPORT void ConvertYUVToRGB32Row_MMX(const uint8* yplane, |
+ const uint8* uplane, |
+ const uint8* vplane, |
+ uint8* rgbframe, |
+ ptrdiff_t width); |
+ |
+MEDIA_EXPORT void ConvertYUVAToARGBRow_MMX(const uint8* yplane, |
+ const uint8* uplane, |
+ const uint8* vplane, |
+ const uint8* aplane, |
+ uint8* rgbframe, |
+ ptrdiff_t width); |
+ |
+MEDIA_EXPORT void ConvertYUVToRGB32Row_SSE(const uint8* yplane, |
+ const uint8* uplane, |
+ const uint8* vplane, |
+ uint8* rgbframe, |
+ ptrdiff_t width); |
+ |
+MEDIA_EXPORT void ScaleYUVToRGB32Row_MMX(const uint8* y_buf, |
const uint8* u_buf, |
const uint8* v_buf, |
uint8* rgb_buf, |
- int dest_width, |
- int source_x, |
- int source_dx); |
- |
-void LinearScaleYUVToRGB32Row_MMX(const uint8* y_buf, |
- const uint8* u_buf, |
- const uint8* v_buf, |
- uint8* rgb_buf, |
- ptrdiff_t width, |
- ptrdiff_t source_dx); |
- |
-void LinearScaleYUVToRGB32Row_SSE(const uint8* y_buf, |
- const uint8* u_buf, |
- const uint8* v_buf, |
- uint8* rgb_buf, |
- ptrdiff_t width, |
- ptrdiff_t source_dx); |
- |
-void LinearScaleYUVToRGB32Row_MMX_X64(const uint8* y_buf, |
- const uint8* u_buf, |
- const uint8* v_buf, |
- uint8* rgb_buf, |
- ptrdiff_t width, |
- ptrdiff_t source_dx); |
+ ptrdiff_t width, |
+ ptrdiff_t source_dx); |
+ |
+MEDIA_EXPORT void ScaleYUVToRGB32Row_SSE(const uint8* y_buf, |
+ const uint8* u_buf, |
+ const uint8* v_buf, |
+ uint8* rgb_buf, |
+ ptrdiff_t width, |
+ ptrdiff_t source_dx); |
+ |
+MEDIA_EXPORT void ScaleYUVToRGB32Row_SSE2_X64(const uint8* y_buf, |
+ const uint8* u_buf, |
+ const uint8* v_buf, |
+ uint8* rgb_buf, |
+ ptrdiff_t width, |
+ ptrdiff_t source_dx); |
+ |
+MEDIA_EXPORT void LinearScaleYUVToRGB32Row_MMX(const uint8* y_buf, |
+ const uint8* u_buf, |
+ const uint8* v_buf, |
+ uint8* rgb_buf, |
+ ptrdiff_t width, |
+ ptrdiff_t source_dx); |
+ |
+MEDIA_EXPORT void LinearScaleYUVToRGB32Row_SSE(const uint8* y_buf, |
+ const uint8* u_buf, |
+ const uint8* v_buf, |
+ uint8* rgb_buf, |
+ ptrdiff_t width, |
+ ptrdiff_t source_dx); |
+ |
+MEDIA_EXPORT void LinearScaleYUVToRGB32Row_MMX_X64(const uint8* y_buf, |
+ const uint8* u_buf, |
+ const uint8* v_buf, |
+ uint8* rgb_buf, |
+ ptrdiff_t width, |
+ ptrdiff_t source_dx); |
} // extern "C" |