|
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