Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(416)

Unified Diff: media/base/simd/convert_rgb_to_yuv_ssse3.h

Issue 12211067: Change prototypes to yuv_convert_simd_x86 yasm and equivalent C to portably sign extend int args (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove extra line Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | media/base/simd/convert_rgb_to_yuv_ssse3.asm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
}
« no previous file with comments | « no previous file | media/base/simd/convert_rgb_to_yuv_ssse3.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698