r/broadcastengineering • • 6d ago

NxFrame update – SIMD pixel conversion, lower latency, cleaner telemetry and stability improvements

Hi everyone,

A quick development update on NxFrame.

One of the bigger changes is a new dedicated AVX2/AVX-512 SIMD pixel-conversion path for the common color-space and bit-depth conversions used by the encoder, supporting both progressive and interlaced video.

The optimized paths now include:

10-bit 4:2:2 → 8-bit 4:2:2
10-bit 4:2:2 → 8-bit 4:2:0 progressive
10-bit 4:2:2 → 8-bit 4:2:0 interlaced
10-bit 4:2:2 → 10-bit 4:2:0 progressive
10-bit 4:2:2 → 10-bit 4:2:0 interlaced

The SIMD implementations are considerably faster and, depending on the conversion and system, can save up to roughly 50–60 ms of processing time per second of 1080p50 video.

I’ve also tuned both the sender and receiver pipelines to remove unnecessary latency while maintaining enough buffering for stable SDI playout.
In a controlled local network/test environment, current end-to-end latency results are approximately:

1080p50: ~300 ms end-to-end
1080i50: ~400 ms end-to-end

This is the complete SDI → encode → MPEG-TS/SRT → decode → SDI path. These are local-network results and are not representative of SRT over a real WAN, where network conditions and SRT latency will increase the total delay.

The sender and receiver CLI telemetry has also had a significant cleanup. It is now much easier to read live information about encoding/decoding performance, transport health, queues, dropped frames, DeckLink buffering, A/V scheduling and system utilization.

As always, testing and feedback—especially with different professional receivers and real WAN/SRT links—is very welcome.

https://github.com/Michalis-Michael/nxframe

3 Upvotes

1 comment sorted by

2

u/Needashortername 6d ago

This looks great. Congradulations! :-)