Coder Social home page Coder Social logo

xxyuv's Introduction

xxYUV

Convert between RGB and YUV

Benchmark Environment

https://github.com/metarutaiga/xxImGui/tree/experimental

Performance (macOS) Encode / Decode (unit : us)

Encode Decode
Apple M1 YU12 / YV12 NV12 / NV21 YU12 / YV12 NV12 / NV21
xxYUV AMX ? ? 67 ?
xxYUV NEON 37 38 38 42
libyuv NEON 48 49 122 89
Accelerate NEON 56 55 62 59
xxYUV SSSE3 134 133
libyuv SSSE3 146 146 171 164
Accelerate SSSE3 273 274 232 231
xxYUV SSE2 142 143 58 56
Encode Decode
i7-8700B YU12 / YV12 NV12 / NV21 YU12 / YV12 NV12 / NV21
xxYUV AVX2 31 33 46 39
libyuv AVX2 48 39 60 54
Accelerate AVX2 83 84 67 62
xxYUV SSSE3 50 51
libyuv SSSE3 60 61 87 82
xxYUV SSE2 90 91 69 62

xxyuv's People

Contributors

metarutaiga avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

xxyuv's Issues

Why use `const void* yuv` instead of `const unsigned char* yuv` as type?

xxYUV_EXPORT void yuv2rgb(int width, int height, const void* y, const void* u, const void* v, int strideY, int strideU, int strideV, void* rgb, int strideRGB);

In the benchmark repo, when calling xxYUV functions, unsigned char* type is passed as arguments.

Also, in the implementations of xxYUV, type is also casted to unsigned char*.

So, what is the purpose that keep const void* as function parameter type?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.