From patchwork Tue Jan 10 08:17:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Rosca X-Patchwork-Id: 39951 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bc95:b0:ad:ade2:bfd2 with SMTP id fx21csp3726186pzb; Tue, 10 Jan 2023 00:24:28 -0800 (PST) X-Google-Smtp-Source: AMrXdXsAgH883aydLqCDf5oJXWCHIEgPdoTn9rgFpNky2jO9x+qSHUwiCOIW7hI5dpi3YEkC/nas X-Received: by 2002:a17:906:d047:b0:7b9:62ab:dc3f with SMTP id bo7-20020a170906d04700b007b962abdc3fmr70146990ejb.1.1673339068092; Tue, 10 Jan 2023 00:24:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673339068; cv=none; d=google.com; s=arc-20160816; b=fJYBJAiaFHyb8ZBPYllhqMrk42Gar5W7bo0pfbdOIWA/BtCGUzrcOI+JQ6MT8S2AIE XsVE2nRRKwDSFSzaQyFyGTrgKFhcsbfrZGzbRdw0SclMMjLZC1QXMhi8QYe00dOxAR9S Ihe/8aAfyYPj/nTnfa7m7gqc/YFC52SIlqVsEBq9hZcSsRBPyiFbuLthlnPfskUc6O7c CSdJYn6V6fiNTvJ4pxrTG6GYkd/jCb2I+XTMAd7BsLNHWTuq06ylVwe7kY3do/CHTyHh MMgTHiY6BJw44qNVPGCzZMnFdNoBOmDJ6bFBCYRqFgEdX3QL1pOzYCRk5LF+7SnVfFZ2 X5KA== 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:message-id:date:to:from :dkim-signature:delivered-to; bh=j3RR11XuwC3kq5Vk3vNBnG+MHc4/Hr8buySR2Skmizs=; b=kW2ojDLathySgQVKT8EnQlo8JHB3pn5mp7uNQ7Tq1ZASwz6+htWnKqDFBZLEkSxMv+ CAUYRPn1cQViurXjbWqYVCbQi8OKG41XbTD2h863zx54kMGGkf/JvcYBrgvr+q/VmfuQ kv/DRNdLLrFnO4ZtifvTYc1o8GAbmR/qj/Bbqzt+1Xmw9CBVc+PKAOl4cnk86eooDZYG Y3gUJphjdES4A7LDvN7OtfuDyAqYyw4ljo6WsSPoRWikU15zMeMDEjXOlFqjzR8jIh+b TaCXYwB0LL8MHIKEAVNQefIlLUwyBZpwemVzURP6pDgHk8cLaDbJmj151zpf+XvGNLAd u/rA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="C/og4ORw"; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id xj1-20020a170906db0100b007add5af39f6si9921302ejb.929.2023.01.10.00.24.27; Tue, 10 Jan 2023 00:24:28 -0800 (PST) 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=@gmail.com header.s=20210112 header.b="C/og4ORw"; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 27AAE68BCCB; Tue, 10 Jan 2023 10:24:24 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 501FF68B838 for ; Tue, 10 Jan 2023 10:24:17 +0200 (EET) Received: by mail-ej1-f41.google.com with SMTP id ss4so19300844ejb.11 for ; Tue, 10 Jan 2023 00:24:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=G4UalgtKYbKfzy38AfOwOrN2zqSqRteDgHp6sDDN2hY=; b=C/og4ORw0eLrgILa9HhN4pkI9wzlI2SZhtAFZ26VpYjy4VMKC5d4URk1VIiPHldg1r 3t7r5DG3HcdNWGg4Jl0WKKCGdrfVOo1MDk2T5M44IngermB7/kqunus1pwNk2uTRrNyM Gt6fBwdYKRWoH7MR9dpfp10+rMlinPntTywFEF1hBZpubqaUpDOsus/W0VY84GuQJsr0 qlg8x43/yY6amyIupUxgDEV8wDN59/n7Cdpijbzq2BZpplZrxzQcRTbzX6wwtUjqgmrF aBECzCCf4kDnjs6kzNCCSI5n8YvPom7SorYQrn2Twg1rTwEzr1eI8EWVfuSE0lkMkok+ vl9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=G4UalgtKYbKfzy38AfOwOrN2zqSqRteDgHp6sDDN2hY=; b=wBiy9Ugu+JFYuBOdnilAkq96VAJz0N+3mziq357GOc9OUaeHgnCrq4viFEgJq1YfBG u9C4bQseAOIQloZGVOqNXJlMmHhZ5UTMvETj9w28bHUP7QT/80Fm1Q8Zqdm4TCJXpcSd Woglhh3KJVhDxU3WqP+RXstj2gKhq++ayJ56DD6ShlqAKMdRb/XWGqv3uldC+xZtpt1I kcchviZ0mdZVnN7L73kfPnfB8cg/h4VAhKrX8ym2gCJYage6llTA/O5DxpKcSDGuu17C qWtywG1O+AAwibwp+4EyIEKdVnXEfX5ttg1xgFDafFxTh1wk2gVSCBYQsEezg9VlqXCJ s9ig== X-Gm-Message-State: AFqh2krvBYnZvsm8zmpn8wVlyaTKM3CSbIwxcKdmk2wVGCzzu1L8vtrI Zc4RruY9XHVIjLXWT5AULRyni2wojRsyVw== X-Received: by 2002:a17:907:d045:b0:7c1:5464:3360 with SMTP id vb5-20020a170907d04500b007c154643360mr79483731ejc.65.1673339056350; Tue, 10 Jan 2023 00:24:16 -0800 (PST) Received: from mitsuki.. (ip-89-177-112-102.bb.vodafone.cz. [89.177.112.102]) by smtp.gmail.com with ESMTPSA id gk8-20020a17090790c800b0084d35ffbc20sm3628801ejb.68.2023.01.10.00.24.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Jan 2023 00:24:16 -0800 (PST) From: David Rosca To: ffmpeg-devel@ffmpeg.org Date: Tue, 10 Jan 2023 09:17:25 +0100 Message-Id: <20230110081723.83586-1-nowrep@gmail.com> X-Mailer: git-send-email 2.39.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] vaapi_encode_h264: Only set pic_order_cnt_type to 0 with B-frames 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: David Rosca Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: M7QEYMAXEGN+ v2: frame_num steps by 2 --- libavcodec/vaapi_encode_h264.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c index 7a6b54ab6f..8093c47179 100644 --- a/libavcodec/vaapi_encode_h264.c +++ b/libavcodec/vaapi_encode_h264.c @@ -349,7 +349,7 @@ static int vaapi_encode_h264_init_sequence_params(AVCodecContext *avctx) sps->chroma_format_idc = 1; sps->log2_max_frame_num_minus4 = 4; - sps->pic_order_cnt_type = 0; + sps->pic_order_cnt_type = ctx->max_b_depth ? 0 : 2; sps->log2_max_pic_order_cnt_lsb_minus4 = 4; sps->max_num_ref_frames = priv->dpb_frames; @@ -621,7 +621,10 @@ static int vaapi_encode_h264_init_picture_params(AVCodecContext *avctx, } else { av_assert0(prev); - hpic->frame_num = hprev->frame_num + prev->is_reference; + hpic->frame_num = hprev->frame_num; + if (prev->is_reference) { + hpic->frame_num += ctx->max_b_depth ? 1 : 2; + } hpic->last_idr_frame = hprev->last_idr_frame; hpic->idr_pic_id = hprev->idr_pic_id;