From patchwork Wed Oct 18 19:19:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Wolcott X-Patchwork-Id: 44294 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:2a09:b0:15d:8365:d4b8 with SMTP id e9csp100844pzh; Wed, 18 Oct 2023 12:20:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEtU3gEoz9ZwQUzQf6Ca+Nyi4b3sjgUhhUHphDrWsJIWq8JahYyMksaEbzqz4Vl7/uECYgo X-Received: by 2002:a05:6402:40c4:b0:53e:5dad:dce7 with SMTP id z4-20020a05640240c400b0053e5daddce7mr5454032edb.29.1697656824568; Wed, 18 Oct 2023 12:20:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697656824; cv=none; d=google.com; s=arc-20160816; b=GCpnck4OTXeCxRH8Cu2zifAA1Vwum6N2KdqxumHo38GelZGXJlCifel+JNSRDT0TNq E2ku2qZQ4vdsiKhfrOMC+lpkNGtgeJ08165amwxzDAPmCy0KjSsmZBfp0muExKw86yFh QUGx3uh1hYHeG2LP8oEOouGJCJ2LZqXsMTq/kD57Q3Na2ElVRNb9PaqxBQVr3ds+Z8kM qdS+y61jsi1IiOCb1oqJ92B9L0lfXdj77z5tAZlQ8K9cGhsCTN8i9Pq+LfUJ8MvR/2jc OFxpV1wFyiudr1+7IzL5fX+V104+Je8UkEw43nKn6AqYbOdkE+PdytG9/d4oegOhnc2q h19w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to:from :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:message-id:date:mime-version :delivered-to; bh=B8vPgTZNzENy3tesT8thohlvTgRKniaEslACQR1FmPI=; fh=6V+FNciKpFbxdyMznheATgopbKINyqiQMglea0n0b6A=; b=aFM0LzX1wzNklKxaNsMiu1sqwGoDOvR7G0n2qOT3Lk7Yz3Hfb5huIjj3uwy7g8Ilft bGVaAH+8O+0ZNAyqh/IYAWg6kwWHBH30Apqq3/RcVmh0vzqVwY7WvAGPcWyZwOYbs9qT hp8ErhjMeBnmanGYE1TVWNFBbjXEcrEMmVv8RRMSdh2R8R10t0FCO3ccPdVgmBBkHlej aj3Q42qWAdCDWhNeecml8mCAHeIhzLb2ab50yp+ugikWsSPEzh1xsKTfHWqc9z4OQkze pBNXjbxl60YpJHwK69SUOsxlXWkL1z3AtmitNJGz3/dJKW57X6nRc5gqUkbnmJ747ZZ1 NGoQ== 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 f22-20020a50d556000000b005349082cc56si1964563edj.221.2023.10.18.12.20.24; Wed, 18 Oct 2023 12:20:24 -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 CB51368CA7F; Wed, 18 Oct 2023 22:19:59 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DC44E68C9A7 for ; Wed, 18 Oct 2023 22:19:52 +0300 (EEST) Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-507ad511315so5231700e87.0 for ; Wed, 18 Oct 2023 12:19:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697656791; x=1698261591; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=wYDTGj6oPa5kg+j1PqMT0f0filDIfpKLqAtVuDqJkgQ=; b=oSlOpVpE5aitgzm37mPTYxw2a3x4hMI3kQ2XHiyNXdz7L6vuKEPiHeYOqOCir5p0N1 f8EcorDQxUvNshITfbfpUIb1SlqEzWDSDOsuk7P3mNaosAjDURk0dBtWPC/jWZ8bIGv1 WgHdFBOdWEsM33Ej+Jna/wlahV3DD/xyJU6CjiBC5iB8ZL/C1/6UYvHsF6exZWvTbuhF YJlX4ZHXfDg8uLho0Wk2zzZjZt/0y5OVrHD0j5BZ/d2CUFsQXljqLK+/8So6Wq/K8Bis iFJ7QIbQY+w4wBUTjhwHxIvNJi0Q4iQQFDJ0IdR6DqQzqV+TRjHqtssWLGn4FHu1qFbM OaBg== X-Gm-Message-State: AOJu0Yy5ro0M7MydJMwZL1tTHjpSHya32mPieIx2TZtuGwz79I1yJcsz gAqsh+dLC6W01nIj/g+QNZgfoOMEdkp9bQHG/zLdvNhXwiJripf20hRQig== X-Received: by 2002:a19:4f04:0:b0:503:3447:b704 with SMTP id d4-20020a194f04000000b005033447b704mr1614lfb.0.1697656791182; Wed, 18 Oct 2023 12:19:51 -0700 (PDT) MIME-Version: 1.0 Date: Wed, 18 Oct 2023 12:19:40 -0700 Message-ID: To: ffmpeg-devel@ffmpeg.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH] Add a 7.1.4 channel layout 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: , X-Patchwork-Original-From: Will Wolcott via ffmpeg-devel From: Will Wolcott Reply-To: FFmpeg development discussions and patches Cc: Will Wolcott Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: F6/t5NjMyrnu Signed-off-by: Will Wolcott --- doc/utils.texi | 2 ++ libavutil/channel_layout.c | 1 + libavutil/channel_layout.h | 2 ++ libavutil/version.h | 2 +- tests/ref/fate/channel_layout | 1 + 5 files changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/utils.texi b/doc/utils.texi index 8e8bfa76d4..c67ae6f6c6 100644 --- a/doc/utils.texi +++ b/doc/utils.texi @@ -715,6 +715,8 @@ FL+FR+FC+LFE+BL+BR+FLC+FRC FL+FR+FC+LFE+FLC+FRC+SL+SR @item 7.1(top) FL+FR+FC+LFE+BL+BR+TFL+TFR +@item 7.1.4 +FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR @item octagonal FL+FR+FC+BL+BR+BC+SL+SR @item cube diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index 9b581ae6b3..a2c4eff5f4 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -201,6 +201,7 @@ static const struct channel_layout_name channel_layout_map[] = { { "7.1(wide)", AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK }, { "7.1(wide-side)", AV_CHANNEL_LAYOUT_7POINT1_WIDE }, { "7.1(top)", AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK }, + { "7.1.4", AV_CHANNEL_LAYOUT_7POINT1POINT4 }, { "octagonal", AV_CHANNEL_LAYOUT_OCTAGONAL }, { "cube", AV_CHANNEL_LAYOUT_CUBE }, { "hexadecagonal", AV_CHANNEL_LAYOUT_HEXADECAGONAL }, diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h index ac2ddfa022..ddeff8c644 100644 --- a/libavutil/channel_layout.h +++ b/libavutil/channel_layout.h @@ -233,6 +233,7 @@ enum AVChannelOrder { #define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) #define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) #define AV_CH_LAYOUT_7POINT1_TOP_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) +#define AV_CH_LAYOUT_7POINT1POINT4 (AV_CH_LAYOUT_7POINT1|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT) #define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) #define AV_CH_LAYOUT_CUBE (AV_CH_LAYOUT_QUAD|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT) #define AV_CH_LAYOUT_HEXADECAGONAL (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) @@ -399,6 +400,7 @@ typedef struct AVChannelLayout { #define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE) #define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE_BACK) #define AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_TOP_BACK) +#define AV_CHANNEL_LAYOUT_7POINT1POINT4 AV_CHANNEL_LAYOUT_MASK(12, AV_CH_LAYOUT_7POINT1POINT4) #define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_OCTAGONAL) #define AV_CHANNEL_LAYOUT_CUBE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_CUBE) #define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, AV_CH_LAYOUT_HEXADECAGONAL) diff --git a/libavutil/version.h b/libavutil/version.h index 4c0c545d40..279e54c394 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -79,7 +79,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 58 -#define LIBAVUTIL_VERSION_MINOR 27 +#define LIBAVUTIL_VERSION_MINOR 28 #define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ diff --git a/tests/ref/fate/channel_layout b/tests/ref/fate/channel_layout index b93f96dbb3..d49f8906d0 100644 --- a/tests/ref/fate/channel_layout +++ b/tests/ref/fate/channel_layout @@ -25,6 +25,7 @@ hexagonal FL+FR+FC+BL+BR+BC 7.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC 7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR 7.1(top) FL+FR+FC+LFE+BL+BR+TFL+TFR +7.1.4 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR octagonal FL+FR+FC+BL+BR+BC+SL+SR cube FL+FR+BL+BR+TFL+TFR+TBL+TBR hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR