From patchwork Tue Jun 16 21:02:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 20430 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 7D41944ACBE for ; Wed, 17 Jun 2020 00:10:55 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 665F368B5FC; Wed, 17 Jun 2020 00:10:55 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f66.google.com (mail-lf1-f66.google.com [209.85.167.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F231868B4F0 for ; Wed, 17 Jun 2020 00:10:48 +0300 (EEST) Received: by mail-lf1-f66.google.com with SMTP id z206so12651915lfc.6 for ; Tue, 16 Jun 2020 14:10:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=c5fsJJHpQBL8285Nv/kewIMqUX4bbJWzfjqTaoHB1MM=; b=II9xsb++omVeA9QjvyHyPTfPeo7sizsVa4CkKEpdCqjyoBmxtodnPjd+0TZFSfu8g2 jQhOOP4as29kspYMEHrjioCn/tajRPZIStduRHIIQ/VFWxZ9MgYn7HxJAl/yeHvzDunH IRWKyqCD6mOgpHY+cO/baz2KRtF+7F61F2WMi7ymWkl6ZT9I0snuiHU5eJWivepWzuRs Xda/PFAvblo2ae8F7hZEgMjVJ4EUSZS4UZEEWaMJg+QDlgxS+4ZnNlj1XUKfboUkphSh JNe0/skoEWF+J7WqfNxwP8ngcrD6yPMfqMZD5IUfAhP3cWcm2LEWbVKuRKJsYw+Dy5f8 pdhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=c5fsJJHpQBL8285Nv/kewIMqUX4bbJWzfjqTaoHB1MM=; b=CF193M+T9M78S7og3mAFv94CvANcO+2HlTwXWfAUznM2FhNjgRmSkeolNQL2YvsCdQ MIUUCmTh6h7hHwoJ+OLbGTaXgUehc+KM9at05VVcZLKWwrwXBR21CDeoFuddiE4+uD+V AfvEftugjYIB9g/0FAQTYWTAfwPbHKUnQQ1tw2XJ7lQsnXfgZURc1c3WgEUWX0b/1FtV Id6grbC1q5nVLMZoOcL5M9zLDLyUjHL3wjMI3ki0ktxjV6ii4m3PtR6Kz9mODchmMdl9 8Xty3vxknc6In7LzTgpEU40eM9+6PaQFyYYKRom01gO4gOEd3bKgJw0ij9ClPpvd5X+N 4MNg== X-Gm-Message-State: AOAM531wXW2LZGAtHk75LMZvyQ/zswHIf9TjF9FzwXd4WrqscDvKDyF9 iTCLU64JrYrn5qkRxfUCRmF0uiyW X-Google-Smtp-Source: ABdhPJyvez8MNGIxKqyc2CcNbB0bF/TOFesZXwYUSUqVCeUQdGW5fwuKLpM5ZkDRc4VJ2n/H8+CS5w== X-Received: by 2002:a2e:87c2:: with SMTP id v2mr2309378ljj.147.1592341376916; Tue, 16 Jun 2020 14:02:56 -0700 (PDT) Received: from localhost.localdomain (91-159-194-103.elisa-laajakaista.fi. [91.159.194.103]) by smtp.gmail.com with ESMTPSA id c5sm4608925ljj.37.2020.06.16.14.02.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jun 2020 14:02:56 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Wed, 17 Jun 2020 00:02:50 +0300 Message-Id: <20200616210253.7169-3-jeebjp@gmail.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200616210253.7169-1-jeebjp@gmail.com> References: <20200616210253.7169-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/5] avcodec/mpeg4audio: add newer channel_coding mappings X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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" Additionally, add comments regarding their definitions. Based on ARIB STD-B32, which bases on 14496-3:2009 and 14496-3:2009/AMD4. --- libavcodec/mpeg4audio.c | 17 +++++++++++++++-- libavcodec/mpeg4audio.h | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/libavcodec/mpeg4audio.c b/libavcodec/mpeg4audio.c index 0d83fb8d25..77cf2fb61c 100644 --- a/libavcodec/mpeg4audio.c +++ b/libavcodec/mpeg4audio.c @@ -64,8 +64,21 @@ const int avpriv_mpeg4audio_sample_rates[16] = { 24000, 22050, 16000, 12000, 11025, 8000, 7350 }; -const uint8_t ff_mpeg4audio_channels[8] = { - 0, 1, 2, 3, 4, 5, 6, 8 +const uint8_t ff_mpeg4audio_channels[14] = { + 0, + 1, // mono (1/0) + 2, // stereo (2/0) + 3, // 3/0 + 4, // 3/1 + 5, // 3/2 + 6, // 3/2.1 + 8, // 5/2.1 + 0, + 0, + 0, + 7, // 3/3.1 + 8, // 3/2/2.1 + 24 // 3/3/3 - 5/2/3 - 3/0/0.2 }; static inline int get_object_type(GetBitContext *gb) diff --git a/libavcodec/mpeg4audio.h b/libavcodec/mpeg4audio.h index 4b390e0f42..c4cdc1508c 100644 --- a/libavcodec/mpeg4audio.h +++ b/libavcodec/mpeg4audio.h @@ -46,7 +46,7 @@ typedef struct MPEG4AudioConfig { } MPEG4AudioConfig; extern av_export_avcodec const int avpriv_mpeg4audio_sample_rates[16]; -extern const uint8_t ff_mpeg4audio_channels[8]; +extern const uint8_t ff_mpeg4audio_channels[14]; /** * Parse MPEG-4 systems extradata from a potentially unaligned GetBitContext to retrieve audio configuration.