|
1 | 1 | # H264Sharp |
2 | | -Cisco's OpenH264 Native wrapper for .Net with optimised image format conversion support. It is very suitable for realtime streaming over network. |
3 | | -This is the only open source C# library with full feature wrapper, supported for windows and linux. |
4 | | -Arm platforms work in progress. |
5 | | -Image format converters are faster than OpenCV implementation. |
| 2 | +Cisco's OpenH264 Native wrapper for .Net with optimised color format conversion support. It is very suitable for realtime streaming over network. |
| 3 | +This is the only open source .Net library with full feature wrapper, supported for windows and linux. |
| 4 | +Arm platforms are work in progress. |
| 5 | + |
| 6 | +SIMD color format converters are faster than OpenCV implementation. |
| 7 | +- Cross Platform |
6 | 8 | - Plug&Play |
7 | 9 | - Tested on .NetFramework and Net(up to 8), Windows & Linux. |
8 | 10 | - Compatible with OpenCV.(i.e. OpenCVsharp) |
9 | 11 | - Tested on WPF application with camera and screen capture. |
10 | 12 | - No memory leaks or GC pressure. |
11 | 13 | - Simple console application example and WPF application is provided as an example. |
12 | 14 |
|
13 | | -Library consist of native dll which acts as OpenH264 wrapper and image format converter (YUV420p <-> RGB,BGR,RGBA,BGRA) |
| 15 | +Library consist of native dll which acts as OpenH264 wrapper and color format converter (YUV420p <-> RGB,BGR,RGBA,BGRA) |
14 | 16 | <br/>Converters are vectorised(AVX2 and SSE) and can be configured for parallelisation for high performance. |
15 | 17 |
|
16 | 18 | C# library is .Net standard wrapper library for this dll and performs PInvoke to handle transcoding. |
@@ -194,7 +196,7 @@ Similarly for decoder |
194 | 196 | decoder.Initialize(decParam); |
195 | 197 | ``` |
196 | 198 |
|
197 | | -Image format conversion (RGB <-> YUV420) has optional configuration where you can provide number of threads on parallelisation. |
| 199 | +Color format conversion (RGB <-> YUV420) has optional configuration where you can provide number of threads on parallelisation. |
198 | 200 | <br/>Using 1 thread gives consumes least cpu cycles and most efficient but it takes more time. |
199 | 201 | Beyond 4 threads you start to get diminishing returns. |
200 | 202 | <br/>Fastest performance is achieved when threadcount is same as your phyical threads on your machine. |
|
0 commit comments