| Index: media/base/simd/convert_rgb_to_yuv_ssse3.h
|
| diff --git a/media/base/simd/convert_rgb_to_yuv_ssse3.h b/media/base/simd/convert_rgb_to_yuv_ssse3.h
|
| index 84557d197facb77ca4e6c4b780f9ae3d4edb4593..92144c9aaca15e6742e8406c3d9e1feeb9e450ae 100644
|
| --- a/media/base/simd/convert_rgb_to_yuv_ssse3.h
|
| +++ b/media/base/simd/convert_rgb_to_yuv_ssse3.h
|
| @@ -13,19 +13,25 @@ extern "C" {
|
| // instructions so we can call them from C++ code. These functions are
|
| // implemented in "convert_rgb_to_yuv_ssse3.asm".
|
|
|
| +// We use ptrdiff_t instead of int for yasm routine parameters to portably
|
| +// sign-extend int. On Win64, MSVC does not sign-extend the value in the stack
|
| +// home of int function parameters, and yasm routines are unaware of this lack
|
| +// of extension and fault. ptrdiff_t is portably sign-extended and fixes this
|
| +// issue on at least Win64.
|
| +
|
| // Convert a row of 24-bit RGB pixels to YV12 pixels.
|
| void ConvertRGBToYUVRow_SSSE3(const uint8* rgb,
|
| uint8* y,
|
| uint8* u,
|
| uint8* v,
|
| - int width);
|
| + ptrdiff_t width);
|
|
|
| // Convert a row of 32-bit RGB pixels to YV12 pixels.
|
| void ConvertARGBToYUVRow_SSSE3(const uint8* argb,
|
| uint8* y,
|
| uint8* u,
|
| uint8* v,
|
| - int width);
|
| + ptrdiff_t width);
|
|
|
| #ifdef __cplusplus
|
| }
|
|
|