From patchwork Sun Jul 30 22:11:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 43039 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7927:b0:130:ccc6:6c4b with SMTP id b39csp2030801pzg; Sun, 30 Jul 2023 15:13:21 -0700 (PDT) X-Google-Smtp-Source: APBJJlGvPx5cpQzupHUlon4pqTlwN3vGzYSJ2OYnagD4+92IS2grRxGakk2cDxW1F7E/IV7px/K2 X-Received: by 2002:a17:906:1003:b0:992:ef60:aadd with SMTP id 3-20020a170906100300b00992ef60aaddmr5477811ejm.13.1690755200873; Sun, 30 Jul 2023 15:13:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690755200; cv=none; d=google.com; s=arc-20160816; b=Q34yb9TTMxKVa6PvQVG3MK0+hnSwtecwu8LfwJNORjT2i7a+CNWDHVIh+jysxMjxwx Hib32sp0xXDml63z2D892+a+BqdEE+HqM9cReKEeTwZvGJ0cO5Hybwq+koK6gDd9yS9y /X2rppPBsT4U8PawCXPphsxA9ZB63aMuJju4xZRC8xB0KjJIXkEMeGYbnwQ0dAqa1Ckb THaPzFvJssS1wBOaqMzWNLxrZ8jCPN8/dapS1FDwSdeVJObJbl4C8wP/XGpKH8geXyJX 8f5N0n7Ol5aaC6kQPMeHpXKG8GWSeU+qYm1mll7+BO0PU7MfBdItnvhUbsVFcGMhb9C4 RsYg== 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=9dDyZRILWEtT3c3kRKc92VP+4tQVu/DEvpUifhv505w=; fh=YYwLYmpaV0Fpw/rxmSKNRLS2XzDkAlGbHATiKOPtZrY=; b=aFNCcWdTC/CRs1c4bkK4pLh/5OnoWMiH/JgPfymXp/RTlw7tVFGpmG3zfGSuKGr3Hr wB6dJuxb/MRNKhsWBLkKTcBza4+JBFS8I3Gala8xWJ0CMeUe1oCSniGvT9BYR1TQK3oV JbzFm9vn4l9MndbZocStdkcch8h6JUYvdJhJMXosOjRAzq1vFpXch0/QRmWX9JDGKH4l OPp77HMzer/fNmkdaT4yo3ZyeUB1WWjWD7nWn5IYEHd7KvDDe35jxg0AmVqUcD8MH49F v5vD4AopHS2T3/Whisi+yXQF4S2miIDTtEnpQDChZC/1cFfxZeRaIFvjEM/n0iEbQjic lKxQ== 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 r15-20020a1709067fcf00b0099b7f483374si1458171ejs.183.2023.07.30.15.13.20; Sun, 30 Jul 2023 15:13:20 -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 5CF7868C5AA; Mon, 31 Jul 2023 01:11:54 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay1-d.mail.gandi.net (relay1-d.mail.gandi.net [217.70.183.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B9C8568C58E for ; Mon, 31 Jul 2023 01:11:48 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id 072E2240005 for ; Sun, 30 Jul 2023 22:11:47 +0000 (UTC) From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Mon, 31 Jul 2023 00:11:31 +0200 Message-Id: <20230730221131.1205193-12-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 12/12] avradio/avformat/sdrdemux: replace heuristic FM scaling by logic 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: M6a2JhRQzDC9 Signed-off-by: Michael Niedermayer --- 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; ifm_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