diff options
author | fbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-22 04:58:22 +0000 |
---|---|---|
committer | fbarchard@chromium.org <fbarchard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-22 04:58:22 +0000 |
commit | 5debebddead6458cf92cfb4821d0a5a6887141b8 (patch) | |
tree | 6e1fab1b351cd0e2ee2c8c7a4e6f19c1e7e0cfd4 /media | |
parent | de6a994d26a0445c7a2b06895f025a507fcbfb8f (diff) | |
download | chromium_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.cc | 8 | ||||
-rw-r--r-- | media/base/yuv_row_mac.cc | 8 | ||||
-rw-r--r-- | media/base/yuv_row_win.cc | 8 |
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 : |