From patchwork Thu Jul 6 19:57:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 42466 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1e:b0:12b:9ae3:586d with SMTP id c30csp6461996pzh; Thu, 6 Jul 2023 04:59:05 -0700 (PDT) X-Google-Smtp-Source: APBJJlF2M4Ru2wT8xTfD+MavB/oBixzG6HsW6ACahZZiQ0i0bqR9wHdK2xyVxrs28FgJ3A3F/ElP X-Received: by 2002:a50:ea8b:0:b0:51d:a82e:f575 with SMTP id d11-20020a50ea8b000000b0051da82ef575mr1477546edo.30.1688644744982; Thu, 06 Jul 2023 04:59:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688644744; cv=none; d=google.com; s=arc-20160816; b=jP0NHhMOp844Lb6uMp1MZwLyv3tDuAbprXl+dpxh+00cOGcmVsGEdaNKhphTJyPi7c dyamwXVQBHWC2ddC526hX866xSZKIFQx5a9oNVOUvqLiW3eGqdi1RnTy+ui3MpoE5OHr gyNPHBiJPkHYDI9I61sVMSMRYBkOLXfIEnfAyUfc7U8f16ZtqgYBkcoHB9yHKPNf+wEx wRrW2x7fOVhqB4CkAIZQ+xG26O+FhL3tNbJvQ1TW9wHGqhfsB/U4wcEyHV5z9hIaqdcR Sem0r4EDbzpqliaAslkYaSDLnLtf70iVk5DealoV9MMbENIu9qt1Z2hNA8gtoWrxW6SI bxhQ== 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=kr3Ema+M9aoxtwudCkkI3ARG1Fl1P/G1Fd7WIqPUG5I=; fh=fgsEC5uuZOuzV7r9mTXgvURIGbxpRO08JRnNlycBIXw=; b=XdT5MZmHkWuFDjgQBDPqERTQKb/wOOG6HkO1EA0isGKv0mEWH/e3WEr2Md58llyHjF cV09J2YWtblub3jCQbfVuQT4iuow8kF3sl6T3WedBajv3NXlbFbvt5ZvPh8gIuoqZm6t KAZkBhHI/DO0trMGheTPZLkt1mowjfQE5lJW7wTp2F/KsGZXZmF3gD+RFGEGoz5oqLgV 0FCtuR1VuGVV/zpBbq+hRqMQGeJt1PKgTnxFIsiv3Oaq00d/iCeLnd+5JWX3HNQvGQK9 EYOnaZfim5da9EGUO1i3R4u7mm3c4wsc4l5ZLflp9tZEqc3ZgXGFtIm/nga4MpLtqwsq Vw0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=NhdUN+6e; 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 w25-20020a056402129900b0051e04e2e4b7si784347edv.168.2023.07.06.04.59.04; Thu, 06 Jul 2023 04:59:04 -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=NhdUN+6e; 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 955CF68C6FB; Thu, 6 Jul 2023 14:59:00 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-58-211.mail.qq.com (out162-62-58-211.mail.qq.com [162.62.58.211]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3158768C63B for ; Thu, 6 Jul 2023 14:58:52 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1688644722; bh=fK40XHsQBnQ1wDUEBxb6FM1igh3M/JYC4L0hKt8PnNI=; h=From:To:Cc:Subject:Date; b=NhdUN+6exMjVk/zU4i1cZqjyLkRWe/mWEYZ6LXlqBl1pEEz0F/gxwGIOaZVxZGfms 3/R8BxHW6MSG4fiN8wTm5Ku3OkzuJI26A3VIMotZ6BfqGFQSkIN8Fx2+iXoeEGXrzZ TE48ga/KBCbVw8mNjlgjmjyLrapbpqFemsB9Y6Yk= Received: from localhost.localdomain ([113.108.77.65]) by newxmesmtplogicsvrszb9-0.qq.com (NewEsmtp) with SMTP id EA9B96D6; Thu, 06 Jul 2023 19:58:41 +0800 X-QQ-mid: xmsmtpt1688644721t9o5fsc7h Message-ID: X-QQ-XMAILINFO: OOPJ7pYMv25tdfLTba8klcWn76RvIfxRHPSxnzUtXvz+szoVG6o8rsDng4CXTR InX1LkoknbmVURvpGFx0wsue6qSIUhQ/IFIP08JEuKEa1z6+Q6UkJIq4l5RD740YedzSGSEL9LEx frwItj3K9r31t58e7E0/ynsnN1gwqwsvc0fzJHDXivrxD2vzsSV5WKPz2SqzjczkOV/DLYUHtlPg fc6udd1GSVI/CxVQX/+H/58uWp82A5//KTPR3WSzlJ9tiwmTUHbIidKsnX979oQ9lRv3koHqfyA/ g2mCdWXblUlRJI5DoLzLGU+Xf3hIiuC3T4i3CauLkGjUajwPI2kQLZe6pk5OFluEMRxOsVr660dU SblqxBmsVlQORhm3sSxHX09w18PpPZ8By6S0yjJ4ZVljAUGWQAZdODFqYh+VulOO+K4OQ1qsjSS+ yY83OqEU94GVBD7oOcGoUqYlCNxdbZgL+y57Vj/+G+mWSkJSCpdAb5IZfUPOqUrZ9EI+0NXnrdww +vqaeluwu9m0avAMSa5nEA8XteYXCd5hd5msT+NZ2o1tN/hxWejvOVCFHXYNP8G3h9UISrD4RUq1 rbj7AMPMv2VKBbAWFk5BaWpvtp/egJtYg4hwX2R0Ku2TEt31JSxsdlB+znQ3VtqC3fCcqYofxXuL uCHKfsQOM1KngwPdDwy1K5S5k1BL1nDxUCAHN7gu29D+H8+5LAo/mzw5KqMJpau0WlOgBkYv5RMr 498um2x3fhss0w2B3/qAwK5q9WeB6vol37lcsJQQcjV8r3f4p9OaAwDnx/IqtBkI7qcvYoWVjiVW X4hhRZZX9jn4s2UJPKcplvmGyFlXmjl1SmE7nwtI4+oT3Pm7o87VABBqpHIWNSLu/9xtFkyyRrzH DF+CfLSJ63x/OQYreW2GBorKKMUYd1pjGL9rA/TqiMt+szgPL4GkGlaofLQ0FU8ryJAzWz/w/f3m hIkOdO3mu6W/R/QcuYr3jqEydZ4suh0cVZcHzaf9Y= X-QQ-XMRINFO: M/715EihBoGSf6IYSX1iLFg= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 7 Jul 2023 03:57:38 +0800 X-OQ-MSGID: <20230706195738.1823610-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/nvenc: set idrPeriod to gopLength unconditionally 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: 1YiJEfIsC/Hw From: Zhao Zhili When intra_refresh is enabled, gopLength is equal to NVENC_INFINITE_GOPLENGTH. gopLength should be 1 at least. Signed-off-by: Zhao Zhili --- libavcodec/nvenc.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index 13fafcd246..0b6417674e 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -1191,11 +1191,7 @@ static av_cold int nvenc_setup_h264_config(AVCodecContext *avctx) h264->maxNumRefFrames = ctx->dpb_size; } - if (ctx->intra_refresh) { - h264->idrPeriod = NVENC_INFINITE_GOPLENGTH; - } else if (cc->gopLength > 0) { - h264->idrPeriod = cc->gopLength; - } + h264->idrPeriod = cc->gopLength; if (IS_CBR(cc->rcParams.rateControlMode)) { h264->outputBufferingPeriodSEI = 1; @@ -1318,11 +1314,7 @@ static av_cold int nvenc_setup_hevc_config(AVCodecContext *avctx) hevc->maxNumRefFramesInDPB = ctx->dpb_size; } - if (ctx->intra_refresh) { - hevc->idrPeriod = NVENC_INFINITE_GOPLENGTH; - } else if (cc->gopLength > 0) { - hevc->idrPeriod = cc->gopLength; - } + hevc->idrPeriod = cc->gopLength; if (IS_CBR(cc->rcParams.rateControlMode)) { hevc->outputBufferingPeriodSEI = 1; @@ -1418,12 +1410,10 @@ static av_cold int nvenc_setup_av1_config(AVCodecContext *avctx) av1->intraRefreshPeriod = cc->gopLength; av1->intraRefreshCnt = cc->gopLength - 1; cc->gopLength = NVENC_INFINITE_GOPLENGTH; - - av1->idrPeriod = NVENC_INFINITE_GOPLENGTH; - } else if (cc->gopLength > 0) { - av1->idrPeriod = cc->gopLength; } + av1->idrPeriod = cc->gopLength; + if (IS_CBR(cc->rcParams.rateControlMode)) { av1->enableBitstreamPadding = 1; }