From patchwork Sun Jul 30 22:11:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 43035 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7927:b0:130:ccc6:6c4b with SMTP id b39csp2030567pzg; Sun, 30 Jul 2023 15:12:44 -0700 (PDT) X-Google-Smtp-Source: APBJJlFA5lvKalNVFLrbyCasWWpjzEL2R4/H8RAqTMg9vu8pWT5U/FqGZSgw129n9H/pkI0+wHNZ X-Received: by 2002:a17:907:7799:b0:992:b3a3:81f4 with SMTP id ky25-20020a170907779900b00992b3a381f4mr5076879ejc.50.1690755164005; Sun, 30 Jul 2023 15:12:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690755163; cv=none; d=google.com; s=arc-20160816; b=yPy5ctECaREE4IBPVMtiHVGN3FzT9dYEbRU7bjjE+mx9qJ4Ik7AA8tEeHUwMtiPBcy BRJaOMPC81iM+SyrcV4wR8ltL35XlJeSMyXAmXC2y9nGgbn+O4aB5thYWn/8lJEYOhav /PiCbLWdgAQ72keZTyZJieVoTcvVzEHVid+kSVce9XMcWbRRuZiWAasReBpgefJuw6jd UCra8QWH9tBuQwfM3xnwstaJ1ZutUhC3+VwhpcGbZgfN81bbqS2LLEsvzTz4tlXnDHXA QDgSzdRpwnP0K6kRS9w+hYhKkBJJ/gH+3VSq30JMXLt53OgQ/f9GFkTt8Q35hUJ1d1tZ U80g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=w53o0mFpj+dadHaZGlAE9q6oA3ViekhsmKodHXSmY4U=; fh=YYwLYmpaV0Fpw/rxmSKNRLS2XzDkAlGbHATiKOPtZrY=; b=NCuv9xyNV6MOSkeeVCaphCdZ5MksxWmt9lJcoZ634D9R7iHSWZz00CEP2ZbQOi1QgH a48XECmgj5q6HKXS3ECAX9NLqZWK4zYMduCdVZlf+LsUNo7ezoqQvG0BahIvh3cIRZaU Jvoo9823bV9MWXboLM/1O1/I20gga8n3UidW4hCP+jcoDMc7JKYRdaYrbBMIJyW01QPb sBqNJnwN/UeWhp7LuE+QQ8MYNzw4fuN1pgesi/lJXLLY58KX2qJmN+Dssr+qWJmVTcGB DFwzaTqMhjQs2EZoINIWlA+WSHd6XJBHL90jCrMvZGCZpnoXESNinzAAjtGF+EqkHAyw uiIQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id qu17-20020a170907111100b0098889bf7f86si6283766ejb.315.2023.07.30.15.12.43; Sun, 30 Jul 2023 15:12:43 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EA66368C5A6; Mon, 31 Jul 2023 01:11:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: /j9knMxGUuVN 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