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 63D77448D1 for ; Sun, 30 Oct 2022 19:59:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E1A9A68BD36; Sun, 30 Oct 2022 21:59:38 +0200 (EET) Received: from mail-oo1-f47.google.com (mail-oo1-f47.google.com [209.85.161.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 75CFC68BA2F for ; Sun, 30 Oct 2022 21:59:32 +0200 (EET) Received: by mail-oo1-f47.google.com with SMTP id s1-20020a4a81c1000000b0047d5e28cdc0so1425498oog.12 for ; Sun, 30 Oct 2022 12:59:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=uP4RQRnLTXWTGsNZQKthKoXajN5SmBIYE4ElL5qcl6Q=; b=FzIPfXQz27bnqyA9kYpn63m6cEyG9sL6rdCXhg9koXn58IPGsnweWOHtVUoNer9urN SU9ge9TU20eEEC8LMw05MV9mo+GDsG/sPULm2gi7xyWRGFVQmSb8fqr/yty27UrdZgf/ 7oiNz3mcHD0M5+PbsHJos8toDbkh5nnGzG9mFAa9VRhP+nTaRteq9dKP/9gWXC30TUKB jtLzG5VM55L7jbq93da+9GGw1O8i6EZQdUXOQPyduiQ0YVaRtyutrHacylNs1Tr+Iu+u Tmv+5XbWZfomESVD0ICcYUfzLgDIz7gIfIGni8INKfmoIwkUvocZigb0jTbdB88wosGj aJJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=uP4RQRnLTXWTGsNZQKthKoXajN5SmBIYE4ElL5qcl6Q=; b=PFbz2YtwOumSKTy/K/XYee/sDNLlNMfv10xI1qP6/Jk86biBXwojO/hmj+qXiais9x CPAu+sIdum1KB87zvosXPU0Au+ijK1EY1a6C9E4OOwuW6n8h3RUVRs68BfB4DQhxuiJ/ eErrG7roUbMVvIfpjFTVkcrM6Zd1MyAubdXkTwsvlzNkXieSabhVkGgnabqJlgBenR4Q czcB2606R10Yj5QjpQGiig+3EpZN5fbszQVNAGa6IvXk+llaqxzdbe3ISs9GpLyey82V 1Z9TA/1UNSDKKqfxwJGpJ3jZcoHoBuaeayTXX+UZD7xky/aryfCdlBXiz8lWUR/6kOeX Q4aw== X-Gm-Message-State: ACrzQf2669wGDu6sj836ng53a2orqf+n82VgPhQ7+GgCR64d7dBWhBMx NsydS3fv3pXDgeFzHN3pkNMsCiKZJZE= X-Google-Smtp-Source: AMsMyM68ejkt2zaDyvlL6EnlcAnyi8+S7wR3lkUPPe3n0nn/b+O0nCuY4XrprajPAEOGVzTw44rv5Q== X-Received: by 2002:a4a:a98e:0:b0:49b:4689:cce8 with SMTP id w14-20020a4aa98e000000b0049b4689cce8mr924961oom.38.1667159970560; Sun, 30 Oct 2022 12:59:30 -0700 (PDT) Received: from [192.168.0.13] ([191.97.187.183]) by smtp.gmail.com with ESMTPSA id g52-20020a0568080df400b00359f96eeb47sm988632oic.49.2022.10.30.12.59.29 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 30 Oct 2022 12:59:30 -0700 (PDT) Message-ID: Date: Sun, 30 Oct 2022 16:59:28 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: James Almer In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH] avfilter: add ambisonic decoder filter 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-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 10/30/2022 12:34 PM, Paul B Mahol wrote: > +static const struct { > + const int order; > + const int inputs; > + const int speakers; > + const int near_field; > + const int type; > + const double xover; > + const AVChannelLayout outlayout; > + const double *speakers_azimuth; > + const double *speakers_elevation; > + const double *speakers_distance; > +} ambisonic_tab[] = { > + [MONO] = { > + .order = 0, > + .inputs = 1, > + .speakers = 1, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_MONO, > + .speakers_azimuth = (const double[1]){ 0. }, > + .speakers_distance = (const double[1]){ 1. }, > + }, > + [STEREO] = { > + .order = 1, > + .inputs = 4, > + .speakers = 2, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO, > + .speakers_azimuth = (const double[2]){ -30, 30}, > + .speakers_distance = same_distance, > + }, > + [STEREO_DOWNMIX] = { > + .order = 1, > + .inputs = 4, > + .speakers = 2, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO_DOWNMIX, > + .speakers_azimuth = (const double[2]){ -90, 90 }, > + .speakers_distance = same_distance, > + }, > + [SURROUND] = { > + .order = 1, > + .inputs = 4, > + .speakers = 3, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_SURROUND, > + .speakers_azimuth = (const double[3]){ -45, 45, 0 }, > + .speakers_distance = same_distance, > + }, > + [L2_1] = { > + .order = 1, > + .inputs = 4, > + .speakers = 3, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_2_1, > + .speakers_azimuth = (const double[3]){ -45, 45, 180 }, > + .speakers_distance = same_distance, > + }, > + [TRIANGLE] = { > + .order = 1, > + .inputs = 4, > + .speakers = 3, > + .type = 1, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_SURROUND, Given the angles below, this should be FC+BL+BR. > + .speakers_azimuth = (const double[3]){ -120, 120, 0 }, > + .speakers_distance = same_distance, > + }, > + [QUAD] = { > + .order = 1, > + .inputs = 4, > + .speakers = 4, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_QUAD, > + .speakers_azimuth = (const double[4]){ -45, 45, -135, 135 }, > + .speakers_distance = same_distance, > + }, > + [SQUARE] = { > + .order = 1, > + .inputs = 4, > + .speakers = 4, > + .type = 1, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_4POINT0, > + .speakers_azimuth = (const double[4]){ 0, -90, 180, 90 }, Probably FC+BC+SL+SR. > + .speakers_distance = same_distance, > + }, > + [L4_0] = { > + .order = 1, > + .inputs = 4, > + .speakers = 4, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_4POINT0, > + .speakers_azimuth = (const double[4]){ -30, 30, 0, 180 }, > + .speakers_distance = same_distance, > + }, > + [L5_0] = { > + .order = 1, > + .inputs = 4, > + .speakers = 5, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_5POINT0_BACK, > + .speakers_azimuth = (const double[5]){ -30, 30, 0, -145, 145 }, > + .speakers_distance = same_distance, > + }, > + [L5_0_SIDE] = { > + .order = 1, > + .inputs = 4, > + .speakers = 5, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_5POINT0, > + .speakers_azimuth = (const double[5]){ -30, 30, 0, -110, 110 }, > + .speakers_distance = same_distance, > + }, > + [L6_0] = { > + .order = 1, > + .inputs = 4, > + .speakers = 6, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_6POINT0, > + .speakers_azimuth = (const double[6]){ -30, 30, 0, 180, -110, 110 }, > + .speakers_distance = same_distance, > + }, > + [L7_0] = { > + .order = 1, > + .inputs = 4, > + .speakers = 7, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT0, > + .speakers_azimuth = (const double[7]){ -30, 30, 0, -145, 145, -110, 110 }, > + .speakers_distance = same_distance, > + }, > + [TETRA] = { > + .order = 1, > + .inputs = 4, > + .speakers = 4, > + .type = 2, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_QUAD, > + .speakers_azimuth = (const double[4]){ -90, 90, 0, 180 }, Either SL+SR+TFC+TBC or FC+BC+TSL+TSR, depending on which channels are at the top. > + .speakers_elevation = (const double[4]){ -35.3, -35.3, 35.3, 35.3 }, > + .speakers_distance = same_distance, > + }, > + [CUBE] = { > + .order = 1, > + .inputs = 4, > + .speakers = 8, > + .type = 2, > + .near_field = NF_NONE, > + .xover = 0., > + .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_7POINT1, > + .speakers_azimuth = cube_azimuth, > + .speakers_elevation = cube_elevation, > + .speakers_distance = same_distance, > + }, > +}; _______________________________________________ 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".