From patchwork Mon Apr 29 00:35:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48349 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1509:b0:1a9:af23:56c1 with SMTP id nq9csp1698514pzb; Sun, 28 Apr 2024 17:36:24 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUFvIEr1AwmOPABFrlsyt7jloGzlpa2trfEomWjMw6NwdrFjl+BsSjwxTwFtLPLF6oC9lI/J40/DVBlje8G0q0a01sZD/j0i2bgSA== X-Google-Smtp-Source: AGHT+IFJvP25KTr49a9YCuYxUMwW3uVcmuThio8o5akVC8Ap8OFEqpDvJVotlPdbUYbFRD9XS/yI X-Received: by 2002:a17:906:8305:b0:a52:3975:6e47 with SMTP id j5-20020a170906830500b00a5239756e47mr5312058ejx.34.1714350983813; Sun, 28 Apr 2024 17:36:23 -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 ga25-20020a170906b85900b00a5816a70351si8021215ejb.200.2024.04.28.17.36.23; Sun, 28 Apr 2024 17:36:23 -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=BC47YNeY; 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 C052C68C0C3; Mon, 29 Apr 2024 03:36:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03olkn2048.outbound.protection.outlook.com [40.92.59.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3191968D435 for ; Mon, 29 Apr 2024 03:35:57 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hF4ZCTqMinafOV9rj/3oDh24mjPR3Dz0xsDNLVTviTeWdwdLo45jYiDmCeTG3c5npJW9zNqVlLXT/MF5e8cATZzOtWgI0zchBL2Wkha0BhdlYxMNDoAIqyxXDks6n5FaZxzv0ELVVVm9JWEh8IWZBCfKDaTkQZC/i8I9ry+1VFcSVpXDEGnNH1ME/li5JH8RHQb1i5vGEmQ7bTxOTofa6Fx4Woc4Q4TefxY2xSJU2QIygeklhzyPgeEw3MOWsD96IJYAV/HNHHGc2neKUQct9GCKh50q9AIAWsO5LGu8P2r23FFFIyxKhAeNtRM2GRXwW8p3oE1NPQK72d+wShXM7Q== 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=PSVwu4lUq55ip2m7ct9b/MOeed69vu+V7UUfgxQZbmg=; b=nU9AHqi9E0SsnQxQ6PB1uSPtgZDpDF24AGd34wDznVgGVLKQilffo4TMST7DNOA97dR4GAJ6ODoctrjvuZUwuJF/Py8XVq778IkvdaGq7E6iPgWUUoEM6JUK0usv5K2IXB6IIwPfsSBwluf/0E9foYOGuFXv+nqRwoRIqjRRfOACNVUpx311Q5UcCwe4L73Hnz+LOn6TWXAUg4i5JE48VUwQabPl6pih6iziqiPP2seh/2KGAN51bXQOmYi3qThGwnevHnPQF5IMqKoSweEnNXoOcvSEv6QoWMxNmJdCdqVit9UtX7J+vhANjV52Rw6cm3xqJmRtBmgp2qjKwdOsag== 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=PSVwu4lUq55ip2m7ct9b/MOeed69vu+V7UUfgxQZbmg=; b=BC47YNeYXJHwvk1Wcc8eIww2svsUam7AzuXsk21gB8C88WyUfMwOfspKXF/VJ8FgBz9Wp5S6HxMSrQiGLrdWp+a6i6qpsZaKntMn6OCdfe+BSzcejOKHlUaHWr1DqvlFdUkFlwOqBGmLKqqurItluxZT3T8NRFErVbdq9HAX0/DsTKCTgU7Cgd96LlACAeYttfzFcYFSD+/OECZGzgkPfgpLTxok2AAjKnYMTotegkopZAiR1bOU2jGu6JmubUgxknRnxLHXTMLTMG8sgr/MHS7yFP7I7fRN4CmAGuLWH8Y9thVtL0dWSIA8LBsFCAhhh/D9dVjJT3FgWBPt1rC7Mw== Received: from GV1SPRMB0021.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:60::6) by PR3P250MB0068.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:173::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Mon, 29 Apr 2024 00:35:50 +0000 Received: from GV1SPRMB0021.EURP250.PROD.OUTLOOK.COM ([fe80::4eb:f54f:b451:34fd]) by GV1SPRMB0021.EURP250.PROD.OUTLOOK.COM ([fe80::4eb:f54f:b451:34fd%4]) with mapi id 15.20.7519.021; Mon, 29 Apr 2024 00:35:50 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 29 Apr 2024 02:35:26 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [rA8jm1QJOcb675Vq99xLewPibWAHFe0+iZuhYBdldHQ=] X-ClientProxiedBy: FR2P281CA0080.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9a::13) To GV1SPRMB0021.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:60::6) X-Microsoft-Original-Message-ID: <20240429003535.1516058-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1SPRMB0021:EE_|PR3P250MB0068:EE_ X-MS-Office365-Filtering-Correlation-Id: beeb4488-d1d6-40a0-8d45-08dc67e451c2 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|440099019|3412199016|1710799017; X-Microsoft-Antispam-Message-Info: EF0GW5CE5VGfOpXaNdV9QxPmA7CaKlyEgIvOI16bUJY39Cda20zTg/wdOcr6l6axw/QF2YlHf6h67HZ2i0YiH4wZn14CfjlNwCkt7RwBGFaOJYQnlmWhQ0mf7tavEgnfOqruAQ1GP7sDHuLDf5mLdgu5NHCIka7mxh6yP/HmLE3zPefAlqpY5T7N9ijNVOYpBVuHItkk+gB3h3UA8d2y24oyEV4BfOAAeqe+eNFTu4MMhOx4DtGaVbHle58XUSvLlGlAzUUhCaK0s+3aAAgn6cH7HxdrsvcbFuG9QqvuOzwsAqzq6Xk7/otdba7j7TBKlCalXlkxjovQ+1ADNEE59aUq0KAaeBjg5fQyTZZUMZxnHaPMiK4p//JWdQUgQfdJqOLTH79EBduh9BJIyMa6cug3fnZUsoojB0d4s1uK4aMu8n953ntUK92HGzqz7tEpGW2Hhz3qpyIeBIuTldpZ+gULwEe3zcidssAIYaEB5VU5DlSk2b3fJpGmfwAwPCVdm+cNBP9QUIlX0h/QVI7QOBsVQ/ZTGkofpZHsNGkpnLrjc8s6/xkgo1O6t5HokxIjB+EhaYt+pGTJ3R9e5NNJ5JB17Y1+ZwL9DcMWT0ObJVKJUvtibFN6j5iwbmtb8L1Q X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gyTonPuy7rpan6QNGDudXAT9Bt0ci5C/zyGtT6By+HMDjzlPaToECnr2Jz114Tx5LiPM7pfIW58Rt+sdqLII+Zj6ZEWMvzP07chEgyepgBZkVgnJ5RMudoIHQ5ytUK57h3PdaMewhkLc5YdRzLEM8Lhi2nyTtxfuTpuzG1AeJKCjlmq5NjVRwV/gfh749RkVuXahlIDRmTeJN+J8LcfriAhO3lxjJhIA9/ZrAsSJ35wYIxVwQ4Tq4DvGKa6V6NItq8R5YM2/PLaW1SJTD7S59DGnf3wnXbSVFOR+hqjFETW6fQhcAbY96lX7CevSlmP7nAm2FMY9Q7XN6qkM9+Jq77KKpbusuWLTeD/kzUqTGFzmLXBY3aCVOurMno+LB8CQ/RExQXugHUEMjDmRktPuUuEpDYPxwwbq+7VinKn4XkkYDiG83T4JTDBuOLgykDJY+/reTnGOmvZQTz5vnMPRLDs9w5zNvRaBNX/FxpuIaMV07nJkPNXP3mpkRlsLz3DYuZ+/wlfrC2aek20qUxKnAC4XbwdVYcYwdJiF2Rv2070h5Yxyj3ogL2Mg15Mbz4jrUVQexElPxCRrYG6RW8C/NpNXeeTlbm6HONJI4te8iSdBJWvL4s+sfsLC+xxxqmV0t8bwp7gYhusjJQndwg8XDbwq9gjQN3t2jQ33eoj4Txiv4Nhv2SyudFHDWfYS/ZJSDD5RljyeGYbfYUYszl5kU69sKdwTncOjg1DOvjBSG4HKdiL187Tura+8M3FBZN1WivVxMRYEo+uAtRwo+WmaGrF5H+qhSthArKwBxoyb85TOyBv9hgDpOYPLRE48Vd4Bt10ZIcgxGW7bym45PFUXO+0luE6667zv7pGDiIcyngNkDCDtO9bH9OUUuyKfgjyGxhbagjAYqd7WrNfyZHzUpNukH/nrQvQgPaAz0C1zqTiKXnvVHTi0BtQiB/IL9CSPCsmB1shZxHVVf8QTA46X0QdKkvt/yQItOVhAgg0i93Ae6pLwElRkYkxmgsz9mtGduCvM5T2tZQInftywKD42OT0SHZKCO6s2bvMCtBpFrQngU7jOUw2nD2l/a/V8TtNePmV8ckBwo1+DsitVNaiEvADuslxLb/kjLOmPNEVpKC+C0cEF4LnqkzYa0LYDunaSnnvqRp45BwCTZfRcCVrUaWvVI+w3Kfhb++i/m0ap2bsoW/Dourmahwofw2PPp8wcdjrQ6HRwXoY2gjISfGlK6/SVHpsb21K8ka9wE9/rRlSaDvsSXxxNSfKc48/cKEVGSVqNtdHWY4YZy704adbIng== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: beeb4488-d1d6-40a0-8d45-08dc67e451c2 X-MS-Exchange-CrossTenant-AuthSource: GV1SPRMB0021.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2024 00:35:50.3080 (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: PR3P250MB0068 Subject: [FFmpeg-devel] [PATCH 05/14] avcodec/mpegpicture: Mark dummy frames as such 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Qbwa7GN7mym2 This will allow to avoid outputting them. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegpicture.c | 2 ++ libavcodec/mpegpicture.h | 1 + libavcodec/mpegvideo_dec.c | 2 ++ 3 files changed, 5 insertions(+) diff --git a/libavcodec/mpegpicture.c b/libavcodec/mpegpicture.c index aa882cf747..88b4d5dec1 100644 --- a/libavcodec/mpegpicture.c +++ b/libavcodec/mpegpicture.c @@ -270,6 +270,7 @@ void ff_mpeg_unref_picture(Picture *pic) if (pic->needs_realloc) free_picture_tables(pic); + pic->dummy = 0; pic->field_picture = 0; pic->b_frame_score = 0; pic->needs_realloc = 0; @@ -331,6 +332,7 @@ int ff_mpeg_ref_picture(Picture *dst, Picture *src) ff_refstruct_replace(&dst->hwaccel_picture_private, src->hwaccel_picture_private); + dst->dummy = src->dummy; dst->field_picture = src->field_picture; dst->b_frame_score = src->b_frame_score; dst->needs_realloc = src->needs_realloc; diff --git a/libavcodec/mpegpicture.h b/libavcodec/mpegpicture.h index 215e7388ef..664c116a47 100644 --- a/libavcodec/mpegpicture.h +++ b/libavcodec/mpegpicture.h @@ -70,6 +70,7 @@ typedef struct Picture { /// RefStruct reference for hardware accelerator private data void *hwaccel_picture_private; + int dummy; ///< Picture is a dummy and should not be output int field_picture; ///< whether or not the picture was encoded in separate fields int b_frame_score; diff --git a/libavcodec/mpegvideo_dec.c b/libavcodec/mpegvideo_dec.c index efc257d43e..bf274e0c48 100644 --- a/libavcodec/mpegvideo_dec.c +++ b/libavcodec/mpegvideo_dec.c @@ -288,6 +288,8 @@ static int av_cold alloc_dummy_frame(MpegEncContext *s, Picture **picp, Picture if (ret < 0) return ret; + pic->dummy = 1; + ff_mpeg_unref_picture(wpic); ret = ff_mpeg_ref_picture(wpic, pic); if (ret < 0) {