From patchwork Sat Oct 9 01:59:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xiang, Haihao" X-Patchwork-Id: 31007 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp1496074ioa; Fri, 8 Oct 2021 19:00:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwyZ18Xm5xp7eLz7R3H5jUr1873b1pF+i1IYo//t+0yt3rCtY1LbbJBLT62eCv1jhEnHgeo X-Received: by 2002:a17:906:318b:: with SMTP id 11mr8712065ejy.493.1633744824150; Fri, 08 Oct 2021 19:00:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633744824; cv=none; d=google.com; s=arc-20160816; b=NADLu2z2UTH8HTBbIHPJXSB0CQQyDKnf/Nka8bgv8QMYtRyOpX4m4rrWmehA+d84v6 ShPFR5Glv5vWS0ydvBt9hq1GU/AkWgUnGWhixWh8vkBudlm9YV1+5XthpDGPmYWD/S21 eJlijaFWVhxB1ja6Dp3ATgHN+9JNLMp3nVGkt7hkQcd/3Y2mQXFIQi3V+GtFQubBBEqv D/ZQpKEYt2rvWpgIVv+rzFTBB1tTyKtXMKFLei0LvjhwphXqSWOiL1NWDBAtJhO6QQK9 ENWW2PwIbHzYAxvAIDxP/ZfPZoGyKAbhrmjTPrW7R+1RgpuvfyJFPIuXrPbHKb5037qi N2Lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:delivered-to; bh=AIfG9SbQ3Aubjmtk6J44CDs3zIZJ6YbOUyPAY4B2Zt0=; b=VbnntnBKJuYGJ/aiRNbXkJuicAsXiueNWaOgU/nCJlANHCjGgU0DzCDp7NXDwPXIoA OkAiSBvlVsv9J6qL49FtBYJzKLO7eutc1EBk/DiPWMkzD8NkF6YY6u+0qyK7TEZzfX3o arb2J4UIM+WRm3zkptyN89dJMT2DV9tJ19CG2DkNvVBQXSWEbpd8GsGDk10spIPio1ge RS3QNsLusMkSfeW0MCL1kylfyTD3JA1gigY7D12tjl40cZkaL1Dd6GkhfXdaFogomocZ zZH9u0QE27Trs50szJ3rQeYNMjFlCcoDo0DUnzwZevGg+V4GVWB5pujLI5EuT+83c0Ta cXpQ== ARC-Authentication-Results: i=1; mx.google.com; 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=intel.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f22si1506489edj.372.2021.10.08.19.00.22; Fri, 08 Oct 2021 19:00:24 -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; 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=intel.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 64540689F1C; Sat, 9 Oct 2021 05:00:18 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BA0986804B9 for ; Sat, 9 Oct 2021 05:00:11 +0300 (EEST) X-IronPort-AV: E=McAfee;i="6200,9189,10131"; a="225395631" X-IronPort-AV: E=Sophos;i="5.85,360,1624345200"; d="scan'208";a="225395631" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Oct 2021 19:00:07 -0700 X-IronPort-AV: E=Sophos;i="5.85,360,1624345200"; d="scan'208";a="657997820" Received: from xhh-dg164.sh.intel.com ([10.239.159.167]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Oct 2021 19:00:06 -0700 From: Haihao Xiang To: ffmpeg-devel@ffmpeg.org Date: Sat, 9 Oct 2021 09:59:49 +0800 Message-Id: <20211009015949.1510-1-haihao.xiang@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH] qsvenc_hevc: Enable look ahead with ExtBRC 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: Haihao Xiang , Daniel Socek MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: vznsBa10LomO From: Daniel Socek Signed-off-by: Daniel Socek Signed-off-by: Haihao Xiang --- libavcodec/qsvenc.c | 3 +++ libavcodec/qsvenc_hevc.c | 1 + 2 files changed, 4 insertions(+) diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index 06f55604b5..e21a9b1207 100644 --- a/libavcodec/qsvenc.c +++ b/libavcodec/qsvenc.c @@ -610,6 +610,9 @@ static int init_video_param(AVCodecContext *avctx, QSVEncContext *q) switch (q->param.mfx.RateControlMethod) { case MFX_RATECONTROL_CBR: case MFX_RATECONTROL_VBR: + if (q->extbrc) { + q->extco2.LookAheadDepth = q->look_ahead_depth; + } #if QSV_HAVE_VCM case MFX_RATECONTROL_VCM: #endif diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c index b7b2f5633e..8af2aa0c07 100644 --- a/libavcodec/qsvenc_hevc.c +++ b/libavcodec/qsvenc_hevc.c @@ -248,6 +248,7 @@ static const AVOption options[] = { { "tile_rows", "Number of rows for tiled encoding", OFFSET(qsv.tile_rows), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, UINT16_MAX, VE }, { "recovery_point_sei", "Insert recovery point SEI messages", OFFSET(qsv.recovery_point_sei), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 1, VE }, { "aud", "Insert the Access Unit Delimiter NAL", OFFSET(qsv.aud), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE}, + { "look_ahead_depth", "Depth of look ahead in number frames", OFFSET(qsv.look_ahead_depth), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 100, VE }, { NULL }, };