From: Michael Niedermayer <michael@niedermayer.cc> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: [FFmpeg-devel] [PATCH 03/18] avradio/sdr: Add fm multiple parameter Date: Sat, 8 Jul 2023 23:25:15 +0200 Message-ID: <20230708212530.109692-3-michael@niedermayer.cc> (raw) In-Reply-To: <20230708212530.109692-1-michael@niedermayer.cc> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- doc/demuxers.texi | 7 +++++++ libavradio/sdr.h | 1 + libavradio/sdrdemux.c | 9 +++++++++ 3 files changed, 17 insertions(+) diff --git a/doc/demuxers.texi b/doc/demuxers.texi index 81c46ce08f..86f031b9ed 100644 --- a/doc/demuxers.texi +++ b/doc/demuxers.texi @@ -965,6 +965,13 @@ it can also result in the detection of SDR artifacts such as reflections of stro as weak stations. Future versions may be better able to separate weak stations from artifacts looking like weak stations. +@item fm_multiple +Multiple of frequency in hz at which to search for stations. +you can set this to 100000 to probe stations at 0.1MHz increments +Most SDR artifacts are not at exact multiplies, this is thus an effective +way to eliminate these artifacts. +disabled by default. + @item am_mode AM Demodulation method. Several different methods are supported. @table @samp diff --git a/libavradio/sdr.h b/libavradio/sdr.h index 1053e45efe..ff4bfcaa1f 100644 --- a/libavradio/sdr.h +++ b/libavradio/sdr.h @@ -159,6 +159,7 @@ typedef struct SDRContext { float am_threshold; float fm_threshold; + float fm_multiple; pthread_t hw_thread; int thread_started; diff --git a/libavradio/sdrdemux.c b/libavradio/sdrdemux.c index 1f2d778978..13cec10505 100644 --- a/libavradio/sdrdemux.c +++ b/libavradio/sdrdemux.c @@ -915,6 +915,14 @@ static int probe_fm(SDRContext *sdr) if (fabs(f2 - f) > 1000) continue; + + if (sdr->fm_multiple) { + double f3 = lrint(f2 / sdr->fm_multiple) * sdr->fm_multiple; + if (fabs(f2 - f3) > FM_FREQ_TOLERANCE) + continue; + f2 = f3; + } + create_candidate_station(sdr, FM, f2, bandwidth_f, bandwidth_p2, score); } } @@ -2169,6 +2177,7 @@ const AVOption avpriv_sdr_options[] = { { "am_threshold" , "AM detection threshold", OFFSET(am_threshold), AV_OPT_TYPE_FLOAT, {.dbl = 20}, 0, FLT_MAX, DEC}, { "fm_threshold" , "FM detection threshold", OFFSET(fm_threshold), AV_OPT_TYPE_FLOAT, {.dbl = 50}, 0, FLT_MAX, DEC}, + { "fm_multiple" , "FM frequency mutiple", OFFSET(fm_multiple ), AV_OPT_TYPE_FLOAT, {.dbl = 0}, 0, FLT_MAX, DEC}, { NULL }, }; -- 2.31.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2023-07-08 21:26 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-07-08 21:25 [FFmpeg-devel] [PATCH 01/18] avradio/sdrdemux: Fix uninitialized access Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 02/18] avradio/sdrdemux: factor frequency tolerance constants out Michael Niedermayer 2023-07-08 21:25 ` Michael Niedermayer [this message] 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 04/18] avradio/sdrinradio: Dont automatically select 2.56Mhz on the rtlsdr Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 05/18] avradio/sdrdemux: Do not timeout negative stations Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 06/18] avradio/sdrinradio: Factor print_and_free_list() out Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 07/18] avradio/sdrinradio: Print list of Time Sources Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 08/18] avradio: split out vissualization code Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 09/18] avradio/sdrdemux: The RTLSDR DC artifact is not consistent Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 10/18] avradio/sdr: eliminate avpriv_* Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 11/18] avradio/vissualize: rotate waterfall Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 12/18] avradio/sdrdemux: Set AVFMTCTX_NOHEADER Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 13/18] avradio/sdrdemux: fix bug adding candidate stations and then crashing Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 14/18] avradio/sdrdemux: fm_probe: dont allow bandwidh=sample rate Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 15/18] doc: add sdr examples Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 16/18] avradio/sdr: rename fft_p2 Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 17/18] avradio/sdrdemux: more correct phase 2 bandwidth of FM demodulation Michael Niedermayer 2023-07-08 21:25 ` [FFmpeg-devel] [PATCH 18/18] avradio/sdrdemux: Fix DC offset issue in AM demodulation Michael Niedermayer 2023-07-09 23:43 ` [FFmpeg-devel] [PATCH 01/18] avradio/sdrdemux: Fix uninitialized access Michael Niedermayer
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230708212530.109692-3-michael@niedermayer.cc \ --to=michael@niedermayer.cc \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git