summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorfbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-22 04:58:22 +0000
committerfbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-22 04:58:22 +0000
commit5debebddead6458cf92cfb4821d0a5a6887141b8 (patch)
tree6e1fab1b351cd0e2ee2c8c7a4e6f19c1e7e0cfd4 /media
parentde6a994d26a0445c7a2b06895f025a507fcbfb8f (diff)
downloadchromium_src-5debebddead6458cf92cfb4821d0a5a6887141b8.zip
chromium_src-5debebddead6458cf92cfb4821d0a5a6887141b8.tar.gz
chromium_src-5debebddead6458cf92cfb4821d0a5a6887141b8.tar.bz2
Off by one in YUV scale caused an extra read (mostly harmless)
BUG=22594 TEST=none Review URL: http://codereview.chromium.org/212043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26797 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r--media/base/yuv_row_linux.cc8
-rw-r--r--media/base/yuv_row_mac.cc8
-rw-r--r--media/base/yuv_row_win.cc8
3 files changed, 3 insertions, 21 deletions
diff --git a/media/base/yuv_row_linux.cc b/media/base/yuv_row_linux.cc
index 9d567ad..9410c2f 100644
--- a/media/base/yuv_row_linux.cc
+++ b/media/base/yuv_row_linux.cc
@@ -408,15 +408,9 @@ void ScaleYUVToRGB32Row(const uint8* y_buf,
"sar $0x4,%eax\n"
"movzbl (%edx,%eax,1),%eax\n"
"movq kCoefficientsRgbY(,%eax,8),%mm1\n"
- "mov %ebx,%eax\n"
- "sar $0x4,%eax\n"
- "movzbl (%edx,%eax,1),%eax\n"
- "movq kCoefficientsRgbY(,%eax,8),%mm2\n"
"paddsw %mm0,%mm1\n"
- "paddsw %mm0,%mm2\n"
"psraw $0x6,%mm1\n"
- "psraw $0x6,%mm2\n"
- "packuswb %mm2,%mm1\n"
+ "packuswb %mm1,%mm1\n"
"movd %mm1,0x0(%ebp)\n"
"scaledone:"
diff --git a/media/base/yuv_row_mac.cc b/media/base/yuv_row_mac.cc
index 1efa132..671a060 100644
--- a/media/base/yuv_row_mac.cc
+++ b/media/base/yuv_row_mac.cc
@@ -369,15 +369,9 @@ extern void MacScaleYUVToRGB32Row(const uint8* y_buf,
"sar $0x4,%eax\n"
"movzbl (%edx,%eax,1),%eax\n"
"movq 0(%ecx,%eax,8),%mm1\n"
- "mov %ebx,%eax\n"
- "sar $0x4,%eax\n"
- "movzbl (%edx,%eax,1),%eax\n"
- "movq 0(%ecx,%eax,8),%mm2\n"
"paddsw %mm0,%mm1\n"
- "paddsw %mm0,%mm2\n"
"psraw $0x6,%mm1\n"
- "psraw $0x6,%mm2\n"
- "packuswb %mm2,%mm1\n"
+ "packuswb %mm1,%mm1\n"
"movd %mm1,0x0(%ebp)\n"
"Lscaledone:"
diff --git a/media/base/yuv_row_win.cc b/media/base/yuv_row_win.cc
index e6f15bb..1e11d94 100644
--- a/media/base/yuv_row_win.cc
+++ b/media/base/yuv_row_win.cc
@@ -555,15 +555,9 @@ void ScaleYUVToRGB32Row(const uint8* y_buf,
sar eax, 4
movzx eax, byte ptr [edx + eax]
movq mm1, [kCoefficientsRgbY + 8 * eax]
- mov eax, ebx
- sar eax, 4
- movzx eax, byte ptr [edx + eax]
- movq mm2, [kCoefficientsRgbY + 8 * eax]
paddsw mm1, mm0
- paddsw mm2, mm0
psraw mm1, 6
- psraw mm2, 6
- packuswb mm1, mm2
+ packuswb mm1, mm1
movd [ebp], mm1
scaledone :