aws / dcv-color-primitives

DCV Color Primitives Library
MIT No Attribution
31 stars 22 forks source link

Wip/fabiosky/nv12 rgb #71

Closed fabiosky closed 1 year ago

fabiosky commented 1 year ago

Issue #, if available: https://github.com/aws/dcv-color-primitives/issues/70

Description of changes: Added nv12 to rgb conversion. Accelerated path if avx2 is available. For sse2, there is no _mm_shuffle_epi8, so it fallbacks to scalar path.

Conversion with respect to nv12>bgra adds negligible overhead:

dcv-color-primitives/nv12>bgra                                                                            
                        time:   [923.00 µs 928.67 µs 935.66 µs]
                        thrpt:  [4.3602 Gelem/s 4.3930 Gelem/s 4.4200 Gelem/s]

dcv-color-primitives/nv12>rgb                                                                            
                        time:   [1.0637 ms 1.0694 ms 1.0774 ms]
                        thrpt:  [3.7867 Gelem/s 3.8147 Gelem/s 3.8354 Gelem/s]                        

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.