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

Issue 1414133006: implement I444ToABGR by swapping uv and transpose matrix (Closed)

Created:
5 years, 1 month ago by fbarchard1
Modified:
5 years, 1 month ago
Reviewers:
xhwang
Base URL:
https://chromium.googlesource.com/libyuv/libyuv@master
Target Ref:
refs/heads/master
Project:
libyuv
Visibility:
Public.

Description

implement I444ToABGR by swapping uv and transpose matrix U contributes to B and G. V contributes to R and G. By swapping U and V, they contribute to the opposite channels. Adjust the matrix so the U contribution is in the matrix location such that it till contribute to the new B channel and vice versa. This allows ABGR versions of YUV conversion to use the same low level code as ARGB, just using a different matrix and swapping U and V pointers. As a result the existing I444ToABGRRow functions are no longer needed and are removed. Previously this function was only Intel AVX2 optimized for Windwos. Now it is also optimized for Arm and GCC. ARMv7 Neon Was LibYUVConvertTest.I444ToABGR_Opt (75971 ms) Now LibYUVConvertTest.I444ToABGR_Opt (3672 ms) 20.6 times faster. R=xhwang@chromium.org BUG=libyuv:515 Committed: https://chromium.googlesource.com/libyuv/libyuv/+/cf160cdbaa605c89dc15eb96f7d875ff887132e3

Patch Set 1 #

Patch Set 2 : remove I444ToABGRRow functions #

Unified diffs Side-by-side diffs Delta from patch set Stats (+45 lines, -266 lines) Patch
M README.chromium View 1 1 chunk +1 line, -1 line 0 comments Download
M include/libyuv/row.h View 1 6 chunks +1 line, -44 lines 0 comments Download
M include/libyuv/version.h View 1 1 chunk +1 line, -1 line 0 comments Download
M source/convert_argb.cc View 3 chunks +6 lines, -62 lines 0 comments Download
M source/row_any.cc View 1 2 chunks +0 lines, -6 lines 0 comments Download
M source/row_common.cc View 1 5 chunks +36 lines, -49 lines 0 comments Download
M source/row_gcc.cc View 1 1 chunk +0 lines, -27 lines 0 comments Download
M source/row_win.cc View 1 2 chunks +0 lines, -76 lines 0 comments Download

Messages

Total messages: 4 (1 generated)
fbarchard1
5 years, 1 month ago (2015-10-27 00:58:25 UTC) #1
xhwang
Please also mention the removal of I444ToABGRRow functions in CL description. Otherwise rs LGTM!
5 years, 1 month ago (2015-10-27 16:29:11 UTC) #2
fbarchard1
5 years, 1 month ago (2015-10-27 17:21:27 UTC) #4
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
cf160cdbaa605c89dc15eb96f7d875ff887132e3 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698