From patchwork Thu Jan 13 02:00:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 33443 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp34827iog; Wed, 12 Jan 2022 18:28:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJxz0TFfW5XLiFNuaVfZapRb9oyOoL+ZE/xYQS94AEtXHDRRV7Onwar9izVHBu7UXQrMMlV7 X-Received: by 2002:a17:907:3d8e:: with SMTP id he14mr1893014ejc.167.1642040934235; Wed, 12 Jan 2022 18:28:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642040934; cv=none; d=google.com; s=arc-20160816; b=YLfF1x1Q2yCf/kzuwVZkFfPTeLfX6WHfsHZFgBbkbewMDsGTKaRrQ1rnhFiSbuHXjA 8Oy9cRqmEdoqdBCcT5lCo+XJOmwAu/E/pa5v+T5u3Xs3AVJuzcprGC1Hnw/cy7dA5bK2 RNCwmFefBWpGZtc854pxRaDWdHR0OlyLMqLy9twYo0Rc6dLBEtUCDIhIw4nvZKrPUUIm K60mSgCu6SiTZ2R7gfwjUWvzOhiSlY24zlFXq47NrsWFef90j2DFK9g5FbrKGDXCWeS1 RX0io+FqHnAqcoGBdRLHS8KWYFlDB8//rgW+/oGy5w7+dyjoLForEGG+F0hLxLa3FoEM +LAg== 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=tAf27Ng3QpChBo9AYF2DlihERBJawqF8goE0Jbxn4GU=; b=m2Lk5nTmWjwFs5Zk5uHaG0/lzhOMGVGQa2Qh8qt8IhCQWqgVGGFCaMsVZ/yHeaSVlB tCP0AjmsDz5lDunSvk9TeXUL817ur/1TGUeIWBUZdHfFt3tnYWq2Vsd3VcUQCMaGPdC6 qMaaHAczCqUiFhsoFswOGINW6fKTlyJxLGgpFiUx7keezFFPa6g8zswpa3Yu+XO36Cbv hsFgbrRmnwjY6VPHT8MbpyjYPdf8jxX3mvAfQaLdJnaSW9/exw1lpQbBFaR+1xzaJHYK 85TUJ4L+4DKRlGo9sw24euQZugapfPCIs6jZXNX3uoOS902Hdd/crwds8MNBfSRh8iN5 kQCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=HNkhn7uC; 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 m12si826942edb.613.2022.01.12.18.28.53; Wed, 12 Jan 2022 18:28:54 -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=HNkhn7uC; 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 B0D6268B4F0; Thu, 13 Jan 2022 04:01:27 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f45.google.com (mail-qv1-f45.google.com [209.85.219.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8805968B4D5 for ; Thu, 13 Jan 2022 04:01:24 +0200 (EET) Received: by mail-qv1-f45.google.com with SMTP id iw1so5164857qvb.1 for ; Wed, 12 Jan 2022 18:01:24 -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=4LWibITV/cAb90y5cgovO/2drJVov+t0xmZ+smR0es8=; b=HNkhn7uCa6DlTJpB96WVC9Lms3lxulxoz6+YKfv6J+4n9uR6K4UxYR50Cxbm5ZiTuQ g5JXxy3yqbLHZjdA/LHdMamv0icWftpAgQ85bGeEaTByqalmNzjxHx4HquP7HRyfZjnW iUYUdZIZExv4TJekpbfI5FpY7ODP22Cvn9f4uhEJSzYoHX1WUYuWsCFhAd0MmWEcu33+ zgX4s1NDaQ9JuScORGmsEM8agz/Ngbtwjxcx+k18pr/pVQityLnLbW7kX7jl/GzHSQO1 ZbfDWZmcyWbieAyv8pUo2mjKQodIQF/aL4h32VDMUgQk6BP4ZgNVokPqQF5Z3QjNud1I RRHA== 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=4LWibITV/cAb90y5cgovO/2drJVov+t0xmZ+smR0es8=; b=JFOshsdgIogormwV7TjOmcgDysS8L+w1DysPPn3xtFwqjUO4aY40Ly7wehlO3AHXe7 wWAIoe9uW5jsTgTfuLYJ+nAsi+OWXxRCjaMxT9NvygYAPu0aIJErgm55WlzP3W0aGPG1 hSPoktq7h4FyHzCddLSkVNeQa+Ya3rU2SHpLNo6FRlu9NEsV9eLWEZYm5hTQqWSE/ZRn q62rqmLVkDdvG26dhfuE9n9wAVfg9KVWRZHneb2AYcN6UT4YpXuxEGnvaruLfcuePvKo GGN0p09MPo2S9gwPUTenCUYQOpPAcH9zegb3gKwdTGp0PHbNAh5WEPsGmAbAynJ+eUFp VP1Q== X-Gm-Message-State: AOAM531d/EcsOtzjD7DPkSs/jjWujv/cRCpaoPwjqtczqjKK+NVhvUjI UdeK+Xnqd1sXbuhG7C6Lb8AW1ns56Ls= X-Received: by 2002:a05:6214:19cd:: with SMTP id j13mr2378345qvc.88.1642039283133; Wed, 12 Jan 2022 18:01:23 -0800 (PST) Received: from localhost.localdomain ([186.136.131.95]) by smtp.gmail.com with ESMTPSA id y17sm1182232qtj.75.2022.01.12.18.01.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Jan 2022 18:01:22 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 12 Jan 2022 23:00:12 -0300 Message-Id: <20220113020026.590-17-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 165/281] vpk: 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: TwVviDApofrx From: Anton Khirnov Signed-off-by: James Almer --- libavformat/vpk.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/libavformat/vpk.c b/libavformat/vpk.c index d542a0806d..3968ee981e 100644 --- a/libavformat/vpk.c +++ b/libavformat/vpk.c @@ -59,14 +59,15 @@ static int vpk_read_header(AVFormatContext *s) st->codecpar->sample_rate = avio_rl32(s->pb); if (st->codecpar->sample_rate <= 0 || st->codecpar->block_align <= 0) return AVERROR_INVALIDDATA; - st->codecpar->channels = avio_rl32(s->pb); - if (st->codecpar->channels <= 0) + st->codecpar->ch_layout.order = AV_CHANNEL_ORDER_UNSPEC; + st->codecpar->ch_layout.nb_channels = avio_rl32(s->pb); + if (st->codecpar->ch_layout.nb_channels <= 0) return AVERROR_INVALIDDATA; - samples_per_block = ((st->codecpar->block_align / st->codecpar->channels) * 28LL) / 16; + samples_per_block = ((st->codecpar->block_align / st->codecpar->ch_layout.nb_channels) * 28LL) / 16; if (samples_per_block <= 0) return AVERROR_INVALIDDATA; vpk->block_count = (st->duration + (samples_per_block - 1)) / samples_per_block; - vpk->last_block_size = (st->duration % samples_per_block) * 16 * st->codecpar->channels / 28; + vpk->last_block_size = (st->duration % samples_per_block) * 16 * st->codecpar->ch_layout.nb_channels / 28; if (offset < avio_tell(s->pb)) return AVERROR_INVALIDDATA; @@ -85,14 +86,14 @@ static int vpk_read_packet(AVFormatContext *s, AVPacket *pkt) vpk->current_block++; if (vpk->current_block == vpk->block_count) { - unsigned size = vpk->last_block_size / par->channels; - unsigned skip = (par->block_align - vpk->last_block_size) / par->channels; + unsigned size = vpk->last_block_size / par->ch_layout.nb_channels; + unsigned skip = (par->block_align - vpk->last_block_size) / par->ch_layout.nb_channels; uint64_t pos = avio_tell(s->pb); ret = av_new_packet(pkt, vpk->last_block_size); if (ret < 0) return ret; - for (i = 0; i < par->channels; i++) { + for (i = 0; i < par->ch_layout.nb_channels; i++) { ret = avio_read(s->pb, pkt->data + i * size, size); avio_skip(s->pb, skip); if (ret != size) {