Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

27 рядки
744B

  1. package recorder
  2. import (
  3. "log"
  4. "sdr-visual-suite/internal/demod/gpudemod"
  5. )
  6. func tryGPUAudio(gpu *gpudemod.Engine, label string, iq []complex64, offset float64, bw float64, gpuMode gpudemod.DemodType) ([]float32, int, bool) {
  7. if gpu == nil {
  8. return nil, 0, false
  9. }
  10. if gpuAudio, gpuRate, err := gpu.DemodFused(iq, offset, bw, gpuMode); err == nil {
  11. // fused GPU demod OK
  12. return gpuAudio, gpuRate, true
  13. } else {
  14. log.Printf("gpudemod: fused GPU demod failed (%s): %v", label, err)
  15. }
  16. if gpuAudio, gpuRate, err := gpu.Demod(iq, offset, bw, gpuMode); err == nil {
  17. // legacy GPU demod OK
  18. return gpuAudio, gpuRate, true
  19. } else {
  20. log.Printf("gpudemod: legacy GPU demod failed (%s): %v", label, err)
  21. }
  22. return nil, 0, false
  23. }