Skip to content

hifi-decode: Performance enhancements, Fix head switching interpolation#195

Merged
harrypm merged 35 commits intooyvindln:vhs_decodefrom
eshaz:hifi-decode-shared-memory
Feb 22, 2025
Merged

hifi-decode: Performance enhancements, Fix head switching interpolation#195
harrypm merged 35 commits intooyvindln:vhs_decodefrom
eshaz:hifi-decode-shared-memory

Conversation

@eshaz
Copy link
Copy Markdown

@eshaz eshaz commented Feb 17, 2025

  • Fixed peak detection issue with head switching interpolation.
    • Hifi-decode processes audio in blocks, and each of these blocks have an overlap to remove an amplitude spike that occurs at the edges of each block. Head switching noise reduction wasn't filtering all of these spikes and this was interfering with the peak detection.
  • Fixed possible divide by zero error in auto fine tune mode
    • Limited the amount of carrier adjustment, preventing it from going to zero.
  • Logging features
    • Logging updates more frequently on each block read and audio output.
    • Logging shows audio latency which is helpful for preview mode / real time rf previewing
  • Use shared memory to transfer data throughout the decode pipeline
  • More usage of Numba optimizations
    • Optimized FM demodulation code
    • Installed rocket-fft to allow Numba fft optimizations.
    • Installed icc_rt for Intel vector intrinsic support for Numba
  • Better handling of the last block so all the output data is flushed at the end.
  • Simplify decoder pipeline. Each process is connected directly together with queues.
  • Removed single threaded decode to simplify the code
  • Better documentation in the code

@eshaz eshaz changed the title hifi-decoder: Performance enhancements, Fix head switching interpolation hifi-decode: Performance enhancements, Fix head switching interpolation Feb 17, 2025
@eshaz eshaz marked this pull request as ready for review February 22, 2025 02:57
@harrypm harrypm merged commit fbabb8f into oyvindln:vhs_decode Feb 22, 2025
@eshaz eshaz deleted the hifi-decode-shared-memory branch March 8, 2025 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants