From patchwork Thu Jan 13 02:05:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 33504 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp42601iog; Wed, 12 Jan 2022 18:43:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJzV2hcKlllkucZ6f35BkmkM2QBIPnGvx4l6nO4oQwrx7BzrZ662hv0uXFyR9+A5xpUKxkwV X-Received: by 2002:a17:907:2d8c:: with SMTP id gt12mr2000809ejc.430.1642041825500; Wed, 12 Jan 2022 18:43:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642041825; cv=none; d=google.com; s=arc-20160816; b=K1LzJMscBtyFMYu8BJc4Vc0ynJkrV6CxIVHa/G3cjBlTAVWgJvNS50IVnrbVOnbkku fecgzZHQrFh4gcxcgwUaftITmO1hynIIzGiXbypdOilJaBIvDsfL0px6ZPWeS1iiZnTg dUhneMi+Jrksp1uiJpHNXBZl3Rm0/yV6Nm+clFOmXz6ES+w08O+rn9k4YYtA4OOoM5UW y4LIQV4tmT6tw0V/veHCxC+nx92WOh61bNWWA7vXxjILLCaEOjEZbAY4F+vj7T0FYJL2 FW4oPsptTMNJVmntsmCnUOLy3Q+GuN2XLRY+ncYb9WgcXOUGOFtwWAz5keR4ncbSTwIr x2ig== 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:dkim-signature:delivered-to; bh=LqZFyI4PbIbnkWyBvQy64XdzdVAUKDfBodxMJg7eqcU=; b=SoLAxJEecR9ANk6SjgsiuTUDu/LUkCfSitVWTe4qaS9NfPQP3KB8qX6MNMHsKiSPVr yML9S433lr5WT1bmV1zuUSVzwDDC8JuOSX8Og00FDg4ake/bxLPBiUVGWdip/MqJMTdp mqS/4QBif5vLTGbqfHrLDjNSZuDWvpWn7zTPObPlciH25yBTPLHtXxwVjQERB+DmzPNM JSOYYbGwMvzRJQ7kVmaSmb3UcD/ht1eRwdhuLX097e0JKQfwfwIajWLXFbSWmvz+D5Xs RlagtSiLVP8GgxUuzcQmh1VVqYwC3MeKc8jOCfXuIubRn7Xg0dI69rdgVYjgUuidPc02 m3nQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=caiXURxN; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id c3si776024ejb.890.2022.01.12.18.43.45; Wed, 12 Jan 2022 18:43:45 -0800 (PST) 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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=caiXURxN; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3533C68B920; Thu, 13 Jan 2022 04:06:06 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 995A568B908 for ; Thu, 13 Jan 2022 04:06:03 +0200 (EET) Received: by mail-qk1-f169.google.com with SMTP id bl18so5591521qkb.5 for ; Wed, 12 Jan 2022 18:06:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=4VZfcurIWJQpUuphoeYI8qq5XleOxH8f/X3ICUfhU7M=; b=caiXURxNezDCELjAGHM5M2snjK9+MnFUubZ4z2IhWksDdUXmOCdcbuGkn55HGl3BZG LK4v09JzwK4vIUHpzq0xCCVUat3xMC3ahoefx1T5SIVQMJeVz2RNXJyF50g08ZtMRmxO Mn3+eZidUGDndW0fDMq2bl+vVCpm9uz1vJ0LZMkTKMB0v6ptQsmECLLYKs11l+nplpG1 cnERN4BAwygY86LjN0utnEGFr2I0Ld7ojwmaui+WfSOBxOa+K5BuAF82BWQcYw+MVHZ8 XoopHQyfTzGOy1ooRNH59NGXEAvgzdGkzlJvSWRxxGQXkLoJOc/pSk1lA34TrsSlRo7z euPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4VZfcurIWJQpUuphoeYI8qq5XleOxH8f/X3ICUfhU7M=; b=sCope1lFM50QQgCPLjJNK3EyC3a7ecHngYvBtM28fnXtfgnn60U72MoX47UlpegwXj lWMksS+WRRwGzJFnd/66ZuS98lGM0ogtXBHGvvKOFFHffrlbLXIK667RF+JZDXS/DBQR 8J+p45yKagC/yMUu99ymjPCPC/k/jeXJ6Og1cjjcCTxgpK2yNPNBgCozkMguLjqtPmSq 3+raWrosgagiScZ/Asgf2lWbNhrzejf00t02uTmjdkusQDJQAhA8hPuBOUwCMAszZAcW 8aaEbCyYKM38dD1fqkJvZNpvvbVDFZpH5TKyVmw3die/ZmqjJ1OOxZWjKPwQcIvM4Cfh Z1MA== X-Gm-Message-State: AOAM533ZiaOMIDTX2KHFJhT4ynzxLqkQPH/4MeUngvcMpjE6fV7JWXTl yEjf+rB/rv138YfGAamD9X7SMQtRAqg= X-Received: by 2002:a05:620a:29d1:: with SMTP id s17mr1833881qkp.424.1642039561995; Wed, 12 Jan 2022 18:06:01 -0800 (PST) Received: from localhost.localdomain ([186.136.131.95]) by smtp.gmail.com with ESMTPSA id k9sm1264556qko.29.2022.01.12.18.06.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Jan 2022 18:06:01 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 12 Jan 2022 23:05:14 -0300 Message-Id: <20220113020518.730-26-jamrial@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220113015101.4-1-jamrial@gmail.com> References: <20220113015101.4-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 235/281] mace: convert to new channel layout API 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: 7KjjAllhzRyz From: Anton Khirnov Signed-off-by: Vittorio Giovara Signed-off-by: James Almer --- libavcodec/mace.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/libavcodec/mace.c b/libavcodec/mace.c index 506a0ddece..9ed4747ba9 100644 --- a/libavcodec/mace.c +++ b/libavcodec/mace.c @@ -226,7 +226,7 @@ static void chomp6(ChannelData *chd, int16_t *output, uint8_t val, int tab_idx) static av_cold int mace_decode_init(AVCodecContext * avctx) { - if (avctx->channels > 2 || avctx->channels < 1) + if (avctx->ch_layout.nb_channels > 2 || avctx->ch_layout.nb_channels < 1) return AVERROR(EINVAL); avctx->sample_fmt = AV_SAMPLE_FMT_S16P; @@ -239,31 +239,32 @@ static int mace_decode_frame(AVCodecContext *avctx, void *data, AVFrame *frame = data; const uint8_t *buf = avpkt->data; int buf_size = avpkt->size; + int channels = avctx->ch_layout.nb_channels; int16_t **samples; MACEContext *ctx = avctx->priv_data; int i, j, k, l, ret; int is_mace3 = (avctx->codec_id == AV_CODEC_ID_MACE3); - if (buf_size % (avctx->channels << is_mace3)) { + if (buf_size % (channels << is_mace3)) { av_log(avctx, AV_LOG_ERROR, "buffer size %d is odd\n", buf_size); - buf_size -= buf_size % (avctx->channels << is_mace3); + buf_size -= buf_size % (channels << is_mace3); if (!buf_size) return AVERROR_INVALIDDATA; } /* get output buffer */ - frame->nb_samples = 3 * (buf_size << (1 - is_mace3)) / avctx->channels; + frame->nb_samples = 3 * (buf_size << (1 - is_mace3)) / channels; if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) return ret; samples = (int16_t **)frame->extended_data; - for(i = 0; i < avctx->channels; i++) { + for(i = 0; i < channels; i++) { int16_t *output = samples[i]; - for (j=0; j < buf_size / (avctx->channels << is_mace3); j++) + for (j=0; j < buf_size / (channels << is_mace3); j++) for (k=0; k < (1 << is_mace3); k++) { uint8_t pkt = buf[(i << is_mace3) + - (j*avctx->channels << is_mace3) + k]; + (j * channels << is_mace3) + k]; uint8_t val[2][3] = {{pkt >> 5, (pkt >> 3) & 3, pkt & 7 }, {pkt & 7 , (pkt >> 3) & 3, pkt >> 5}};