Jonathan Thomas
ab93363747
Improved performance on FrameScope class, basically doubling performance
...
- Inline fast-path bin indices for alpha=255 pixels: raw byte value == rounded bin, no float needed
- Replaced byte_bin() (std::round + clamp) with (int)(val * 255.0f + 0.5f)
- Pre-computed waveform_offset_map[] to eliminate a multiply per pixel in inner loop
- Pointer increment instead of row + x * 4 per pixel
- int64_t pixel_count instead of double pixel_total
- Result: 49 → 89 FPS (~1.8x), all unit tests pass
2026-05-02 14:43:51 -05:00
Jonathan Thomas
81aa6d97b0
Refactor of FrameScope and adding new vectorscope data, so we can easily render high performance vectorscope density planes. Updated unit tests, and did some light refactoring to ensure performance.
2026-04-23 21:57:15 -05:00
Jonathan Thomas
816cd3d9ef
Some low hanging optimizations on Color Grade effect for faster processing of color grading in real-time.
2026-04-22 19:10:59 -05:00
Jonathan Thomas
0c1e0cd5ae
Fixing byte order bug in FrameScope, so our analysis uses RGBA8888_Premultiplied format, and adding unit test to verify.
2026-04-22 12:46:35 -05:00
Jonathan Thomas
b16bda0291
FrameScope no longer generates JSON during normal per-frame analysis. Json handling is now lazy, only when needed, and new swig getters and available for faster access to analysis data for image and audio data.
2026-04-19 16:05:25 -05:00
Jonathan Thomas
5910ab5f97
pdated FrameScope so the video scope payload now includes the full practical waveform dataset the UI needs:
...
- video.histogram.luma
- video.histogram.red
- video.histogram.green
- video.histogram.blue
- video.waveform.luma
- video.waveform.red
- video.waveform.green
- video.waveform.blue
2026-04-19 15:38:10 -05:00
Jonathan Thomas
449a4f5e9f
Add a new FrameScope class which analyzes color and audio data for a frame.
2026-04-19 15:11:54 -05:00