From patchwork Tue Jan 17 11:17:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Rosca X-Patchwork-Id: 40061 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1d43:b0:b8:6755:f97e with SMTP id cs3csp1727639pzb; Tue, 17 Jan 2023 03:19:03 -0800 (PST) X-Google-Smtp-Source: AMrXdXszGKP9ZoFbka7kxcFlURJEN8tK0Un81so+bBpNIRv1fw/7N/WYl4JE6LZ3ve9hf3WBdp1p X-Received: by 2002:a17:906:7f0d:b0:844:c651:ce4b with SMTP id d13-20020a1709067f0d00b00844c651ce4bmr2466091ejr.33.1673954343043; Tue, 17 Jan 2023 03:19:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673954343; cv=none; d=google.com; s=arc-20160816; b=IMZr6Z+6KNyCx/7V32+/W+hZn26W4y+Sjgfd330yGxrsP95M1y4akSf5s7A68jCjri XTwzvSh7DxCxEz6rLvylUt59jq080bdm5hjWdH2+Xzr1+axgOMEeEfdOhvhM6hD+f0Pm pp1w7y0uK7JiD948uvYneIGYDLy/2fnRbveKHPH8fMCbVI1Aq4EABx/pB9X/IeOky94L I11v+U/ATiDDbtFpNmO6XwNXMiOPV8UYAGUIf0jWE585jm2K9Zs0blrrT29kY0M1U9BZ 4w0ZfMIgPFBqN0wp/2kN6MyylnuBY/uwnCEl64e+PsFV+RpeSNhtWxZ3gpPqZsKbrvkd qtRA== 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=uDf0BKoq/0OqznsaGW6zjU5phab4t/v2gDOTD+F8i3s=; b=b9r+b06UOZBN9Z7AITyDYODg44QDAYPKnVeXuNwwKiU7tUosrDjkUBcLyop3omJqfe FISfUeOxyDkxG+Vb2cNptcVzPXU/pcS+vGo8hmLHuQ0O8RVexLErgfkT9W3RBV15Uf3s 7MYdjSoKviBAHpVQ8sY5n75POghIF7B4cGW/q3CGXNrtsRdyKbayD7vTzq0mx0u6KHQK sw+qy+6KzIVxM1Hmn9eByNhyrXiLrwvuBz4ywMiofXkA0Ozf7erVoJPjcHf0DsBXyFDS Ozjw2nSiDJ/hQYTxRDHUnxD73JBPKxLSvfuRgbYvlP6jYxsUOyQWSUwBsybFBN1RG1J4 aDIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=gWQbDHqF; 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 cs18-20020a170906dc9200b007c164dc0fabsi12893732ejc.904.2023.01.17.03.19.01; Tue, 17 Jan 2023 03:19:03 -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=gWQbDHqF; 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 479FA68BE2B; Tue, 17 Jan 2023 13:18:58 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C006868BD53 for ; Tue, 17 Jan 2023 13:18:51 +0200 (EET) Received: by mail-ej1-f49.google.com with SMTP id hw16so62693917ejc.10 for ; Tue, 17 Jan 2023 03:18:51 -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=kzVEdR+NQIXEdqfRuH5OFQ8D90IAzMPencqrIgmT07g=; b=gWQbDHqF7nQgQlC+3LFDZtyh/tCCzbrQ2YV0xQ89TDBmDPo0O4DUxfhrurSmPRrLC+ Yx+gyA8S4bU/KElZy2GofnBzziehlYTvoMOLP+J2Mf8442CRHDDao8zBNIUYHF6Z0Ibz bQPvd9BwMfkcDLB9Jx7sqRd2yA185l88oNrtsepBhWonSwUB4JLK2JWwYpGh5xl2NINm 0plPtZANccLkCRk14bh1RfeHpjiPjBViMwK3ZdHSYkEhgui4e4BvclBfQL4nH7h4kRWN 8dyM7sRbaHLTLy91aCbTzhujyYLFJ4M3ymUDtSpwtUAlVMMdUonGiYGx2IgeO8i2pIB+ S4Zw== 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=kzVEdR+NQIXEdqfRuH5OFQ8D90IAzMPencqrIgmT07g=; b=jnInBlo06ayZa1R+QAeFlD5slxHn1RiLhk0W4KAEnNE8pm/yTO88qrNuBY28+Nb/Nw pj2nlT+vKBFFDyxuB9wK2MGvJxfnAKqvdUGihfrp2qO7Nm/Ps9a193LHAxwgibtVbntD KNiJ/RN+mrYGul5vfTCaJbrUxY76LvA2WIcH80lkLIjNC61fhZ4hYSW9eOfvtrnO2xbS sbA7I7rOQi5WD7pm3MWb/PgMsQKQJOucMvBkewFQ5EwK8Y8Sl2vizLxELMeQ2DbKB5tV RvG9zcXJ7XcOmZMicSTSTcx32oexNRt4LltJ+RcTowNQUobbYc5h90b795lvEsQP2q77 IVjQ== X-Gm-Message-State: AFqh2kp8mYC5smTX9Zqr2/WSzMaJVSBHRQI5ds9PHihtt344zoT1ZA1X svH3uQ0+JOdl+kZpwMp3ersX0+/rb3g= X-Received: by 2002:a17:907:c58c:b0:837:3ed3:9c2b with SMTP id tr12-20020a170907c58c00b008373ed39c2bmr2655188ejc.5.1673954330709; Tue, 17 Jan 2023 03:18:50 -0800 (PST) Received: from mitsuki.. (ip-78-45-48-213.bb.vodafone.cz. [78.45.48.213]) by smtp.gmail.com with ESMTPSA id um41-20020a170907cb2900b0086c4fbb8507sm4424173ejc.225.2023.01.17.03.18.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jan 2023 03:18:50 -0800 (PST) From: David Rosca To: ffmpeg-devel@ffmpeg.org Date: Tue, 17 Jan 2023 12:17:58 +0100 Message-Id: <20230117111756.120551-1-nowrep@gmail.com> X-Mailer: git-send-email 2.39.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3] 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: 9q7znbqiyNMY v3: pic_order_cnt steps by 2 --- libavcodec/vaapi_encode_h264.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c index f15bcc6..de0951f 100644 --- a/libavcodec/vaapi_encode_h264.c +++ b/libavcodec/vaapi_encode_h264.c @@ -361,8 +361,10 @@ 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->log2_max_pic_order_cnt_lsb_minus4 = 4; + sps->pic_order_cnt_type = ctx->max_b_depth ? 0 : 2; + if (sps->pic_order_cnt_type == 0) { + sps->log2_max_pic_order_cnt_lsb_minus4 = 4; + } sps->max_num_ref_frames = priv->dpb_frames; @@ -643,6 +645,10 @@ static int vaapi_encode_h264_init_picture_params(AVCodecContext *avctx, } } hpic->pic_order_cnt = pic->display_order - hpic->last_idr_frame; + if (priv->raw_sps.pic_order_cnt_type == 2) { + hpic->pic_order_cnt *= 2; + } + hpic->dpb_delay = pic->display_order - pic->encode_order + ctx->max_b_depth; hpic->cpb_delay = pic->encode_order - hpic->last_idr_frame;