[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