[FFmpeg-cvslog] [ffmpeg-radio] 12/13: avradio/avformat/sdrdemux: replace heuristic FM scaling by logic

Michael Niedermayer ffmpeg-git at ffmpeg.org
Sat Sep 16 21:38:28 EEST 2023


This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository libavradio.

commit 866804294deb6ccf01ea0ce0429ae91bf2c3e06e
Author:     Michael Niedermayer <michael at niedermayer.cc>
AuthorDate: Sun Jul 30 01:13:48 2023 +0200
Commit:     Michael Niedermayer <michael at niedermayer.cc>
CommitDate: Sun Jul 30 23:12:03 2023 +0200

    avradio/avformat/sdrdemux: replace heuristic FM scaling by logic
    
    Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavformat/sdrdemux.c |  4 +++-
 tests/ref/fate/sdr-fm  | 12 ++++++------
 2 files changed, 9 insertions(+), 7 deletions(-)

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



More information about the ffmpeg-cvslog mailing list