Closed GoogleCodeExporter closed 8 years ago
Another approach is implement READNV21 and support NV21ToARGB.
To implement ABGR, swap U/V for any yuv function, use a matrix that swaps the
contributions, and the existing functions can output ABGR.
Original comment by fbarch...@chromium.org
on 6 Oct 2015 at 9:42
Intel version benchmarked:
set LIBYUV_WIDTH=1280
set LIBYUV_HEIGHT=720
set LIBYUV_REPEAT=9999
set LIBYUV_FLAGS=-1
out\release\libyuv_unittest --gtest_catch_exceptions=0
--gtest_filter=*NV??ToARGB_Opt | sortms
Was
NV12ToARGB_Opt (4545 ms)
NV21ToARGB_Opt (4245 ms)
Now
NV12ToARGB_Opt (4401 ms)
NV21ToARGB_Opt (4213 ms)
Original comment by fbarch...@chromium.org
on 7 Oct 2015 at 2:45
Fixed in r1502.
Implemented using READNV21 technique, exposing NV21ToARGB.
Future work:
To implement NV12ToABGR and NV21ToABGR, can pass VU instead of UV and a matrix
with coefficints swapped. Existing low levels can be used.
Normal yuvconstants look like:
UB 0
UG VG
0 VR
Swapped yuvconstants look like:
VR 0
VG UG
0 UB
Original comment by fbarch...@chromium.org
on 7 Oct 2015 at 5:52
Original issue reported on code.google.com by
fbarch...@chromium.org
on 6 Oct 2015 at 6:16