From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id A2BE344AA9 for ; Wed, 7 Dec 2022 03:05:32 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 745CC68BDB0; Wed, 7 Dec 2022 05:05:30 +0200 (EET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2074.outbound.protection.outlook.com [40.92.74.74]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A8C0668B26F for ; Wed, 7 Dec 2022 05:05:24 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W/8Y/SljfwcdA+uFIkbYnavZKwHGTJKa7T64eywl7lp2rQq7b1FS06gl+/KrQnCa8Bhm62K5C32pzntZMbHEa5vLjxp424YdN9KRLDCYjE+78aJhCQunyO8RFiSlxekQf3HB7wlh3T0ciF7QtkZu4HjYnkRb7NEOZVHX3RVFHuf8LSxOiLZ60aHmTclYi7iHm2DdNjw+Rvtt5zNviP3KTHuIWlG7Fou1bWDrMK9n0j7YwfYz6WJLyBVXqbL/X1HC2mmCwL2TWXUCBcCoq0sFnwTt4X84VP+GCTEiCnWtKHrPoLCMByKHxaYG8NIVD0oWitXYRuhJEDJs5ZzdmZ9mWw== 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=wuOLTl3mgu/+kYB0nkKbloGHss/1htJsyBApjqpkAdE=; b=MxoWgmOq+eWrS9EQrFuFJdtiz7DEAWmUMZt28Fi0Vog2J+L4BAzeI9Qy0yfR0f+DnvPPf+rpvuqMj3F9LbBkG+oc/c3ZcZoeJpGs7zImOoz7vwxYCXUx5d299ZJAuturhG5b78EnsFKg9sO2kjg4thP6KBw/GeS41mDn3PElVGZfMla1gyQax+J++k/nHqLAoKxG7sCRZhmW4btAqKbmYVLlYqTGDHhHpBL69KKlpYSCRHV0mRVoWahak+To9wpOlL9+VTIEYUpbGdwIvyOkgPhq0EnRmkufwgPQwOs5HrPIh80QIKWZ6xWMP1Mb44sHFn6vah8KZuR689rrwadhDA== 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=wuOLTl3mgu/+kYB0nkKbloGHss/1htJsyBApjqpkAdE=; b=jGml30j5MzOn2RaEUmoUvdVXImacnBJL7NewP50jzMcs7cadJuMGRUJwHW9o/y07bLA4X0SMtceYk+1nSpP1b1eV2N3cBUYPGvhLkpuMUwMZRtEaC5vFqxX6ZOhAbUbaadK2nxse2HWL3ozV3+h/EqKYTXrEoo0SThG8QE5u+vn51MdsFGeu+mBpdCB1cnfPyAmckg/MJaW2G//vd4ydTkK1CaAF5JZ0Ai8DtC/lqws5/9Fou2yLKIKhxAcRQGd3K+/3sMnVz1+fY944mc+R2ky0KSucJfpETLRgxwbYFaq1c/sia4ybF/fKCzcBC5Eag3vbgKMJFZUL/ELq0V9Xsg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS4P250MB0870.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:589::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec 2022 03:05:22 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::da14:61e3:630a:70b5]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::da14:61e3:630a:70b5%6]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022 03:05:22 +0000 Message-ID: Date: Wed, 7 Dec 2022 04:05:40 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20221205222559.107006-1-timo@rothenpieler.org> From: Andreas Rheinhardt In-Reply-To: <20221205222559.107006-1-timo@rothenpieler.org> X-TMN: [UR87fW/WEHilQhnhCOWSjq0Hvwe/tNh1] X-ClientProxiedBy: ZR0P278CA0006.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:16::16) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <3a47ad22-281a-05e2-f52c-08f7365f9b3e@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS4P250MB0870:EE_ X-MS-Office365-Filtering-Correlation-Id: 426569a2-ea1a-4915-ef73-08dad7ffdff1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LSKo19w/vYQgVTU0AzPqifwU8xG0Yv6fF8vhJDCfaunz6GXuCC87iQrJl5/nZ98DXhbaoHlRVRW4Zhpn52CML3iVvWItMh3P+RbLjczNQ5Oh4aSfKggG05k/DGNmkuwAn0ba/YDJVhzjKsVPiW+WDOnt1IKKWVKi7EY/uwES9r0DK7Yy8vbxwdEN7Gk9rYWjmTt5wLa5C4CS/QEjPoFuUaMUsgkJrZCBH9U453kfJBmyk69DN8CQ0zrPaP03Cs5kpFjndyk7ap6nUwL+ILsWV24FQJuG0Tc+bFIT2wBR1dURWP8Ud6cD8LmmJsf6+o7/3Nh6l5LbEbOYMgk1zHbMGCJB9BvFBkjaH1YH31jdZIA9F0tt43STfzdE1UT04sEXYCCWTtOdEX3snFpIAvOD3aAAbHRjuhsJYqbPdMCXhk7L+lWlc7TKR1i6SviRiwTu9OrMTxIsURKT9YvxelL8OsMTKLGEvvVURTIn7ahsNITtlJoj4WwDH0iwhfFXp5SmYJVamHOFoFdAsxVohK7gMflY1k54IMAzeFo4fNkEgNq4ylvTzgcgkYZ2x/32QE3vPl+5CFgoZMP4AxHPWQbnz4EX7WL4e4giA20VIfs41lGJe+2FNHvMurGgm6EyYELJEnmxqMxWqbYyhfxKOhoCyFUw6nBwW8VK3f7IDs1j9Zo= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RHNsZ09mb2VBMkk1NEdqWnZFVVIxdTNVbk45NlZvTG1zd1R6NWFqUGJDRDZV?= =?utf-8?B?V0V4UlBwbW9KMDdvL00wdU4ra2pEODdCaC9iME5lTVMyZktCTngrSnlFZExF?= =?utf-8?B?d2lxMUFqWkt4bS93NWZYc1pGaGhnQW04ZzR2L0VuRlBzbUZDYVhkZXlFVGtU?= =?utf-8?B?WGwvbkxxMStENEZzRXNEYWpmKzBBQTFqYi9jS21LdzZhY0dWWW1pb2J0ZDY5?= =?utf-8?B?WVJDeitYUmswZjdGcGoxeGRpOUJiQkpmWDhNUFUvVmJnMVlFa0UvWUdiZ3N0?= =?utf-8?B?L0h1U2JySFdkdm94SXFhTTRHaVB6OW54VWlUVExRem1wbHhIaS9ETnlvRU9n?= =?utf-8?B?YnJMeFR4VDgveTAyc09uWnYyRVlQd1l5L1FVTHRWcWI5aUp4ekNXRy9oV2ts?= =?utf-8?B?MmRaU2lDN1N6M2ZLNDNuMWNPSHJ5b3R2dFZwUTA5V2grVnFXTkFSSzI3cmsz?= =?utf-8?B?WkVzU0tJWmJtS1RRMG9WR2E3TFQ2cUJjYnVUaTJVYS80MnErWGZxaGxnNllJ?= =?utf-8?B?YWt1bXdCdUNzbVdjTGh3RlhZT05obVRJZGN3UjdqWW95T2RoZ2U4Nm1ucW9O?= =?utf-8?B?YTBxbEl4TnU2bno4aDJGQTBZQlJKUWwxMjlGYWJqaEx3cFpVblJ3WFZLMWl0?= =?utf-8?B?Q2Eya1Jib2JPMmpsMHFBNUNkYUJISXA4UUdTS3ByUWp5OTlVSnJvMVVtbjFT?= =?utf-8?B?bVRpV3ZKM1FvR1E5VUg5eWx1N1FXRjFFeC94UHV6SXVqaTJoU0JWN3IxdXh3?= =?utf-8?B?Q2dBaGhhYWhlUkwzRjkzck1HOXhtUU5iT3FwNS9NOGF3TE96aUpBOXVtemJK?= =?utf-8?B?amFRa0JRYmEyRnRCRno4MFYzWG1iSWFyaG12QmxMR0VHb3Y1bEt6NkhKNDRl?= =?utf-8?B?UW0wMWpCdDZkU0J5c1NXZTExM045R2JvWFBrczQyUnRMZmhzeGxBUEhPQjVz?= =?utf-8?B?eVNYakJhTWh5M24rc0F6b2MzVFZXMXhuWENTZnRaK3hDeUllemllT3IyTUlr?= =?utf-8?B?N3RBU2V2dXc5OGtmeXVWMGRZRXo5VmpxZS9OS05TbHdZUXhLZVI3WGp0SGJh?= =?utf-8?B?YzVUdnVsNjVRUitZbzIwbER2RGwva3VOa29KWWF4OVFrRkNicldnVkc2eEMx?= =?utf-8?B?UGRCa1hteG1Uc25vV05aYURhMnFWRVlCWWRPRzhkelo1MzJmZDRhKzRwR2tM?= =?utf-8?B?Q1VHS0R0L1dIbE0xL1ptNzhMUDdpVTBBWGVpZzMyQytXT1Z2aEh5UTFBWFFP?= =?utf-8?B?UkdhVDZwYi9xRjd4UDhlTzFGSUk0d0VEbDhvYmxEdlExY1J3amY3V1pnK0hT?= =?utf-8?B?Zkhpcy9WK1BGNVVVN05OdWEyYmZrdTR5ZXVaNkZ2V0o0MHZhejBjRGZzd2Zz?= =?utf-8?B?bzRjcXFHR1h3bGYwL2cvUzFzeXJsM0RWUlFMdjZsMEJkeG9oc1lVOCtZdW5E?= =?utf-8?B?Z1dQOXFyYTNteGZjRVJ0dXVha3VJS1lrTnVoRjNMd0JQUnZIWnVtSk9ML3Vl?= =?utf-8?B?RTVudy9IRmQwT2VzbHZweTN2R0x6RzhGVzBzVDhSZXFpWDVGMlMvUmplQ3BH?= =?utf-8?B?cGk4Rm9HenRQSk0rYnM1M2NsTEthTzVjejg5VThrcXl4dzNWYzYxRnVEdnJ3?= =?utf-8?B?VjI4Z3I3ZHVEMkVpS3BaUkRUQ0xnUzhtSmY2R2NQTFRmQWVESzNSN2dsS0ha?= =?utf-8?B?NFlvY1lKYTlydnU3RTB1OXFKYmhFdUtGdDBhNUNyY09tMWQxa1paeE8rWU9m?= =?utf-8?Q?LT9YiToCLot5C5pfYU=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 426569a2-ea1a-4915-ef73-08dad7ffdff1 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 03:05:22.2496 (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: AS4P250MB0870 Subject: Re: [FFmpeg-devel] [PATCH 1/2] lavc: add new minimize_copies hwaccel_flag 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Timo Rothenpieler: > --- > doc/APIchanges | 3 +++ > libavcodec/avcodec.h | 11 +++++++++++ > libavcodec/options_table.h | 1 + > libavcodec/version.h | 2 +- > 4 files changed, 16 insertions(+), 1 deletion(-) > > diff --git a/doc/APIchanges b/doc/APIchanges > index ab7ce15fae..9c1f905a61 100644 > --- a/doc/APIchanges > +++ b/doc/APIchanges > @@ -14,6 +14,9 @@ libavutil: 2021-04-27 > > API changes, most recent first: > > +2022-12-xx - xxxxxxxxxx - lavc 59.54.101 - avcodec.h > + Add AV_HWACCEL_FLAG_MINIMIZE_COPIES. > + > 2022-11-xx - xxxxxxxxxx - lavu 57.43.100 - tx.h > Add AV_TX_FLOAT_DCT, AV_TX_DOUBLE_DCT and AV_TX_INT32_DCT. > > diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h > index 3edd8e2636..a72551bb5e 100644 > --- a/libavcodec/avcodec.h > +++ b/libavcodec/avcodec.h > @@ -2253,6 +2253,17 @@ typedef struct AVHWAccel { > */ > #define AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH (1 << 2) > > +/** > + * Hardware acceleration can have a limited number of direct output surfaces. > + * For some processing chains, this can be okay, but others will run into the > + * limit and in turn produce very confusing errors. > + * > + * Thus, the hwaccel will by default make a safety copy. If a users really > + * wants to minimize the amount of copies, they can set this flag and ensure > + * their chain does not exhaust the surface pool. > + */ > +#define AV_HWACCEL_FLAG_MINIMIZE_COPIES (1 << 3) > + > /** > * @} > */ > diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h > index cd02f5096f..05e8948bc2 100644 > --- a/libavcodec/options_table.h > +++ b/libavcodec/options_table.h > @@ -399,6 +399,7 @@ static const AVOption avcodec_options[] = { > {"ignore_level", "ignore level even if the codec level used is unknown or higher than the maximum supported level reported by the hardware driver", 0, AV_OPT_TYPE_CONST, { .i64 = AV_HWACCEL_FLAG_IGNORE_LEVEL }, INT_MIN, INT_MAX, V | D, "hwaccel_flags" }, > {"allow_high_depth", "allow to output YUV pixel formats with a different chroma sampling than 4:2:0 and/or other than 8 bits per component", 0, AV_OPT_TYPE_CONST, {.i64 = AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH }, INT_MIN, INT_MAX, V | D, "hwaccel_flags"}, > {"allow_profile_mismatch", "attempt to decode anyway if HW accelerated decoder's supported profiles do not exactly match the stream", 0, AV_OPT_TYPE_CONST, {.i64 = AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH }, INT_MIN, INT_MAX, V | D, "hwaccel_flags"}, > +{"minimize_copies", "minimize number of frame copies at cost of risking surface pool exhaustion", 0, AV_OPT_TYPE_CONST, {.i64 = AV_HWACCEL_FLAG_MINIMIZE_COPIES }, INT_MIN, INT_MAX, V | D, "hwaccel_flags"}, > {"extra_hw_frames", "Number of extra hardware frames to allocate for the user", OFFSET(extra_hw_frames), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, V|D }, > {"discard_damaged_percentage", "Percentage of damaged samples to discard a frame", OFFSET(discard_damaged_percentage), AV_OPT_TYPE_INT, {.i64 = 95 }, 0, 100, V|D }, > {NULL}, > diff --git a/libavcodec/version.h b/libavcodec/version.h > index d149bc6c46..9e66920593 100644 > --- a/libavcodec/version.h > +++ b/libavcodec/version.h > @@ -30,7 +30,7 @@ > #include "version_major.h" > > #define LIBAVCODEC_VERSION_MINOR 54 > -#define LIBAVCODEC_VERSION_MICRO 100 > +#define LIBAVCODEC_VERSION_MICRO 101 A new public define needs a minor bump. > > #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ > LIBAVCODEC_VERSION_MINOR, \ _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".