Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 1/6] avradio/sdrinradio: Check tuner before applying rtlsdr frequency correction
@ 2023-07-24 18:35 Michael Niedermayer
  2023-07-24 18:35 ` [FFmpeg-devel] [PATCH 2/6] avradio/sdr: Factor bug workaround detection code out Michael Niedermayer
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Michael Niedermayer @ 2023-07-24 18:35 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavradio/sdrinradio.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/libavradio/sdrinradio.c b/libavradio/sdrinradio.c
index c24a30d746..5c14250f8c 100644
--- a/libavradio/sdrinradio.c
+++ b/libavradio/sdrinradio.c
@@ -103,6 +103,7 @@ static int64_t sdrindev_set_frequency_callback(SDRContext *sdr, int64_t freq)
     SoapySDRDevice *soapy = sdr->soapy;
     if (soapy) {
         if (sdr->rtlsdr_fixes>0) {
+            AVDictionaryEntry *e = av_dict_get(sdr->driver_dict, "tuner", NULL, 0);
             // The official unmodified RTLSDR needs to be put in Direct sampling Q-ADC mode below 24Mhz and non direct sampling above
             const char *value = freq < 24000000 ? "2" : "0";
             if (!sdr->current_direct_samp || strcmp(value, sdr->current_direct_samp)) {
@@ -112,12 +113,14 @@ static int64_t sdrindev_set_frequency_callback(SDRContext *sdr, int64_t freq)
                 } else
                     sdr->current_direct_samp = value;
             }
-            //The R820T has a 16 bit fractional PLL which can do only multiplies of 439.45
-            //Its more complex but this approximation works
-            //It has to be noted that SOAPY does not tell us about this, instead saopy
-            //pretends whatever we ask for we get exactly, but we dont
-            //For more details see: michelebavaro.blogspot.com/2014/05/gnss-carrier-phase-rtlsdr-and.html
-            freq = lrint(freq / 439.45) * 439.45;
+            if (e && strstr(e->value, "R820T")) {
+                //The R820T has a 16 bit fractional PLL which can do only multiplies of 439.45
+                //Its more complex but this approximation works
+                //It has to be noted that SOAPY does not tell us about this, instead saopy
+                //pretends whatever we ask for we get exactly, but we dont
+                //For more details see: michelebavaro.blogspot.com/2014/05/gnss-carrier-phase-rtlsdr-and.html
+                freq = lrint(freq / 439.45) * 439.45;
+            }
         }
 
         if (SoapySDRDevice_setFrequency(soapy, SOAPY_SDR_RX, 0, freq, NULL) != 0) {
-- 
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".

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-07-27 20:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-24 18:35 [FFmpeg-devel] [PATCH 1/6] avradio/sdrinradio: Check tuner before applying rtlsdr frequency correction Michael Niedermayer
2023-07-24 18:35 ` [FFmpeg-devel] [PATCH 2/6] avradio/sdr: Factor bug workaround detection code out Michael Niedermayer
2023-07-24 18:35 ` [FFmpeg-devel] [PATCH 3/6] avradio/sdrdemux: Call ff_sdr_autodetect_workarounds() from common init Michael Niedermayer
2023-07-24 18:35 ` [FFmpeg-devel] [PATCH 4/6] avradio/sdrdemux: Skiping detection of AM stations at DC point Michael Niedermayer
2023-07-24 18:35 ` [FFmpeg-devel] [PATCH 5/6] avradio/sdrinradio: apply R820T correction only for non direct mode Michael Niedermayer
2023-07-24 18:35 ` [FFmpeg-devel] [PATCH 6/6] avradio/sdr: Add am_multiple parameter to allow restricting detected AM stations Michael Niedermayer
2023-07-27 20:18 ` [FFmpeg-devel] [PATCH 1/6] avradio/sdrinradio: Check tuner before applying rtlsdr frequency correction Michael Niedermayer

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