From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 1EAC545435 for ; Sun, 30 Jul 2023 22:12:41 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9B3A568C5A0; Mon, 31 Jul 2023 01:11:49 +0300 (EEST) Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8C0A168C55F for ; Mon, 31 Jul 2023 01:11:46 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id D462DC0002 for ; Sun, 30 Jul 2023 22:11:45 +0000 (UTC) From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Mon, 31 Jul 2023 00:11:29 +0200 Message-Id: <20230730221131.1205193-10-michael@niedermayer.cc> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230730221131.1205193-1-michael@niedermayer.cc> References: <20230730221131.1205193-1-michael@niedermayer.cc> MIME-Version: 1.0 X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH 10/12] avradio/avformat/sdrdemux: fix off by 2 FM bandwidth error X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Also adjust related parameters Signed-off-by: Michael Niedermayer --- libavformat/sdrdemux.c | 8 ++++---- tests/ref/fate/sdr-am | 25 ++++++++++++------------- tests/ref/fate/sdr-fm | 14 +++++++------- 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/libavformat/sdrdemux.c b/libavformat/sdrdemux.c index 0e327f4860..a40346ff31 100644 --- a/libavformat/sdrdemux.c +++ b/libavformat/sdrdemux.c @@ -704,7 +704,7 @@ static int demodulate_am(SDRContext *sdr, Station *station, AVStream *st, AVPack double freq = station->frequency; int64_t bandwidth = station->bandwidth; int index = lrint(F2INDEX(freq)); - int len = (bandwidth * 2ll * sdr->block_size + sdr->sdr_sample_rate/2) / sdr->sdr_sample_rate; + int len = (bandwidth * 1ll * sdr->block_size + sdr->sdr_sample_rate/2) / sdr->sdr_sample_rate; float *newbuf; float scale; int sample_rate = sdr->sdr_sample_rate * (int64_t)sdr->am_block_size / sdr->block_size; @@ -1030,7 +1030,7 @@ static int demodulate_fm(SDRContext *sdr, Station *station, AVStream *st, AVPack double freq = station->frequency; int64_t bandwidth = station->bandwidth; int index = lrint(F2INDEX(freq)); - int len = (bandwidth * 2ll * sdr->block_size + sdr->sdr_sample_rate/2) / sdr->sdr_sample_rate; + int len = (bandwidth * 1ll * sdr->block_size + sdr->sdr_sample_rate/2) / sdr->sdr_sample_rate; float *newbuf; float scale; int sample_rate = sdr->sdr_sample_rate * (int64_t)sdr->fm_block_size / sdr->block_size; @@ -1687,11 +1687,11 @@ int avpriv_sdr_common_init(AVFormatContext *s) av_log(s, AV_LOG_INFO, "Block size %d\n", sdr->block_size); sdr->block_time = sdr->block_size / (double)sdr->sdr_sample_rate; - sdr->am_bandwidth = 6 * 1000; + sdr->am_bandwidth = 12 * 1000; sdr->fm_bandwidth = 180 * 1000; sdr->fm_bandwidth_p2 = 16.5 * 1000; // Officially Stereo Broadcast FM has 15khz audio bandwidth - sdr->am_block_size = find_block_size(sdr, sdr->am_bandwidth); + sdr->am_block_size = find_block_size(sdr, sdr->am_bandwidth / 2); sdr->fm_block_size = find_block_size(sdr, sdr->fm_bandwidth); sdr->fm_block_size_p2 = find_block_size(sdr, sdr->fm_bandwidth_p2); diff --git a/tests/ref/fate/sdr-am b/tests/ref/fate/sdr-am index e2ae353902..992ec1936d 100644 --- a/tests/ref/fate/sdr-am +++ b/tests/ref/fate/sdr-am @@ -30,18 +30,17 @@ #channel_layout_name 5: stereo 0, 0, 0, 1, 320000, 0x816a0964 0, 1, 1, 1, 320000, 0x140ce2da -1, 2048, 2048, 1024, 2048, 0x4d31ff0f -2, 2048, 2048, 1024, 2048, 0x3cd002ad -3, 2048, 2048, 1024, 2048, 0x8bdd034d -4, 2048, 2048, 1024, 2048, 0xc6430169 -1, 3072, 3072, 1024, 2048, 0xb307000d -2, 3072, 3072, 1024, 2048, 0x3f6d01d4 -3, 3072, 3072, 1024, 2048, 0x2de9fde9 -4, 3072, 3072, 1024, 2048, 0xad7efe6f +1, 2048, 2048, 1024, 2048, 0x3cd002ad +2, 2048, 2048, 1024, 2048, 0x8bdd034d +3, 2048, 2048, 1024, 2048, 0xc6430169 +1, 3072, 3072, 1024, 2048, 0x3f6d01d4 +2, 3072, 3072, 1024, 2048, 0x2de9fde9 +3, 3072, 3072, 1024, 2048, 0xad7efe6f +4, 3072, 3072, 1024, 2048, 0x2c18fef7 5, 3072, 3072, 1024, 2048, 0x9c840168 -1, 4096, 4096, 1024, 2048, 0x7e7cfe03 -2, 4096, 4096, 1024, 2048, 0x6561fc7b -3, 4096, 4096, 1024, 2048, 0xdcd6ff8d -4, 4096, 4096, 1024, 2048, 0xedac0493 +1, 4096, 4096, 1024, 2048, 0x6561fc7b +2, 4096, 4096, 1024, 2048, 0xdcd6ff8d +3, 4096, 4096, 1024, 2048, 0xedac0493 +4, 4096, 4096, 1024, 2048, 0x7e7cfe03 5, 4096, 4096, 1024, 2048, 0x970a0066 -0, 3, 3, 1, 320000, 0x6ea8fa49 +0, 3, 3, 1, 320000, 0x76d901a2 diff --git a/tests/ref/fate/sdr-fm b/tests/ref/fate/sdr-fm index 3ae5adc2c0..97a2320a2a 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, 0x585d090e -2, 8196, 8196, 4096, 8192, 0xb966fb19 -1, 12292, 12292, 4096, 8192, 0x6d8ffe6e -2, 12292, 12292, 4096, 8192, 0x51d1fb50 +1, 8196, 8196, 4096, 8192, 0x4af5090c +2, 8196, 8196, 4096, 8192, 0x8e43fafd +1, 12292, 12292, 4096, 8192, 0x39fbfe6a +2, 12292, 12292, 4096, 8192, 0x7febfb59 0, 3, 3, 1, 320000, 0xf8b7b144 -1, 16388, 16388, 4096, 8192, 0x8c000600 -2, 16388, 16388, 4096, 8192, 0x335ff20c -0, 4, 4, 1, 320000, 0xab42bbc7 +1, 16388, 16388, 4096, 8192, 0x886a05fe +2, 16388, 16388, 4096, 8192, 0x0b2cf20d +0, 4, 4, 1, 320000, 0xf3a3bf66 -- 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".