Commit 44477b26 authored by fbarchard@google.com's avatar fbarchard@google.com

RGB565 etc to I420 had UV function pointer set wrong for _C version.

BUG=none
TEST=media_unittest
Review URL: https://webrtc-codereview.appspot.com/353006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@135 16f28f9a-4ce2-e073-06de-1de4eb20be90
parent 1de81bca
Name: libyuv Name: libyuv
URL: http://code.google.com/p/libyuv/ URL: http://code.google.com/p/libyuv/
Version: 134 Version: 135
License: BSD License: BSD
License File: LICENSE License File: LICENSE
......
...@@ -549,7 +549,7 @@ int RGB24ToI420(const uint8* src_frame, int src_stride_frame, ...@@ -549,7 +549,7 @@ int RGB24ToI420(const uint8* src_frame, int src_stride_frame,
} else } else
#endif #endif
{ {
ARGBToUVRow = RGB24ToUVRow_C; ARGBToUVRow = ARGBToUVRow_C;
} }
for (int y = 0; y < (height - 1); y += 2) { for (int y = 0; y < (height - 1); y += 2) {
...@@ -615,7 +615,7 @@ int RAWToI420(const uint8* src_frame, int src_stride_frame, ...@@ -615,7 +615,7 @@ int RAWToI420(const uint8* src_frame, int src_stride_frame,
} else } else
#endif #endif
{ {
ARGBToUVRow = RAWToUVRow_C; ARGBToUVRow = ARGBToUVRow_C;
} }
for (int y = 0; y < (height - 1); y += 2) { for (int y = 0; y < (height - 1); y += 2) {
...@@ -681,7 +681,7 @@ int RGB565ToI420(const uint8* src_frame, int src_stride_frame, ...@@ -681,7 +681,7 @@ int RGB565ToI420(const uint8* src_frame, int src_stride_frame,
} else } else
#endif #endif
{ {
ARGBToUVRow = RGB565ToUVRow_C; ARGBToUVRow = ARGBToUVRow_C;
} }
for (int y = 0; y < (height - 1); y += 2) { for (int y = 0; y < (height - 1); y += 2) {
...@@ -747,7 +747,7 @@ int ARGB1555ToI420(const uint8* src_frame, int src_stride_frame, ...@@ -747,7 +747,7 @@ int ARGB1555ToI420(const uint8* src_frame, int src_stride_frame,
} else } else
#endif #endif
{ {
ARGBToUVRow = ARGB1555ToUVRow_C; ARGBToUVRow = ARGBToUVRow_C;
} }
for (int y = 0; y < (height - 1); y += 2) { for (int y = 0; y < (height - 1); y += 2) {
...@@ -813,7 +813,7 @@ int ARGB4444ToI420(const uint8* src_frame, int src_stride_frame, ...@@ -813,7 +813,7 @@ int ARGB4444ToI420(const uint8* src_frame, int src_stride_frame,
} else } else
#endif #endif
{ {
ARGBToUVRow = ARGB4444ToUVRow_C; ARGBToUVRow = ARGBToUVRow_C;
} }
for (int y = 0; y < (height - 1); y += 2) { for (int y = 0; y < (height - 1); y += 2) {
......
...@@ -1624,13 +1624,13 @@ int I420ToABGR(const uint8* src_y, int src_stride_y, ...@@ -1624,13 +1624,13 @@ int I420ToABGR(const uint8* src_y, int src_stride_y,
// Convert NV12 to RGB565. // Convert NV12 to RGB565.
int NV12ToRGB565(const uint8* src_y, int src_stride_y, int NV12ToRGB565(const uint8* src_y, int src_stride_y,
const uint8* src_uv, int src_stride_uv, const uint8* src_uv, int src_stride_uv,
uint8* dst_argb, int dst_stride_argb, uint8* dst_rgb, int dst_stride_rgb,
int width, int height) { int width, int height) {
// Negative height means invert the image. // Negative height means invert the image.
if (height < 0) { if (height < 0) {
height = -height; height = -height;
dst_argb = dst_argb + (height - 1) * dst_stride_argb; dst_rgb = dst_rgb + (height - 1) * dst_stride_rgb;
dst_stride_argb = -dst_stride_argb; dst_stride_rgb = -dst_stride_rgb;
} }
void (*FastConvertYUVToRGB565Row)(const uint8* y_buf, void (*FastConvertYUVToRGB565Row)(const uint8* y_buf,
const uint8* u_buf, const uint8* u_buf,
...@@ -1644,7 +1644,7 @@ int NV12ToRGB565(const uint8* src_y, int src_stride_y, ...@@ -1644,7 +1644,7 @@ int NV12ToRGB565(const uint8* src_y, int src_stride_y,
#elif defined(HAS_FASTCONVERTYUVTORGB565ROW_SSSE3) #elif defined(HAS_FASTCONVERTYUVTORGB565ROW_SSSE3)
if (TestCpuFlag(kCpuHasSSSE3) && if (TestCpuFlag(kCpuHasSSSE3) &&
IS_ALIGNED(width, 8) && IS_ALIGNED(width, 8) &&
IS_ALIGNED(dst_argb, 16) && IS_ALIGNED(dst_stride_argb, 16)) { IS_ALIGNED(dst_rgb, 16) && IS_ALIGNED(dst_stride_rgb, 16)) {
FastConvertYUVToRGB565Row = FastConvertYUVToRGB565Row_SSSE3; FastConvertYUVToRGB565Row = FastConvertYUVToRGB565Row_SSSE3;
} else } else
#endif #endif
...@@ -1675,8 +1675,8 @@ int NV12ToRGB565(const uint8* src_y, int src_stride_y, ...@@ -1675,8 +1675,8 @@ int NV12ToRGB565(const uint8* src_y, int src_stride_y,
SplitUV(src_uv, row, row + kMaxStride, halfwidth); SplitUV(src_uv, row, row + kMaxStride, halfwidth);
src_uv += src_stride_uv; src_uv += src_stride_uv;
} }
FastConvertYUVToRGB565Row(src_y, row, row + kMaxStride, dst_argb, width); FastConvertYUVToRGB565Row(src_y, row, row + kMaxStride, dst_rgb, width);
dst_argb += dst_stride_argb; dst_rgb += dst_stride_rgb;
src_y += src_stride_y; src_y += src_stride_y;
} }
return 0; return 0;
......
...@@ -375,7 +375,7 @@ __asm { ...@@ -375,7 +375,7 @@ __asm {
sub edx, eax sub edx, eax
convertloop: convertloop:
movdqa xmm0, [eax] // fetch 8 pixels of bgr565 movdqa xmm0, [eax] // fetch 8 pixels of bgr565
movdqa xmm1, xmm0 movdqa xmm1, xmm0
movdqa xmm2, xmm0 movdqa xmm2, xmm0
pand xmm1, xmm3 // R in upper 5 bits pand xmm1, xmm3 // R in upper 5 bits
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment