From patchwork Sat May 11 20:50:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48739 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1706:b0:1af:cdee:28c5 with SMTP id nv6csp298176pzb; Sat, 11 May 2024 13:53:23 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUF6v5sfalRl9OXY6j6gY1kTr98LVNl514X25LY30K4+Ya+yhGRtXjpVLTS521ohnVNj4qg6NCjtOzrun0uUSAwpqQoUdRgMujVaA== X-Google-Smtp-Source: AGHT+IGjhe5rEXPUhjBezdfGOrepwYZS4j0bBEDOack924MZ2HMLTtZ9xYMynH2t4bdpV0WyHVD3 X-Received: by 2002:a19:f503:0:b0:51f:3fea:cbcf with SMTP id 2adb3069b0e04-5221016e864mr3185168e87.52.1715460803269; Sat, 11 May 2024 13:53: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 4fb4d7f45d1cf-5733bec1a85si3444339a12.199.2024.05.11.13.53.22; Sat, 11 May 2024 13:53: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=SBwUOgFt; 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 EDCA468D60B; Sat, 11 May 2024 23:52:30 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2106.outbound.protection.outlook.com [40.92.74.106]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 632A568D574 for ; Sat, 11 May 2024 23:52:29 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GoWW3EDPd2xMd1ar4Z8igcbPFyI1r+M9MU+ub0zLBug8EmW5OAavxnZv6HPiIi49sX8dY3ffExdyuXPRSz8eq9XklQb+8wkegW6iTW+j1PKLvv7kTmncn0k2AqbZVwCKnFQLUJkEZk7AIAEOiaxcfHF++56oW/FuBhpYnTRjqIZur/TI0sUzjeXXxQn8/HrX2i8bpHAdeDczIUAZNoNS7pIDXkgziBSLFRcBb6OjQ1uoSiUd8502wmd0X6xxbmmMMQC+LwlXYf7Korw/hn/G92301yuuQuvDprd+bVatDYR2f+1I2J/2uyGKA2jrdKjcVn+tXx9rBoeHPYohlD2mfA== 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=VcgsoKoxI5nyJ4+ZeNW8n0TvVHLS94LfFUyBCBMK8Q/yRn1fjLPT1RcImKa6Yj4CHcKN+MZFCdg80r2SF2fJ0jnsjDdeGiSZLX5Ei+te0WlF83puJkbJc6Qu1FPFHhw8LvWJh2z+buazrT9/wqHSjG3ax57aKM66Bc+0rs119BKA3Mq5x5afcnU4xNOjmKXCK6/FHz9G5HJS+068ayPghmY0XqatIAX6Cw9tO+62JNRduKcHakuhhFO1WbsTP7PNb/ivEnx9ctrBBN+XDMxtZoO1qbR0CXyibmwv18CiZ82W5EZPveTKNiDbiH7RK2vWPEymywIgQwznYJWed/jVIA== 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=SBwUOgFtRFSTvNH1AE0R5MTOMHlh0zY/pRlcuFccD0NRmm4TowwnVR+vHGlSHyh5SBsVJx/ZmmMty8Sd0f8OtIX6kKRBqFkgK6LqqimzFXOWSnLN17xCb5ierYMxZmXasZh/44vXopNcxuxcz3VoeDRW0r4uER9Dtm016TdS+qxsIjbAT7WSJ0Pi9XFSUrPUnHCWm6CRT0o2Y76limQATWEf9LtYh+fPJNkthHVuPnDGSjafr4E4xrt2OhcEP94YYncN1AuNMyaXKuHeBoRV3dfBT+vwqbRm6loK69SYZ1aWXIgnccf1kJx5CzKbvXAEMn8QNtYJdUyKnyHZPkGtyQ== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DB9P250MB0449.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:325::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.51; Sat, 11 May 2024 20:52:26 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%7]) with mapi id 15.20.7544.052; Sat, 11 May 2024 20:52:26 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 May 2024 22:50:34 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [Y2fCrBq1rkBGDp73jcfRqQj9OzWjt3AsJ6KpSgc493I=] X-ClientProxiedBy: ZR0P278CA0172.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::6) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240511205135.2411886-9-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DB9P250MB0449:EE_ X-MS-Office365-Filtering-Correlation-Id: 900ad6b1-4a3c-47a5-1998-08dc71fc43e1 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|3412199016|440099019|1710799017; X-Microsoft-Antispam-Message-Info: +syebKkfhjEfXt/Of2pm6HBH1haosqOacPLDwqVFsuRGOlsxSKX52cTeUwZ0ZjxaUkPgWLEK4i5m/SE2kjBRLXl8CHOJaj9acL3pKzHRt2AW+lcCv5mxdW6KTpN/cZmF69RcUSXg3lhX/jpB9OEsHvX38VizBzG8dQFlSZvpt3/UeNRfuOYujA/wjKaRA3U7Cbl/nKMt6giJh3dfgKpfxTR33Y9p874PhHS/eUKDwDdpH84xZuikRy7Bp0+IoatAw5toKpUtTON4dn7b3xlNdTt7WfgpaL8z+Jo+w5fgE4KMrGpHNEwWFqVkzopwLnP6suVEMX3GLIz/rcu2AK4OYcUeDEnfBgeqDTb3H2edXrZbRlNe04vRjXIBcyTJ0r1lzAFCB8Ie7HGsBtZUPnfybWvXLNTVnku3Wc89Hsi3adp5I9Ebr4eEksU+pvQSQA8JtG6HRiytByh2VgJll6QPevaWN2QrtAQRQErTrBg3u7lt7Sjk5MttLb69EQk6Qs2P/Xz+zaZKEVPjbrRFhOjbIZDKI40a3IDpbCpP5wQ8txeddo44GSgnfx+KRnCFkVaJlrHNZhn6uvxIt36I6J/kdrEDOMUqV1bdBEPOYIsceR/jhCf+ZhagGNJgUshveOSQ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QzkCnnifF9fz2ZhLf7JkANVNZc1U1hXNTXxjaTe9NGHZe+NIUAEvnwPl7h3gftlRMr5zXa6qx+Ca9iKiKxPtHy21+BokAEF7OdaKOhD5xkRYGk0NDbSZCzAh+2XnFuEHGX2qbVK0DDMxiErUk6oXp9rl9gDVj0aNKImT6zA+lH6AZh4cpgAf3RPUeEhY73AbVCBuOpoODvKzh7IsPRXTMJyyb+2u7sgkDpaQOuH0VSlBxrvwNKEe5VntVLkfCf37BwDZ9yld/AYvlVvyGTbr5XlBY4grY5GVGOPzm0CObZZCZSv2Bv6OUIXoDAY1ZT7XunSLqAbQOjHVj+sLnVxCi88XlH82AJTai3d7inX6KPd4mjDaZUb/MgYduEaQPKa4BnDBaGaPUzwydgzXN0dAv6eCpHCDT0vyuPGpW1bsca95StsfALQeqryxsxZaA3/CwtAWYZy2YMyo1IxZ/cgHOj2AOWar+u6UoyZnisrLIUndn4ks5hn7fw5ltUaH5X7m1hAAO3scA9IhUxlDOjQhskZbuGM0RkpUIEQZZUfkD1onnINQmK76oDv3LzxSBtDHwIAzD7/GrFYJVv698rEolIL7srTWIZEIbaSu3/WJ1gXgjInJ528jNLmVE3+1pzcyNG2Aa7jtdLHiAEIjQs9XBPvSb5r5fweO0q8xWd4nw1Hufsdmi8GqqpS2Wu3zvVQ2l//5H++2D+G4rYqTrD/ZQoSJRKXeyk5DuKDIINdmOhvyA62rtMHU6jZP0ROsEBkA3Lm2E6UbxTqNdpxCJqeDE9rdNJcXo3pUunWPjneWOkopwIjrpPouephNuQc6JszO065vXrB9JI/Qr9x6xBOahGbsQSc7Kh2YlXabthz3dq04zBdwpUheJgb169PAmkeUmJaBOKpupUzczGRueVIM5cFS/7qma+cztjSH/3/sUHYr3ZdakhtPL0gsWJdSkm+EU/JP3MdsRFPA1pAHaolUpMOE1lyV7PQmkzysup9MR7+TXEfufS2A2XIvENpBRclUn9GJc5TdjagAExJnUdF0OJg2AaURq0YiQVfShzAE4opa5ZpCzHdC7A7teOEA8UQ6HLILDhhdijyxeHWQo/AyTv1ZEh8Wf3pYQAlhSqbLE94vX2MK8impDmS5zyxiHrxp6tiHdDK+ftZdDvyLulE69Ho0TPBBKcCuY+bA0ACo3Igy039V0u2SVu4iyBE/51Mof249UqLYOlaAKoDslZLfd+Xhi7AhgiCDGuVctBZdQ5f/EN+iA/wcKA8gFVg0riiq6p2xLsrVY4dNf5CkTt1TzA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 900ad6b1-4a3c-47a5-1998-08dc71fc43e1 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2024 20:52:26.6788 (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: DB9P250MB0449 Subject: [FFmpeg-devel] [PATCH v2 10/71] 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: mKZbTBZ8fmyN 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) {