almondyoung / libyuv

Automatically exported from code.google.com/p/libyuv
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

NV12 Rotate clangcl #483

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?

1. build with Visual C and clangcl
2. run NV12 rotation code:

set LIBYUV_WIDTH=1280
set LIBYUV_HEIGHT=720
set LIBYUV_REPEAT=999
set LIBYUV_FLAGS=-1
out\release\libyuv_unittest --gtest_filter=*NV12Rotate*  | findms

What is the expected output?
same

What do you see instead?
visual c is faster

Suggest using Visual C source for Rotation, instead of gcc.

Visual C
NV12Rotate0 (190 ms)
NV12Rotate90 (455 ms)
NV12Rotate180 (220 ms)
NV12Rotate270 (362 ms)
NV12Rotate0_Odd (126 ms)
NV12Rotate90_Odd (439 ms)
NV12Rotate180_Odd (330 ms)
NV12Rotate270_Odd (417 ms)
NV12Rotate0_Inverted (141 ms)
NV12Rotate90_Inverted (360 ms)
NV12Rotate180_Inverted (156 ms)
NV12Rotate270_Inverted (359 ms)

clangcl
NV12Rotate0 (172 ms)
NV12Rotate90 (718 ms)
NV12Rotate180 (156 ms)
NV12Rotate270 (612 ms)
NV12Rotate0_Odd (156 ms)
NV12Rotate90_Odd (754 ms)
NV12Rotate180_Odd (327 ms)
NV12Rotate270_Odd (787 ms)
NV12Rotate0_Inverted (141 ms)
NV12Rotate90_Inverted (600 ms)
NV12Rotate180_Inverted (161 ms)
NV12Rotate270_Inverted (637 ms)

Original issue reported on code.google.com by fbarch...@chromium.org on 11 Aug 2015 at 1:00

GoogleCodeExporter commented 8 years ago
Fixed in r1463
NV12Rotate0 (172 ms)
NV12Rotate90 (483 ms)
NV12Rotate180 (172 ms)
NV12Rotate270 (361 ms)
NV12Rotate0_Odd (140 ms)
NV12Rotate90_Odd (430 ms)
NV12Rotate180_Odd (328 ms)
NV12Rotate270_Odd (405 ms)
NV12Rotate0_Inverted (138 ms)
NV12Rotate90_Inverted (380 ms)
NV12Rotate180_Inverted (156 ms)
NV12Rotate270_Inverted (374 ms)

Original comment by fbarch...@chromium.org on 11 Aug 2015 at 5:11