From patchwork Mon Jul 8 15:13:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tong Wu X-Patchwork-Id: 50407 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp5849533vqv; Mon, 8 Jul 2024 08:14:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV0mMDJWzjiHEWJCVgyabzzKZqYp/CsYzVUorsG59pEYooy7c9pQKfKJz83i6/ynUACXUEw5ahDSj3y3c++aTHe2xVJdIXxX+Q58w== X-Google-Smtp-Source: AGHT+IFNoYL0nP2Yb8Loh5yYhVMbIhCwKsyjUKVNtup3wMmE3vdRllMGdJZNDAwt+lG4uxwVMM0E X-Received: by 2002:a05:651c:198c:b0:2ee:9446:9f58 with SMTP id 38308e7fff4ca-2eeb30ba7c8mr364721fa.10.1720451651163; Mon, 08 Jul 2024 08:14:11 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a780aae0fddsi1717866b.288.2024.07.08.08.14.10; Mon, 08 Jul 2024 08:14:11 -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=@outlook.com header.s=selector1 header.b=uzyThjsP; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B7F6B68D7F8; Mon, 8 Jul 2024 18:14:07 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from AUS01-ME3-obe.outbound.protection.outlook.com (mail-me3aus01olkn2157.outbound.protection.outlook.com [40.92.63.157]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 12AD468D913 for ; Mon, 8 Jul 2024 18:13:58 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lVzw4dC8N6nKAgh0S1t4TnEDNyGdgSAMZMx657ujcIh5bQLxYj8KZJFA0sFYsJGv8FWOjaJH/Fv1lIGMiZvhDhSMCTzwtrIAA/vOOpRhp9xLR5+TQrkm0GB9Yhl1WvDPjlS8AUl09t4E+NeOcGKGBSY84L7H5/0Jvsp9WVwwObD/fSd6m+VWfF7qHBFvO+yoJSoEAMy96DA2FfmuhzmXgeppMyb/0XrPZx6g0WuVkI+Y9i7Oy+oFfdm2B1NhH+bQin3ClxQT7vQqqQ+awY4qzxEMLz7cb59Vu1n+Rb/7hLdcRl7lyEYct8EFYfEBozrnzJhIRb2fzT/X5dw3y9lZIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GXpOsrIZSH6uI1rVVJljKcPP8KZOdy5oGZD6ex7jDg8=; b=ecwIA/orZym12HLHtn8peP5cWbXNxl89gVRfl5jD2/b+J5nWXckpoSJ/QBnpJD2i3cX72rhTg8YBwIZfkwIEQDJj4on1gBg4CSWx2AS298pj7N1LWKMu/82p3bSTYp4zR+QWbRJ4Xqdl349geTo3+iPKN8ZKsLGERzYnqNcpCkPdUAi53+KTmvgMTT6uDlXsmLuShWJknfpgOgkIVAAQrF/fK77vqsWqr2UqBO6XwQ9dglnHC6QCfmjURC5cHf4a+P99dk8AZV8ox+NPmX2THlbpF7/69DVoEzt6rEgPxKtZn+a80NizmwtBI1tLvztV6oOm/77zR5vysh3pPcbtGg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GXpOsrIZSH6uI1rVVJljKcPP8KZOdy5oGZD6ex7jDg8=; b=uzyThjsPoSYoezrajyfNsLfR2qPS8Uj3x6yDnCAMtV/ZEUVcfSMKnJYJ3eaJXCBRS8MNQNZq5iZoT88yH8u5HJFJ01yxOf1TBR+kX62NzyZXiQoPyNba/S6bEgT3F39JCIwBBvNlwJWbs3dWTA3yrVgbW/ChMy5zNcMSgSnGKTgopzPlbUon6mqkrionxztd07D647IkHQNpgfN3uw9PpUsIJJ2Ri9TzLaNnEAUEiVl+/7saYPuDKKurznRMV7JYMVR10p/7F2NRrjVbbXPSIcfBD/sh3VNCCZkD8Ld4DYmqbf+vswAWYj0S8DEJ7MryXDaAL27INhsFnKfSsnN54Q== Received: from SY7P282MB4502.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:27a::13) by ME3P282MB1090.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:8f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Mon, 8 Jul 2024 15:13:52 +0000 Received: from SY7P282MB4502.AUSP282.PROD.OUTLOOK.COM ([fe80::81f7:34e4:ff6f:239d]) by SY7P282MB4502.AUSP282.PROD.OUTLOOK.COM ([fe80::81f7:34e4:ff6f:239d%7]) with mapi id 15.20.7719.022; Mon, 8 Jul 2024 15:13:52 +0000 From: Tong Wu To: ffmpeg-devel@ffmpeg.org Date: Mon, 8 Jul 2024 23:13:22 +0800 Message-ID: X-Mailer: git-send-email 2.45.1.windows.1 X-TMN: [fLe/HPu8E+uSzBl2BO0VywipPjewOHoT] X-ClientProxiedBy: TYAPR03CA0007.apcprd03.prod.outlook.com (2603:1096:404:14::19) To SY7P282MB4502.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:27a::13) X-Microsoft-Original-Message-ID: <20240708151323.312-1-wutong1208@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SY7P282MB4502:EE_|ME3P282MB1090:EE_ X-MS-Office365-Filtering-Correlation-Id: 4811ce54-c7fb-4734-f1a3-08dc9f609393 X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnpXB0xcNeDVdJIgd0h0Wm5oWE0IIgWyZVNz9q2+/A4nZGGDQTsRvjJ3+nmPby0dG6CFW1HjiOErVLMC40SMALbF6D8Am2awu7mtJ6xdZJKxDW4uM0vyw80qxTk6cKsjCqiUpRHeczM+5JuXpzt5qKfU2kDMGMXsnzBwMGxAtNWcBYMwzmGdyMxyB9s62mSOigVdDRZ3y2PDO5e0Kop8tXXLAYk1wH51yKzKnwADeuYnn8LFyEHx24Z2dhComDChwm4Wqd5W0JWi1dXYuzryyZTg99NtpXrXX1kPURmC5nf+70gQTiILEE9OWxPi1qurmWErQgMtZvmZ9oqNvDsobc/VTAV62gm+LWOFQMJNGnFB2QdTmLRONbt0KwT0OTEUqnWY7dYqHw5SZ/9X6raEEe+AeqP6xLOcaSmotbyjQZbqeaNQCll4BZYmeqjHAXnY5CZv+MdhbarhN1iOpYJ0fnLbWrJpRqd4h1fOddLbdpVjFtCNBN3oeB43VYjayR1lNVoqhnPeLjKBb9C++kmsJMen6VNJvsElJlZg+uBD4YhP3CTdYD3b58vfbNs6vZh0O3piDd18N9TL0UEnVkjOXoTGp+CXDX5AoxGFzt3tTJmyxtFaLMauieDMbXCFWXZxtew32uan3n5UX3vF6QctfGGGGJ785Qno0MXkLVfZs5R5hbV7MpsNzfCvET+jrnuKKWxjNRc2Px+oGU4HpIV6DX04+hTfGHTdAjZHFZEJBnjqWFJFueAFspMq0RX1hXSqUuU= X-Microsoft-Antispam: BCL:0; ARA:14566002|8060799006|19110799003|461199028|3412199025|440099028|1710799026; X-Microsoft-Antispam-Message-Info: 7PmLOzKsbc2iP/vdSh/4+0hLfweCf6nB1uQgIiHbyvCuXZrLG3vwPqIxgjgSvYJawS0ALE7C9TfV4ACpTI/t0Ew5eSKDTNegJB+sLS8O+gLfLhOZwLyAut8lBZPvJ+PbxlgrzSSJ/8V15XtRC4BQgQECwFx/PPbvYzZ5ZViS3NJzCAne5pdPHevZiFEhVtL9aWoW1Ub5ypezby1l4TrM2cOK7EiRaKJIwUc86ifj7ILb2TY1dCStHlkTF5m9ZSkVTEw9DRLwsNqCPtFw6V7CV6y26BduwAW9W1p5Vj45v0rQYI0cMV3NQtlsXZ1dsoutLKY/GQ/xq0MsTTLd9rgfzCBZ0YoVcG6AypQg/rrLs7w2a6ZkyizBTGrf3tYYtGFjgH2ZhQAUxLih+jeCZIkX5zq7kdL4sEYFVL3NAnnqeqCk15wuRBm/4frWW2NmBvdvxaYHgSMyhsmAFzCaLWBwgzzvJZDplt/hz/IQokYIs15KmqvFdAP5dB92h4JL2tktIbHR8x3bTleB9SL/GvzO6/cInM3uZXZnLQCp9tJ9zr6KEJ/GV3BVm9YzCdXAZd/HFCf3w5gSI9IbsCrF+D+2HO31UAWIlWvYIwChR5BVXdcsgM7RPyIW0MJjGwAuTaeT3TDTCFe8NsR2kWthR/nbIG0Rbr2YZ2tI9ZSN+EHVs5IAUjoeybrP0E7EMeR8Vybz X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: bmcNzNtU1akhmfCuTxVs1Jwk8B/1C4Go5hxfw2Y8lg/+G3uRkP3b1UFlw4+j5c3EPGaFS7OmDPIIxFUWc8P7e+10aRu+HzCpkq9EzxQmKu3CEmKzhoMgtpZxpA0ItzFHbaukjPyhoziRx+B8M+SO4TqC0bEwXf+GBmq89SXk8aFdrmgBpMQmRppLjguc5fpbS+et7Zdo7KCguLXFXcutakpRUfrMvPPt39gl1/lTN0urA6WTDS6uqZMBBfFX5ZqeQ+ejR1wJEpPxmqLNXJKI4/50GIARovUvxAr0OQZZ9YHy/RJZZFUlpQ54AdS3Ua4gNtPd00NRWMzeWE2Y8QenbW0SLAPVn82VRZajQdKyYfgg9kopt/mxrQsMolBERA18DehMKthLsYpufIAEy6VCrd9QVSlSXOhCLaW7eC1xMwrlFjLDS3cbkkxaVVSHfqnVm94Db8IKVAvQwECCQa56AbhbVr29GpM4xxCLi5q4iyLB7Q95558NXKA1DWf2BiTHH06ZOhw6x8Bwi8inGmkY46PPFaF4+vw8CS2cN7qr3TK05goK7HyjvFfxzRtV5HClnuWo0ulclK3LMD51X8A6VvAmDkjaRWBh05bH/AhBueT1tYj4YxuxeeyWJcw8roErolY8kAsLOZXMW0fZP6xi4ZO5cWE2k4FASi+uq2llY7f8vDuzgNB0sdasGJZMrIa4JnOnR2KZ8sZainlRXUUYzhozfR/mno1wlz9U/F5GkyjL39W40zIfoUev32bgGpyhpXEkD49MAwICdYm7gIOkL1Rm32Wt1elTOrgt+S1UeejBTPC8g7kcZMdXu5yk+ezDF7SFodr0isIlt5dGEhXUUSzlqMHR2lLTuprC3FvqaFB4FhYCRPmodG5juYq672/8CGgvzUVDrigAf7HmWMVZ4vCYDoKGnUW4yPp7CaBe4bk0G+ueKUbH8VvCAkFOUFwFvgJmPCW35RsX+tPDE9V9A+I1d9c9/1PaXD3K+zu8fasa3B1qbxaC3yJW/m/ooNmXmku+7nXxzrgl1+5XlPQBLSZTEUItCJGAeGpdg6SdPKYhz+bhti9iXeTx8gnZIpsURlHoQ83ZXL64dQfdL76mDojYRPlCR9/bwU/LhNbMzyjs3TY9GerD/57uF8qgHu04jIoaMUEiUjaKgQO5KpvjNgfQDF4+D+u6R0DqByX2bBMXqA+HlpP4ZioXXIU0qi8KHf5OC7kVoPfCVfDFPOYE07nTH6JRNQUy+JGrOsIzAj4= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4811ce54-c7fb-4734-f1a3-08dc9f609393 X-MS-Exchange-CrossTenant-AuthSource: SY7P282MB4502.AUSP282.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2024 15:13:52.3956 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: ME3P282MB1090 Subject: [FFmpeg-devel] [PATCH 1/2] lavc/hw_base_encode: correct the timestamp when input_order = decode_delay 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: Tong Wu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Z7Ns+1xGqIb5 Fixed the command line: ffmpeg -hwaccel vaapi -pix_fmt nv12 -s:v widthxheight -i input.yuv -vf "hwupload" -c:v hevc_vaapi -bf 10 -b_depth 3 -vframes 3 -f null - Signed-off-by: Tong Wu --- libavcodec/hw_base_encode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c index ecb4be6aa4..869096caea 100644 --- a/libavcodec/hw_base_encode.c +++ b/libavcodec/hw_base_encode.c @@ -472,7 +472,7 @@ static int hw_base_encode_send_frame(AVCodecContext *avctx, FFHWBaseEncodeContex // Fix timestamps if we hit end-of-stream before the initial decode // delay has elapsed. - if (ctx->input_order < ctx->decode_delay) + if (ctx->input_order <= ctx->decode_delay) ctx->dts_pts_diff = ctx->pic_end->pts - ctx->first_pts; } From patchwork Mon Jul 8 15:13:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tong Wu X-Patchwork-Id: 50408 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp5856005vqv; Mon, 8 Jul 2024 08:24:07 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVbfh5i1eCRR7RtZZiXHfPN9RWbEY2lg//zrUPANYkhM7MiJM3bl4+uWrH8boD9ED5jowwQJCMHAQPVeXYw/oON0H7sF0QaFfKThg== X-Google-Smtp-Source: AGHT+IGjvkTjNmmev5Qcy47Xie00bXllkXiW7+egdxcZmvSaKcO4RHzhuwtjhtX3BrXKobVRo4RG X-Received: by 2002:a17:906:4556:b0:a77:b8d2:4566 with SMTP id a640c23a62f3a-a77ba72c927mr692475366b.77.1720452247229; Mon, 08 Jul 2024 08:24:07 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a780a9c84d4si3145466b.186.2024.07.08.08.24.06; Mon, 08 Jul 2024 08:24:07 -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=@outlook.com header.s=selector1 header.b=YWjHXmTm; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C67ED68D8B4; Mon, 8 Jul 2024 18:14:11 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from AUS01-ME3-obe.outbound.protection.outlook.com (mail-me3aus01olkn2157.outbound.protection.outlook.com [40.92.63.157]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B656F68D85D for ; Mon, 8 Jul 2024 18:14:04 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NYlvG6qptZ86WWUE3CMM0jH7EBhVXF9v+jtJOGKYCK9hT4sySxpEpupmlO4LZAZuL1TgA98ydscJkQvQPLNRIMu4bHOBZTvuQhpaOifiNG/0qgGGIBs9U4rYwi6O6ONe96zUMiojyLz+R1LCPBd6qbDHRm4gGmmsvvX624HYSJtkdgthSQkmM5A0PALTrMxpf5axuZBu3/ivcT3Kn7ADUmOM2CkuK4sxQxf3ZacJGU/HZtCqVKyuylY7W7f9e/d56oog8Z0HLHjAkPMuic4+cjzm0DNTIbIH/krVwqUzRw7ID7ieyxWS87oNaB/PZqKhJk5+EQa72OtxJyrDU8k2QQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=pKgBh9euvQrdkuzdf2Od3u6RVDeG9VBNqwjzZfgotB0=; b=a1Mxgy6WVHH6pkG2N7E3avgObXseid+cXbRQEK7CcZFd0SIu4fcgsJ8EFfoRVRqS926A3xdLV7Keva7J1dG5uwFmjYJGkVkkdotLX53RwebWmtUeAIU0fhdtBlIT7DaRIh4kaEAFJ7X9QKagTPa9s9bpNF40v7y4kLEMsrh6NGsFVmt2tomUAa9kdadm/uh+GA5aZcLG47L62ode6QijsQVefTqqlu0KXCBLpDQCG0jGL5cMsklF15q71IexHfAMWaOqDNav0MA6QOF5RqAC2z3phOAAa3w2f79/J1364QorZo9ppGK3uf0gSXtsqrCk7zU3nx4gH8VtXuwdoTTMAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pKgBh9euvQrdkuzdf2Od3u6RVDeG9VBNqwjzZfgotB0=; b=YWjHXmTmo2chF1J0liAN1zF69XMAZ+TooJojbcIIl8GtsXSDZs6m9ywJGcKT+zI34z7YkVFdT+CuDgjlFeKj1JQCyepElYIssBwJD6TDii1z1MgcjLwKk049dV2bKzA2c53ZJH3QDMR2Escz1aPPzhbOzE+wo8dW5BbRjWo6qGfSRII5xV28SL4uOuQaKKLyhclIglE7ObEDXMi1W66dPv4nf1MmsW+91HKOGWbB0H1d7fXQnu5TFbqznaogZhTOo6npPyK72Jd5bmSEaJVkD3rlXawiJOZ3Uuk+5gHr+u15kvBrcXlFBQ8l8lWdEdiYvpMnMYPNLxEQdL3ocg6v6g== Received: from SY7P282MB4502.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:27a::13) by ME3P282MB1090.AUSP282.PROD.OUTLOOK.COM (2603:10c6:220:8f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.35; Mon, 8 Jul 2024 15:13:53 +0000 Received: from SY7P282MB4502.AUSP282.PROD.OUTLOOK.COM ([fe80::81f7:34e4:ff6f:239d]) by SY7P282MB4502.AUSP282.PROD.OUTLOOK.COM ([fe80::81f7:34e4:ff6f:239d%7]) with mapi id 15.20.7719.022; Mon, 8 Jul 2024 15:13:53 +0000 From: Tong Wu To: ffmpeg-devel@ffmpeg.org Date: Mon, 8 Jul 2024 23:13:23 +0800 Message-ID: X-Mailer: git-send-email 2.45.1.windows.1 In-Reply-To: <20240708151323.312-1-wutong1208@outlook.com> References: <20240708151323.312-1-wutong1208@outlook.com> X-TMN: [H8C3vGvFJwBi/EheRsfDeo1hiPLpYv/B] X-ClientProxiedBy: TYAPR03CA0007.apcprd03.prod.outlook.com (2603:1096:404:14::19) To SY7P282MB4502.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:27a::13) X-Microsoft-Original-Message-ID: <20240708151323.312-2-wutong1208@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SY7P282MB4502:EE_|ME3P282MB1090:EE_ X-MS-Office365-Filtering-Correlation-Id: 00103117-db98-460f-c533-08dc9f609456 X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnpXB0xcNeDVdJIgd0h0Wm5osI0utwFqGnc5eti/5vb5asT9lzql6BTuGFTGpl7aPkZKnTp0Brcb+4eKFYPF/znw4E5xyXG5j4xJvnjuEoz8EDPGzKdaLKBIo6CnjqPHgfAZrr88rNFnGiVv8lvRy0Px8FdgIdxus2k7HYN4KzeqfYFwOp9+IDWaekJaa3C0IMlNc9VxZ7VC5Zk/GvsfVxMoHtxTOoDCfId4edBGQFEd5DjH8DPV2UTM0zvlsDlp55D8L79uq77Tb4u8hvUbimQFlVFRWcHdNmZPaqXnCQMtX1b3ZO5ySLL6YbuJ6nG4+uZbGEh/2t5LzVFx/q5f5ZvFvNwVtIOuYnWfB9JTkHl6fs/+8dCMxzOD08QzzGGw0untSdDkmaw9uMPOAA4oYmeW3H4twczObT6IABdG6gtmBbgTLOcXHUnzVWmhsH9HBxJj5i/5Jd2ZNXFldbJk/J175FlpytWqJSqoNq4DkmyKaMxZLrCpEFUTXFb4mEgjHNkLZtXVJvm5ciphRDDHDlPv7C51sH0iy07PSOxmBvnZVKCEALc2xLxLADhklPQp4+PlNWp02KllsvMZ+JUbm7IUV8VvtKvtDns+DipqH32HB9l0t3Eb3HE4sV6hJLwknrYDcrJEPDjtzUjteXiugaHbcWaI3c8AzNKqDqkC+RbcahzVv2gP+yqQqCqXFknMJlNQPKF2oZw2Ot+v6TMkY+ktvBWA9IqLNRLTGYW0Vzfh+0zhv94G3Rhhu1cTX/akU7Y= X-Microsoft-Antispam: BCL:0; ARA:14566002|8060799006|19110799003|461199028|3412199025|440099028|1710799026; X-Microsoft-Antispam-Message-Info: ZMPRwpX5uO8hcRI1/in0AqQ9kYcyc88fplcSIa5GwTvQ+N2L03g3JeStUJ0lhvF/FmWpEfYaxLA+z8xXx2rijRjNKMmEEsh3YWSg5hHmciiuAL3KBmcj+WtMyv6cO48nVKhmPNbHhHm/8hcXh/824PDLRHbQ7+M8lEw4kslsC16BYdwUuaNPrkZCp6yItqIs0pyEBBP7cl6fYJ0/k6MNFn0EPw5vBuXW3f7PVW3i7b0/hNH8m2ALucrfAlYMRiZfLqsxh/y5AaVX5XDW5dbV34ro64V7j8GvvzK2D3QvDbc7vaIUJrWXWAio7pkQldDW7i2781Au0fX01afauazAb2wAY3t7/xbABntMxrNbpyxBwfdRt125DQe+OLN84k6OzdY282CQdD9XggQO67H8WZ8JTTRIGQobBnHiqAeDS3P5OtOzMI/VB+w38p4E7NuIebEoWjiQ/HgqXF6nQS9n6rJjDKh6BQdOtXaQfu5dvqqsezg2x9JN1G+MKOKAUXosH0rA2u+Q5qj5cykBPbGaSTgNKK5PpJRt0X4R/u2bgM4MUCOwd0KAk1+UcAdR6LZGEYxE6N9WKNTk9SjGNn+c1IT+CxXcJ6EZdv0dojbHSVwHWMy56osMm+SOtceeKJgLq3r6vWm2CyTWgPis9KdlXeOF0aiIfF05zSErA+uRO0uWFLxxY83N/lcUco/WyA0O X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: hnvV7vZpxL4Ft2DgIx8iDJRAKalcD8DI8NKGUcK3OeNNmKafqyV48mmVqEVGTcYBlysqy0WwHhNEgUAzJQiNSBzE8599RfQTKdMWh/F530vs9LG5XZq7oj7wa6P+GKp7yaZzhXcv5kU2x5Wd36TW2H18m8jZM698upd74Y4gYFmi3nCKTfa003vRLj83q2W5R31uqkOdfKM+aySPjQJsp0MgWBHhDvZQSFiRykBt1TT44Qr4c/mNfnhtaF+On3aLRWPBUeWRZlmddOhp7tQFvoJvIBpvvcZ4ZooNWgUkrRN4eB8TuV7AYhUlRAilBh60jqf8sXYrgG35PHLFOuQ4vg78b9j9XVvIUD/riYQqZOEc4ABgtBrj41IpxRTLAarnsUeh36Smf+R6tkJsSEkALKoS6JnLv2HzP+3FaqZWF22RNX683L73MI+sRk/O7RD/nNWQXYJRyA42raFNIzYETTeP+lNIf0v9ic/LYf2ad55/8/hdLeoSm1iGlqFBMfyAp/zdtYUrEzpr0DENyGGX9gYmlDU5LwDr+1JdQpTo0cYuKSrvXkIQJR9RlR38Tx0aZpQb7iuRoErXeFG2XGKIB9yjdan4yaiLp0IxPP6Ne7AN1HmFAnRXTvCFO7zdf+on/p1y/4ORQ9ddWmC43FaoO5ODmUmzIW1qqJ4hb3x0Ne8tvNabkrcJPEHNo+TgEgsBYsQJ4NWdNxGNJZWYa4XgCmWKdqPPUjyjFrIltJxuzjshIYBQYdkRDOA9UxOYzCc3PM/uh0xlgeiMeEFOLHyF7kg6FhlXtYKRnPTSMnQyePbEXJikG58W/4rSeXsAMzMJy87ZFGyVEAYimokKQcz0Mdq+FYK4Ra3ABSXBVNWE6V982tvRAgC9V/vEY9njIG4edd2JRUF7CpYMQzONFFxQR91/iYKfqe1U+6pmNdV7TyLKH6MBu3WH/cgzxidG+FCqG635BnhoKC96hpgbFKlsCyIRs6PXxjsQRkKmJk3Ao4ZpjAq6E5JB5/eKUcdxWUQXIuFT1irk8afxNL5c1akuFQMae3+xqyHTF46PnjiWYhT4xNqlmybh12t3uSEdlVgYjc8qBZOficKALxTTs3YHA82d3pijFYfwK+/gzxIHV4WM3FvBjvVgmlA/MZvatUzNX/fKu2qgSB2xRSM9SXugyvqGWwc5G8WYuKgwgoJHMYujuzOWO+cQQCyF5W7RVWiX5uiM2e7uQpoTZAcvx77RdPp/cTrvy5PveOE4pCtMYEc= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 00103117-db98-460f-c533-08dc9f609456 X-MS-Exchange-CrossTenant-AuthSource: SY7P282MB4502.AUSP282.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2024 15:13:53.6159 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: ME3P282MB1090 Subject: [FFmpeg-devel] [PATCH 2/2] lavc/d3d12va_encode: trim header alignment at output 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: Tong Wu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: hkBElak3pKTw It is d3d12va's requirement that the FrameStartOffset must be aligned as per hardware limitation. However, we could trim this alignment at output to reduce coded size. A aligned_header_size is added to D3D12VAEncodePicture. Signed-off-by: Tong Wu --- libavcodec/d3d12va_encode.c | 18 ++++++++++++------ libavcodec/d3d12va_encode.h | 1 + 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/libavcodec/d3d12va_encode.c b/libavcodec/d3d12va_encode.c index 9f7a42911e..9ee9da41e3 100644 --- a/libavcodec/d3d12va_encode.c +++ b/libavcodec/d3d12va_encode.c @@ -308,9 +308,9 @@ static int d3d12va_encode_issue(AVCodecContext *avctx, } pic->header_size = (int)bit_len / 8; - pic->header_size = pic->header_size % ctx->req.CompressedBitstreamBufferAccessAlignment ? - FFALIGN(pic->header_size, ctx->req.CompressedBitstreamBufferAccessAlignment) : - pic->header_size; + pic->aligned_header_size = pic->header_size % ctx->req.CompressedBitstreamBufferAccessAlignment ? + FFALIGN(pic->header_size, ctx->req.CompressedBitstreamBufferAccessAlignment) : + pic->header_size; hr = ID3D12Resource_Map(pic->output_buffer, 0, NULL, (void **)&ptr); if (FAILED(hr)) { @@ -318,7 +318,7 @@ static int d3d12va_encode_issue(AVCodecContext *avctx, goto fail; } - memcpy(ptr, data, pic->header_size); + memcpy(ptr, data, pic->aligned_header_size); ID3D12Resource_Unmap(pic->output_buffer, 0, NULL); } @@ -344,10 +344,10 @@ static int d3d12va_encode_issue(AVCodecContext *avctx, input_args.PictureControlDesc.PictureControlCodecData = pic->pic_ctl; input_args.PictureControlDesc.ReferenceFrames = d3d12_refs; - input_args.CurrentFrameBitstreamMetadataSize = pic->header_size; + input_args.CurrentFrameBitstreamMetadataSize = pic->aligned_header_size; output_args.Bitstream.pBuffer = pic->output_buffer; - output_args.Bitstream.FrameStartOffset = pic->header_size; + output_args.Bitstream.FrameStartOffset = pic->aligned_header_size; output_args.ReconstructedPicture.pReconstructedPicture = pic->recon_surface->texture; output_args.ReconstructedPicture.ReconstructedPictureSubresource = 0; output_args.EncoderOutputMetadata.pBuffer = pic->encoded_metadata; @@ -663,6 +663,12 @@ static int d3d12va_encode_get_coded_data(AVCodecContext *avctx, goto end; ptr = pkt->data; + memcpy(ptr, mapped_data, pic->header_size); + + ptr += pic->header_size; + mapped_data += pic->aligned_header_size; + total_size -= pic->header_size; + memcpy(ptr, mapped_data, total_size); ID3D12Resource_Unmap(pic->output_buffer, 0, NULL); diff --git a/libavcodec/d3d12va_encode.h b/libavcodec/d3d12va_encode.h index 1a0abc5bd0..51440428e4 100644 --- a/libavcodec/d3d12va_encode.h +++ b/libavcodec/d3d12va_encode.h @@ -43,6 +43,7 @@ typedef struct D3D12VAEncodePicture { FFHWBaseEncodePicture base; int header_size; + int aligned_header_size; AVD3D12VAFrame *input_surface; AVD3D12VAFrame *recon_surface;