From patchwork Thu Jan 13 02:02:29 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 33470 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp38673iog; Wed, 12 Jan 2022 18:36:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJx46GDxYVGGDtyxfkHQTlKHorZIuXG8bPAB7BtckFrbGaQ1CSuINgWJWSx3S+X17+27jMeD X-Received: by 2002:a05:6402:1d83:: with SMTP id dk3mr719358edb.281.1642041364833; Wed, 12 Jan 2022 18:36:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642041364; cv=none; d=google.com; s=arc-20160816; b=fDlGmtvweFMypuPq7QdUQElNdGmU/m3vmBuG8gbOVBBfPyeEuWdmfWKcxDts9SomPl gTdDCAAe7bm2/O1vY+R5aSxzEEMHvCWOTizZRLkmiCBp37SWj5WrN8zxvWkrkOhZUFcS wNbnt8B0xP7Cmz1lkz0l0dpJUUAYEiW83E4IoTWxwlazVlMtBUPLpY65dK/WAC8Qi9MD aE7WnEaKHrAMVaAc+0vBn2BOITWtefdm5TeSSzfy8i/CSVswa9Nw7xfODBBlYrExhfo+ 8vijDJa7/G9UVDVTUdIkojwOwCKQegl5sti0Fkxgdj6+yySD18MY1vGE98Ijjz0hWRtj Zyvg== 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=KfzuQhYUctWikFlhwAozhQA3mxQxGvDRNJAXx4dcuMU=; b=yW8EPkCJnKBMgLlgXuUPwQDq9Rc1G26bTB2ys8XArX3vnhEf/u2+HxfP6rUjSUkzKc hLzmfjMd/ja2cxYocAUJEkkXtvTCulHN5ibX9vcDpvBLeEL2rwOI4Gc1a9vKMrOKfrTp j4fvT4Wfzpr2QB6xAHoFfMNomhC4FwqDvK3NtzVfe2ZAJursVqQ4yo+JCWphZzQlHO0S p4mjqT3zGY8QMnlDIXm+5UqM8+xz9xRmliA6LN7BYOJMpLsT7AdwGNucN+za11pfSSVq C/yViY2lhkj6Ir+S93yQEn111bJ498orvA33u9q+QRBmOTv3HEwKcP8NlOsOXE83jLce WQOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=jj9a9dtM; 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 er26si866958edb.321.2022.01.12.18.36.04; Wed, 12 Jan 2022 18:36:04 -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=jj9a9dtM; 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 F317F68B66C; Thu, 13 Jan 2022 04:03:22 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f175.google.com (mail-qt1-f175.google.com [209.85.160.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B1EB268B63A for ; Thu, 13 Jan 2022 04:03:18 +0200 (EET) Received: by mail-qt1-f175.google.com with SMTP id b14so2435592qtb.12 for ; Wed, 12 Jan 2022 18:03:18 -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=HaLT+2HM9Yde38sE3C9oNzjE6dEP4FyIAJVgr/1NbX0=; b=jj9a9dtMJt/ortDUBi1SbZ6+coEvw/lYxmttxJVndeegF6XQDRQcJ26j1iKCXB9GHM 4PlzlyHqiXi0qV4xECS27jXqMx+dZ/D9Hi68/g+DVbyOvO4zhuxupWIBKYkP8CuEOg49 55mT6jjTdSuHuHkLYjSYkRI+uA5OwpK+Y4fJ/oRFnxH+gRyuMha6bH/gqyDvFsWAKH04 zrDk7JDzbCLexupYk0uKGpbv3xNvUKyKlmHYRWfAZE7BcDLcajPI0zx1zM5cNqNvxkrf MdnXuS4mbnyMAjn/e1DGIiXPYatk2EuNi9p+HKjq2cJgFkU5ZBIBgCdHi/PkWk9lpAYz YbQA== 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=HaLT+2HM9Yde38sE3C9oNzjE6dEP4FyIAJVgr/1NbX0=; b=3tvJoh4Upulpf53DSTOSfzI4UUwvBUoyNtFihQqlfSXaqpxs36K9qtEGu18upYqHLB 6qhRLmL4KlNvJC4ntq//Vxs/2hFBPQPiSwh/35BJah/DKDz79ERiLYgi5iRCRamOVRTw rTmOF2imreQdzt1V5zfg2kc1pYaL423h80HFigtpCNg1gcc5la6jCw76tPZkAZoSP9Pb ihEMKh9V2rw6G53By124+E5nG0339a2kZBsYBQ4InuZVLWdKXyBKM0MgjaOaYAMiWLIZ VszfeAlwANs2VABiFcoIb1uoXma6/GiFovawvWhFLwI7Bn8uIlw7gKOh91cFL5CalELy trfQ== X-Gm-Message-State: AOAM533NbgVpZZ9Ldf96BJvDiw5Gt3n6LeTF5PVNo1AWq2nzrsbigzWa Rw6RSB5rWL4T5GPOxcP2ZLACMDy5J8Q= X-Received: by 2002:ac8:574b:: with SMTP id 11mr2009107qtx.334.1642039396614; Wed, 12 Jan 2022 18:03:16 -0800 (PST) Received: from localhost.localdomain ([186.136.131.95]) by smtp.gmail.com with ESMTPSA id v1sm1045961qtc.95.2022.01.12.18.03.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Jan 2022 18:03:16 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 12 Jan 2022 23:02:29 -0300 Message-Id: <20220113020242.661-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 196/281] binkaudio: 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: Diyb/0NS3FeI From: Anton Khirnov Signed-off-by: Vittorio Giovara Signed-off-by: Anton Khirnov Signed-off-by: James Almer --- libavcodec/binkaudio.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/libavcodec/binkaudio.c b/libavcodec/binkaudio.c index f808141ba5..be321233c8 100644 --- a/libavcodec/binkaudio.c +++ b/libavcodec/binkaudio.c @@ -72,6 +72,7 @@ static av_cold int decode_init(AVCodecContext *avctx) int sample_rate_half; int i, ret; int frame_len_bits; + int channels = avctx->ch_layout.nb_channels; /* determine frame length */ if (avctx->sample_rate < 22050) { @@ -82,26 +83,26 @@ static av_cold int decode_init(AVCodecContext *avctx) frame_len_bits = 11; } - if (avctx->channels < 1 || avctx->channels > MAX_CHANNELS) { - av_log(avctx, AV_LOG_ERROR, "invalid number of channels: %d\n", avctx->channels); + if (channels < 1 || channels > MAX_CHANNELS) { + av_log(avctx, AV_LOG_ERROR, "invalid number of channels: %d\n", channels); return AVERROR_INVALIDDATA; } - avctx->channel_layout = avctx->channels == 1 ? AV_CH_LAYOUT_MONO : - AV_CH_LAYOUT_STEREO; + av_channel_layout_uninit(&avctx->ch_layout); + av_channel_layout_default(&avctx->ch_layout, channels); s->version_b = avctx->extradata_size >= 4 && avctx->extradata[3] == 'b'; if (avctx->codec->id == AV_CODEC_ID_BINKAUDIO_RDFT) { // audio is already interleaved for the RDFT format variant avctx->sample_fmt = AV_SAMPLE_FMT_FLT; - if (sample_rate > INT_MAX / avctx->channels) + if (sample_rate > INT_MAX / channels) return AVERROR_INVALIDDATA; - sample_rate *= avctx->channels; + sample_rate *= channels; s->channels = 1; if (!s->version_b) - frame_len_bits += av_log2(avctx->channels); + frame_len_bits += av_log2(channels); } else { - s->channels = avctx->channels; + s->channels = channels; avctx->sample_fmt = AV_SAMPLE_FMT_FLTP; } @@ -325,7 +326,7 @@ static int binkaudio_receive_frame(AVCodecContext *avctx, AVFrame *frame) av_packet_unref(s->pkt); } - frame->nb_samples = s->block_size / avctx->channels; + frame->nb_samples = s->block_size / avctx->ch_layout.nb_channels; return 0; fail: