From patchwork Thu May 23 07:08:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 49165 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:542:0:b0:460:55fa:d5ed with SMTP id 63csp844282vqf; Thu, 23 May 2024 00:09:43 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXqCG/rYkHRh2sQlMI+qM0YfC5qa2SwP3+ooBUZVzk5VAJZqe+TNkdQwGgoiTtFjelxW0+gf5wRQQyGkyPT8lzhfLAeF2+zy7fdtA== X-Google-Smtp-Source: AGHT+IFUIGobs7HZcFEYkeXvxd6DTerLEKwis5Mk9XogBMnXnX4embeSb7uSLKNdBIQYZpsSHsBA X-Received: by 2002:a17:906:7fcb:b0:a5a:89cf:489a with SMTP id a640c23a62f3a-a62281a3776mr289864466b.4.1716448182857; Thu, 23 May 2024 00:09:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1716448182; cv=none; d=google.com; s=arc-20160816; b=d+v4XVvwu2k4cm5iwuPEg+V2+Fqyl8YAeEVY5TXk0o3tQMu1SMEScX/P0/UvjEE9/O q5Msi+9DNPBDz/m9DDtvNquTGYy+NkWZi0EH7LMvG45RDp/bvP1pdmASXD8o0rnPvvn4 sXyiBPzx0tv1ZL3tM44ypOleZ9rrtMf3UTwbucfFlWWBEopMSFQUYdowCw1o2FNjpBxV ggSZISS8d2lvQypgu+AHWdmcgVXFT2MYHYg57EpZ3+wGkUiM42CApp7VYikTmDgOx4kb gySBhqKaLhGWCziCxtwZeXJRyLvvQCldF3NIHOBFi3HmRT6a9yj0bxxlglDRkA9VPKSB cVnA== 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 :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=3PYmOrV2Ajrqa07O+Gl5rm5RU/uvc6cNlkJjRmx6dUY=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=Gm6/hP8FnUE9u2gcmrpZuOHDWPKf6rf2nXxZlaBNxT1lOPXrs2t44StjC3HDqdj837 81Rv1G2EpSWdZAKsq3sLh4OG67F5wrICUmgsCcMzB3HWFtkOjBTNeLeJLmJvHNE+2gt1 t9bELFZ7xnkAQNGPsHCsHbXcANYUBnLtnXxE+2MGJGFHEsCNqYVWGwdzLI/b6d3cn54/ prqFxX7HMRcGUZWEiJBGnzEGPODRweITH/fsP/8kJH8oAMwUWu4OV/SThb7N2NOfw4sK HsrwYobfS3tmcl9adywcExHuvOM+k5i8EBEtDCmjPtQuqLC/nuWOhXzXCChrS1hz/zD6 44KQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=cr6094ZF; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a5a17be63a1si1584562266b.709.2024.05.23.00.09.42; Thu, 23 May 2024 00:09:42 -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; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=cr6094ZF; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 69C9668D431; Thu, 23 May 2024 10:09:20 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-242.mail.qq.com (out203-205-221-242.mail.qq.com [203.205.221.242]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4F30E68D2D4 for ; Thu, 23 May 2024 10:09:09 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1716448139; bh=c+YdNQHK5gm6BtBFOtF0Qx/yKeRl4L/SMFzhECV9BdY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=cr6094ZFe5I3wqotrz44I1xjg/SAluH0MZAmD/NYV3aBYRjs2PbuVcjJWpbknQ68i 2pkvI7Q13RzUnkmT6Fd1IXRLZko7iUt5sWldCZfrz1yiUXM8OYTMHn6LxPrk0p3Gqx lzeea2dQSTBlgMjR7nnCr3mtHsHrj3Qazvzm/IzE= Received: from ZHILIZHAO-MB1.tencent.com ([119.147.10.190]) by newxmesmtplogicsvrszb9-0.qq.com (NewEsmtp) with SMTP id 23A264EF; Thu, 23 May 2024 15:08:58 +0800 X-QQ-mid: xmsmtpt1716448139tecv07pfk Message-ID: X-QQ-XMAILINFO: NQR8mRxMnur91gIxrQVtefSx1FYZrfTcW3mwmUqQODtuhLoGTcTTAqC0lRKQmj sBOU+zP3V/wAFhfnN54y1eeLj2j2tULHxYLYKc72oEqpQb5MFiZ9OyksCkPF6l+AaAyzzdWxHwCC A2LMyBwzVdNEBUM66FBMcpSrtDCYjbJUezuntISB4zliEMJ390rvvkpX1iOgORNZfbki9nqgIa0E Sf1fnQrZqitDD1khh/nVM1koxcMyRMBD4Gg/QNUPHfezWvXPbTW9ekOjCkrIa9plKJOtgW7isQrI vZzkno0byFhZEuqVUaoDdE2WkP6eNaYv4ri0TU1RAIF8xM/iaj3tPEC40FEfUAOh7f3nlImdmGYr uPjutGTJhoJEs591V3EH9d5i9G6RXaVITeCJbJ5ODx8XCnZj6x1aQCqTYGcme26XDKvaqFMPYpda 6am6ClFhzkjVFMy35rveJbfPj81KHkDFNzLt/Kko451mDbhV862B8iBdqQPelLO89FgKwZ1Z5EpS NIsCx5mTjOcXbxCCCFFJ/LFq+K8zQMG+a/uo5mO2nk+9pWvGOConb7Cu8mkM5TW5heoPjJreshs4 gMlPdlo+9jVKGQur5ZC/5OGBjxxpqX6fUn+VM2XNzCLfaRtVTMjSuDF2o+ZCMwi/vyqZglLj1jIf 4ogRmNEylKLejXD2eNdoJFxsAe+HhUR5PuWs6WdLHwB9aiyEXOe81accV22VEicxuBdLYeECZY3r 4xfgq3lCuZFJ6KKl5gdBlfNoG+obLc8KJJHP581yg2LcCHM5hYHFVeVGYPiNVivQy51ORKFq8gVc hPUgW+/rteZtbYLPHTBDzzBnbNuP4qbperZni0xKgOD+Me/BaoHnVB1ihSosczUT5brJsM3EMk4+ jOqp+Esg/5B+BvqcahQ5nLDSsZcyWqXu9tizwgt7CDoI/oDQqVCHbnQDr4rfeNacqFFXYhD3zf6E c5mPohKS8Ckdve87FIkCAE04OVcBpzs6j2YEafNzdMTHw2zw4HSg== X-QQ-XMRINFO: NI4Ajvh11aEj8Xl/2s1/T8w= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 May 2024 15:08:55 +0800 X-OQ-MSGID: <20240523070856.60655-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20240523070856.60655-1-quinkblack@foxmail.com> References: <20240523070856.60655-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] avcodec/mediacodecenc: workaround the alignment requirement only for H.264 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 Cc: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: jjGPzaoMzl2M From: Zhao Zhili There is no bsf for other codecs to modify crop info except H.265. For H.265, the assumption that FFALIGN(width, 16)xFFALIGN(height, 16) is the video resolution can be wrong, since the encoder can use CTU larger than 16x16. In that case, use FFALIGN(width, 16) - width as crop_right is incorrect. So disable the workaround for H.265 now. --- libavcodec/mediacodecenc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/mediacodecenc.c b/libavcodec/mediacodecenc.c index bbf570e7be..bfff149039 100644 --- a/libavcodec/mediacodecenc.c +++ b/libavcodec/mediacodecenc.c @@ -234,7 +234,8 @@ static av_cold int mediacodec_init(AVCodecContext *avctx) ff_AMediaFormat_setString(format, "mime", codec_mime); // Workaround the alignment requirement of mediacodec. We can't do it // silently for AV_PIX_FMT_MEDIACODEC. - if (avctx->pix_fmt != AV_PIX_FMT_MEDIACODEC) { + if (avctx->pix_fmt != AV_PIX_FMT_MEDIACODEC && + avctx->codec_id == AV_CODEC_ID_H264) { s->width = FFALIGN(avctx->width, 16); s->height = FFALIGN(avctx->height, 16); } else {