From patchwork Thu May 23 15:13:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 49181 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:542:0:b0:460:55fa:d5ed with SMTP id 63csp1120040vqf; Thu, 23 May 2024 08:14:22 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWpYnekwcTPrFljycM3tRgpZV4xr0ruzKeXNHE57HZoBhmPdXfuqUDtKEitM+YmEGhfLt5yRWcP0RjZpgva57xD74lheGwNMkrfIA== X-Google-Smtp-Source: AGHT+IFSZBl1ZKbRMmmT9szyRxpg45XE9e5Xf5UTA6c+DqssiQhNQDlLA+YC++1Btko61yKBQsCP X-Received: by 2002:a17:906:f6d8:b0:a59:a431:f951 with SMTP id a640c23a62f3a-a622816909amr328996166b.48.1716477262029; Thu, 23 May 2024 08:14:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1716477262; cv=none; d=google.com; s=arc-20160816; b=N6tncOfrrdPtMUfeyg6WppY0/58pW4/Q2Dfxdyw52MEOLNR9AMAEA6LMsCGsCulWDm sheZGJ2ps0sudA6V1X+4VD3c2gH0wADmunTBcthq3Sld8Of6MXYfResHUFNpDmJykanU DXUAnmnaMISVfiiKjbGAZc8mjE5NbGWuHL/ao5RKdxAl/og0icuk2iwyPA2+SsLn65GK xo/GW3GhPdjwH7FVCpM/jOnxOeGKt75QqVZ6VXM/FXgsx4tOOKF15KredSERV2Lsd/Q7 cl1PflB5UxydfiBNH1oqz6tC+OxEmSurBsehFE/t82lgLTpCROC1SLk8Xe3f3DGeJzHq L8kg== 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=L0lq5fUzhLkPrYaM2eK6PQ4jnunXHVbp2kT6nyk3TEA=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=P+dyYv4BjqcWdedaE1nAeUi/KI7fiJ0ToNrZ482Zy51f9/NXLfB45YKMiED7dkqt+3 G2b9cyeZT9+Cghyshqpi0brzBNZkzTZ1pk1LAGvfiIqSBraHdv2RS593FT7yjhSjWxez 1x3EzbJrN4VKWMVK5KWhNr56fyeCENLwqLwRbTsUJUr+W60oIrvXnj4g14ikupGn+div OkoMJW7q3f/88GDUO0fUTu3+F2JplXFOfk+qrC1/TZkBua8ItJkpbc0gGwnFKTkpqWxd NS1+AiNQd1pXd8G1PG91T4YDybltscsWOOxgemcQCejdCVNYaHWDGN1IVeG5ow2ww0ax pQEg==; 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=dbwe9Uxu; 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-a5a17bafec0si1644639466b.694.2024.05.23.08.14.15; Thu, 23 May 2024 08:14:22 -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=dbwe9Uxu; 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 51D6C68D377; Thu, 23 May 2024 18:14:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-192.mail.qq.com (out203-205-221-192.mail.qq.com [203.205.221.192]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3BDC068D377 for ; Thu, 23 May 2024 18:13:56 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1716477228; bh=3C7NI4InLuOliFVSWxhxgfvgVbDn01tz6+N52bMKX9Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=dbwe9UxuAPttqbE5qCYz0guon89CJhz11dvIJ86JycQ6/4gjSfl25cm2zDbwut99n lRT2/ZxzZl3hzHdAN2B/uVfzarG5rXYlJE/s9hoK3D2yXIHQMT+0dQC+gOaKptH2m+ gpJi+kg5qRcqLcKXzgiSZLSPWD2Ied8nb0M7dCec= 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: xmsmtpt1716477224tkc9yqvq8 Message-ID: X-QQ-XMAILINFO: Mc9fAEDwzgE327EO3P/SqHIYzg9ob7pdG4zxXrffLDaAA3Qjy18P6zMii3avuN +XBwsXCalf1hTxLgKIQ8RWiH1OQyHdTvNeM6Eh/0u4eY/qDUpVLMMWDAoLIIz3XXLDTlngD/faUL Zee8SUt+ZV/zEcXmxzznHP7wW0aKdeDxElfsasBEUKIoPNk40ReuvDDYB3oRVWJJavSu+2ww1BjM xy67/znUPWJUcs12Y5/jjQHS8jsnR/h8bDrJho8+CcERD6zraygQIOnadTMF16UDUup4WgWVaekm 8/8O8OuwNqBlfuvDdmiLjrib+S4BEEBwteCU9+PbwKXf+wyqe8ZFGgLDFzsihvHMdrtuimyyTCrj OSl5tQ7aDXnHj5/aNyUzbEY6jmrAHDOgbUAEnK72/5dYmHLvcxcaErUuBTN3xNM/F8q6KrFTi1gK zsqtVva8mRYgrUi/YO8acbg6z6oWq2aPY4PlCiq1PLbSUhYJS4Zaf8nCXBVFynkEk4cYHdgFnZXI m4D/OQwgB1TaptyfJGrkt2w/xecJgCc1TS3LDGR7Vxbbjc5/JqD81BkuCGGKSzIg7/ArpKS/N8jL 7xaVyi7hULVExJLSIJiAntKtkppCpsmKV/ppRSoMyaYzaSth1Kw+KyuCR9Ftg6ruxDGs4P6ohVoU z4s+2ksyLhNKl1RBqUEa3dIjy8NWvj/DrnWC7OTzIxIz/LYy9hdtgYuW16YbZLiHaUyRPzN72vFN MoKRgwoez+q2Hv04ySn3AOLWaU8jTam0eCmkF9+tIY/kAS6dEmv8PTT4exPn0hExsJrBfWVrr5/3 w0WBeX+6kKHnKOZsRlQHcwayykTxjRvYsO9k5fIhamg+j4Oq4aNWWI2ENLwpkn3/F6xfbUOyi261 KY+j5fg7l3zOclsJoxWbwYaCjccFOW1/lkNuOqpepf1qO2S2rhKozaVlX6LLVKaOBcSEKE5/k3gw 8/xQLGsLhu65gcQp2hYQf5vrMkSWnkQycSrxHVxhXNGtmTaW6R7hgXKyQEqR+QTvwtbruN8nc= X-QQ-XMRINFO: NS+P29fieYNw95Bth2bWPxk= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 May 2024 23:13:39 +0800 X-OQ-MSGID: <20240523151339.22033-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20240523151339.22033-1-quinkblack@foxmail.com> References: <20240523151339.22033-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [7.0 PATCH 2/2] avcodec/mediacodecenc: workaround the alignment requirement for H.265 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: WTo/TnCKWWJU From: Zhao Zhili --- The patchset for master branch isn't suitable for release branch, since it implement a new feature in bsf. https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=11882 libavcodec/mediacodecenc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libavcodec/mediacodecenc.c b/libavcodec/mediacodecenc.c index a898e335b5..d3bf27cb7f 100644 --- a/libavcodec/mediacodecenc.c +++ b/libavcodec/mediacodecenc.c @@ -201,9 +201,18 @@ static av_cold int mediacodec_init(AVCodecContext *avctx) // 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 && - avctx->codec_id == AV_CODEC_ID_H264) { + (avctx->codec_id == AV_CODEC_ID_H264 || + avctx->codec_id == AV_CODEC_ID_HEVC)) { s->width = FFALIGN(avctx->width, 16); s->height = FFALIGN(avctx->height, 16); + // If avctx video size is aligned to 16 already, we don't need to do + // anything. If align is needed for HEVC, we should use the maximum CTU + // size. + if (avctx->codec_id == AV_CODEC_ID_HEVC && + (s->width != avctx->width || s->height != avctx->height)) { + s->width = FFALIGN(avctx->width, 64); + s->height = FFALIGN(avctx->height, 64); + } } else { s->width = avctx->width; s->height = avctx->height;