colorsneonlibyuv

Does libyuv have a YUV420ToRGB565 function optimized for NEON?


Does libyuv have a YUV420ToRGB565 function optimized for NEON?

From what I see in libyuv sources there's a function I420ToRGB565 but it first converts to ARGB and only then to RGB565 and that last conversion is not NEON-optimized. Am I mistaken?


Solution

  • You're correct, for the current r396 version. I420ToRGB565 uses NEON for I420ToARGB but C for ARGBToRGB565.

    Neon + C I420ToRGB565_OptVsC (12649 ms)

    Thats 12.6 ms/frame for 1280x720. Its faster compared to just C: I420ToRGB565_OptVsC (81485 ms)

    RGB24 is 1 step NEON for comparison. I420ToRGB24_OptVsC (3392 ms)

    A bug is files to port to Neon http://code.google.com/p/libyuv/issues/detail?id=103