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 E723244180 for ; Sun, 30 Oct 2022 16:15:38 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 10F9068BD40; Sun, 30 Oct 2022 18:15:37 +0200 (EET) Received: from mail-ot1-f41.google.com (mail-ot1-f41.google.com [209.85.210.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AE69E68BD05 for ; Sun, 30 Oct 2022 18:15:30 +0200 (EET) Received: by mail-ot1-f41.google.com with SMTP id v40-20020a056830092800b00661e37421c2so5631140ott.3 for ; Sun, 30 Oct 2022 09:15:30 -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:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=EkLLii73bqttuD9mCAJ/5fwEVShFdtr7yzQXOKPeZVc=; b=bt2vitYNX00rQgJsOixifeUk/cQJP8oXnE3D5fXlLbJz4KMa5CeLA4Lvle2T+aNhOZ JOHGufzZN3PnrhHziwOjFVDcrDOB+4xOgau0afKE89ZmCDWqvopfxundrqqOGSDjG2OY /87STn/sGhMQBjyV6hLscoT942QmVL5OSlnsAk9TwQck06F7GpB0cgQcxHQ11XNvC2+k hohSt0j3+ouhwOCnNu028xBVHb9d1PraFSODFJuJYyd2MycnEwwF9OeCo8zieFd9Wlz+ yDRAyKC5moPIo1FuJoiADG83ngQIB/MKHz8vvCMHgVsENxPRoysgL8XGEBlw7gwAVyN+ 5skg== 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:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EkLLii73bqttuD9mCAJ/5fwEVShFdtr7yzQXOKPeZVc=; b=1uF6us05hWp2lqsgweabqRPwHiv2qtqgFjp6DEKjisLS4C/WAEDxjE82+wNXgnmY5X HG2xUewuMa9yZbzlInY6Mn252ATGTxsKpXMxl2Jrutkdob/QV/E8+3WTRNUdca+h4J/K C0GPdZJN8jvyLCZC1IaASGuBrmikmp8q7Ae/7rcWhugllw+jxBpasTn7LGCUNpQaGqoS yL/mi/oHB4TrXpXC1UgtAwRmGnKe7RaNQSGGcXSZDFGOKT3gbPqx4CusAproo8oNkwU4 0ncH3BRGliIncD9JIp011vTFcywCjTRHUSS5i+X1VL/H9QNGdMROYynS/dSDXEP2Wf52 f2cQ== X-Gm-Message-State: ACrzQf3RRszr/XQ3YVbkQt+OlWRzvJ8+WIXuLslCvmRbp+lQFjtNDFAw BZeSAq6Co0f/e+cRNwatKpkIX4/XhyQ= X-Google-Smtp-Source: AMsMyM7hVmDqs5KOcOY0B7ggXJcCyT6hNbMV/lBk3No6YFXFuVmGJMGPTY+BYIniKBnXJC998icFqw== X-Received: by 2002:a05:6830:348c:b0:669:895a:5044 with SMTP id c12-20020a056830348c00b00669895a5044mr4513103otu.372.1667146528856; Sun, 30 Oct 2022 09:15:28 -0700 (PDT) Received: from [192.168.0.13] ([191.97.187.183]) by smtp.gmail.com with ESMTPSA id h14-20020a4adcce000000b00499527def25sm1527362oou.47.2022.10.30.09.15.27 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 30 Oct 2022 09:15:28 -0700 (PDT) Message-ID: <103b6b6c-5c56-2af7-bde6-1e1706d21930@gmail.com> Date: Sun, 30 Oct 2022 13:15:27 -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 To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US 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, > + .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 }, > + .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 }, > + .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, 7.1 defines an LFE channel, which is clearly not intended here, so it should be either: .outlayout = (AVChannelLayout)AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_QUAD | AV_CH_TOP_FRONT_LEFT | AV_CH_TOP_FRONT_RIGHT | AV_CH_TOP_BACK_LEFT | AV_CH_TOP_BACK_RIGHT), Or the AV_CHANNEL_LAYOUT_CUBE layout (using the exact same bitmask as above) after the patch i sent just now is committed. > + .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".