From patchwork Thu May 23 15:13:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 49180 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:542:0:b0:460:55fa:d5ed with SMTP id 63csp1119944vqf; Thu, 23 May 2024 08:14:12 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUkKOJMKSdkrWLbVC2cBUqubw9BGc7MFANrk9uEQrGbx0OfI69b4okcsHNDPM3GjY7PdhMViCbuGPN32/rC6DhOSMaULoOxejfe6A== X-Google-Smtp-Source: AGHT+IHdkycsNpjxf9KFuvQcoABgK0sC8PH673vCKt/m9epeXNWnmTtf0nnwdMOW/hXltjmvuQkE X-Received: by 2002:a17:906:f6d8:b0:a62:1ac4:a383 with SMTP id a640c23a62f3a-a622814dcaamr340730166b.3.1716477252407; Thu, 23 May 2024 08:14:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1716477252; cv=none; d=google.com; s=arc-20160816; b=mGjR88tzqockvDcwHXeaZQRvqwI65IOePbkGw8GtihZVNRpN1A/28Mxo+0YkfRIc61 T6mRzCKRC/hLg2BxmAlRNpjKdiSckrd/9xtl5+B/E+oXiUelDKE5zv6vM+Oy61+8AkQB muTb4tbIIWDiDEqRYUVc6P4kSPcYb4IBHuUiUisSgzvrz7a2oBpsoOp5jN4+z/DieQsJ j87wbgH1ycXJc2trgd0V9CHgDxUTSf1Cii6QMlJIkPSJmKjc5EI/XmJKWoYFNNjO+OSi zVpPLnzfE7tIVmmZDpnEdAIMCK72pmBBfqvRkLQvSeK67UQ60FNe4yNnEy3pB8hGruDj aDaQ== 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:date:to:from:message-id :dkim-signature:delivered-to; bh=58S/zeFCeTVm/YJoC24DaC35enhfJKnha98rk3Ts79I=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=RcwegIvsHU/OwF1Yd22gmudTuZJq43uPjYAUjh97Pytrd9vZUxYNJo+jeHzN3XHit3 EEG4QvsanjsUoK0YQ0RkQfS/2kMjbrpEs5RqBxS61arVEYX/CrFMp2vp88WPIjZ30Z3P CHkEdvEPyLRDcP0YrhWxkJUWPtsO9xqqdDAwnGeUCFYXOUf3wwXpyo9VkG0GD76UexDJ g30f6r4iBulv4lMldbmZiSv4oLkRrBRE+SDOL9FffsYrNVhou5KCQSWDuOWw3QHjmUY8 ppWbh6pH7TbHhH7tn/tXOAOAaTtZTtwnbERIzP6/VtMgKUbS/ykZDCqV8PIRMduQ/SCD gUOQ==; 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=obyJ90CQ; 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-a5a17be6516si1684203566b.713.2024.05.23.08.14.06; Thu, 23 May 2024 08:14:12 -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=obyJ90CQ; 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 20FC068D498; Thu, 23 May 2024 18:14:03 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from xmbghk7.mail.qq.com (unknown [119.28.226.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 13E9668D13A for ; Thu, 23 May 2024 18:13:54 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1716477224; bh=unkC238Tz4xcKerDyyLn3wl4blgp2SpQESakHprnybs=; h=From:To:Cc:Subject:Date; b=obyJ90CQsqctJ+jZWasXD4wpzmDwxSg18LGUKsnESb9BDE0r1/lT5lqaPgyxVOqdw e3Dx0j7hQIAZOI3uyjm11urwlMT9Omkzj/ANwhz+/eHBM1Ds6TwYpDOZi8bcmUjUGc e7CsKbY6II60ZMSMUhDL9U2NSlw0ul90lIyQAU14= Received: from ZHILIZHAO-MB1.tencent.com ([113.118.103.69]) by newxmesmtplogicsvrszc19-0.qq.com (NewEsmtp) with SMTP id 36B8903B; Thu, 23 May 2024 23:13:43 +0800 X-QQ-mid: xmsmtpt1716477223txxovqnx5 Message-ID: X-QQ-XMAILINFO: MmCmH9jyqHC2fovU6+HXAwmQHU0aWSLTHmQgleKopLIwUqDzylRk2zGdXVYB8w gmK5p42WwYlqCAQ3kEP1qh4HaFnOXfLZVZYedthDTlPU8W7GzoAyGu5Slb/+p4d5u/dP7JC82Wfl wyrGmP2u+65peN/UdfvlCGubrQs+16qM7Vz+GtfjWnk+8qT3L9sKvTj3Yg/2bken0kERv5HvaIo9 Fby6uqwxptA3y0OnUA0XVv8hUOsbtMzn91qhEyXLAZRkgOj8EiJ1EOrOAOvVzAmetRQYPluMUdHV BXYJGTvAs6aIe0OIsqhC0Jyy7kUxoFetsSQS0nkoJ/Vwv6noyc77qS5XUUPG7PQbvbfLrdiSHXPd fF2/D1m+hes55Pnb28iqJufEtbddd7FKWGGTEwaUSFyl4JdBd27rneonF6IKqY4V2jsrgF0390EM coLoUPNMoILjpgPjjhdmE5eTxi8mIVxDNzhhDKGz8tVe86TtzqY4uZ45YM7rjfpeIrvpbmM5oetl 8GiMMM0VKGYCQOVfXvCRFU25f6J8ceefHFtcnplKw4yQH4+5YxOvn8E5YcZ4ajMqpb4aXZqhv0df tkSv23oKkZlygvcsw7I+UDhxc/ZGJ37Zn6kG9Zo+ajK/sCE4kWpG+hrzCFWp+mUnR4UooJrYhj1N UEFkljCH+rKQMnXogOxTLYc6bJNhXFRR8p2W4N25mUS7ptQcYhfPwo06qXCcHXdgOur6m/Y2747q tzgpLDLQnBi90/Ycoyu5j+SMcBgcRq0LJUjzSSHdn8FbuaHMItSHDz9P8EpgW8/JJTwZ5PXkj5cj qeTv0ilh0nqFEeD0+rUKYSuCkVbm255gRW4eVRvMQwexh2BB4OKEdLZ9xDnvSlO/iOn11GEeurqA fPZA+8rQYb0mWpFjAikjGIQjXnPSboVtxSyvH3EuQ+e/HSO5DhFYWzQiEHZh8TLWawAQ+d34wUdf Xi3Npz1a4lo9y/iV1riiIXYKZnXMFclSiC5y0Nvn50FZiehY4v3aCDnoA216AF7S+tuOHdW2yamG QMIllEOllzuJ+yO0Wi X-QQ-XMRINFO: NyFYKkN4Ny6FSmKK/uo/jdU= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 May 2024 23:13:38 +0800 X-OQ-MSGID: <20240523151339.22033-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [7.0 PATCH 1/2] 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: 1ibHW+bifBQe 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 fcb84ef0ac..a898e335b5 100644 --- a/libavcodec/mediacodecenc.c +++ b/libavcodec/mediacodecenc.c @@ -200,7 +200,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 {