diff mbox series

[FFmpeg-devel,12/12] avradio/avformat/sdrdemux: replace heuristic FM scaling by logic

Message ID 20230730221131.1205193-12-michael@niedermayer.cc
State New
Headers show
Series [FFmpeg-devel,01/12] avradio/avformat/sdrdemux: Move agc_gain into local variable | expand

Checks

Context Check Description
andriy/configure_x86 warning Failed to apply patch
yinshiyou/configure_loongarch64 warning Failed to apply patch

Commit Message

Michael Niedermayer July 30, 2023, 10:11 p.m. UTC
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavformat/sdrdemux.c |  4 +++-
 tests/ref/fate/sdr-fm  | 12 ++++++------
 2 files changed, 9 insertions(+), 7 deletions(-)
diff mbox series

Patch

diff --git a/libavformat/sdrdemux.c b/libavformat/sdrdemux.c
index bda7387213..f8590a2e18 100644
--- a/libavformat/sdrdemux.c
+++ b/libavformat/sdrdemux.c
@@ -1135,7 +1135,9 @@  static int demodulate_fm(SDRContext *sdr, Station *station, AVStream *st, AVPack
     if (!newbuf)
         return AVERROR(ENOMEM);
 
-    scale      = 5 / (M_PI * 2*sdr->fm_block_size);
+    //ATAN gives us +-PI the following 2 transforms scale by the given values, we reverse this here
+    scale = 1.0 / (M_PI * sqrt(2*sdr->fm_block_size * 2*sdr->fm_block_size_p2));
+
     for(i = 0; i<sdr->fm_block_size_p2; i++) {
         float m, q;
 
diff --git a/tests/ref/fate/sdr-fm b/tests/ref/fate/sdr-fm
index ef76e4f584..526f53a2bd 100644
--- a/tests/ref/fate/sdr-fm
+++ b/tests/ref/fate/sdr-fm
@@ -15,11 +15,11 @@ 
 #channel_layout_name 2: stereo
 0,          0,          0,        1,   320000, 0xf553af75
 0,          1,          1,        1,   320000, 0xeabc15b3
-1,       8196,       8196,     4096,     8192, 0xdd0d10be
-2,       8196,       8196,     4096,     8192, 0x98c4f547
-1,      12292,      12292,     4096,     8192, 0xaf58fbdc
-2,      12292,      12292,     4096,     8192, 0x6d53f60a
+1,       8196,       8196,     4096,     8192, 0x12b50769
+2,       8196,       8196,     4096,     8192, 0xeb93fbff
+1,      12292,      12292,     4096,     8192, 0xba21feb7
+2,      12292,      12292,     4096,     8192, 0x3ef2fc7b
 0,          3,          3,        1,   320000, 0xf8b7b144
-1,      16388,      16388,     4096,     8192, 0x03640b38
-2,      16388,      16388,     4096,     8192, 0x1216e352
+1,      16388,      16388,     4096,     8192, 0xdea20516
+2,      16388,      16388,     4096,     8192, 0x7538f52b
 0,          4,          4,        1,   320000, 0xf3a3bf66