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 6C573428A7 for ; Tue, 5 Apr 2022 14:29:28 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 936CE68B160; Tue, 5 Apr 2022 17:29:26 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2040.outbound.protection.outlook.com [40.92.91.40]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C04E168AF51 for ; Tue, 5 Apr 2022 17:29:19 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jG+PZn6+bnOYyU5FPC99XGNE8TzZ/lLrndMLC1mpT/Na0s7JU8tQLm8QZrPd6u4hCsVh48fDeh8Ee79NnA8VmwM2E1+PJ6DGwzSGodAmJgBggUcuVGtavLpf/irN4eJGc3ZomBDLZR1hCnqMluSudGVZg4IijudkvU337OtLYwIIdK+m7SsS/+bbyKcacVi+zl3SXA/k7DZfGTEHMpRIY9r3lKJyW77ATlNHoflT+4DLqFvAs6c8uL8Do8KwjuTdI46879SoPLLiTYTAp5avXtz5HqSNxNmhoT4ng4//0PlNY3fXnxbvAJKSV9SJjiqIGTKnV318xWXlAkZ8b2DIaQ== 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=EIThQABbCSXf3/DqzGdf3qPT+7UyL2kXyOp6b2hddYo=; b=lg/bXeCOQZPFiYi3ir1uiSDF3jt+4y7kFQzmCJWWzjL1+HTh6FRPDxuxunzs+gV3AP2EAkgIb/btsZ+Djg7b7mass3MF34W9fgttUZpPOjfYiXudtkceGX5tARIwfk4ispNzVAxaOZv/BrGekXE5yeOZBR0HNIdiKVk9uaxsSSETJv3jfG9B034kvLAHqEoWHHNNq+HGyOL8S55a6e1xWn+otFQjpejSQtybkowIqiVLkgJoz0ME0yBWtvpUlaIBKTLL+JPNO0JPyTGFgkDFVz9HQwKFLv3tVVgwfxYzEVmKXQARkCSqQWzXxAz0wsw7vpSF85qFG3T/+1BoHi5n+Q== 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=EIThQABbCSXf3/DqzGdf3qPT+7UyL2kXyOp6b2hddYo=; b=NgasWPzjnQc3hk9T8SUzISEEQYLtLxOfTE3MjOCdEBCQobZZcW5Q+tFqo64MOJG6QnwD6EOC4Eg1s0UHvbW5dHM049O16FneE90IBLFK3+c+A0DYCAhphuedlx+y76xH0oAmwuGBQhkCpyrRReHglweLYZyen6Q+PeP7X3Oq1OkN9zA1wAFlO5WD1XKSdh5R3HXpcfa8fE1dSqIuZCd3lTnxrt+1J8WVEqCHOa0Fn9C7ANwAJJh1s+O2NQb3IfEBTw2l23MwcV3m16A6uBJUiL4pDuTCT+IKVs4u1hSX+1ilDnMKUKQX4LmLWLvN4Pmuv1i4MIzJirh8PDwGuWL+GQ== Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) by PR3PR01MB6650.eurprd01.prod.exchangelabs.com (2603:10a6:102:60::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Tue, 5 Apr 2022 14:29:18 +0000 Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::6553:a424:79bf:6dc3]) by AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::6553:a424:79bf:6dc3%3]) with mapi id 15.20.5123.031; Tue, 5 Apr 2022 14:29:18 +0000 Message-ID: Date: Tue, 5 Apr 2022 16:29:16 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220402120623.142534-1-onemda@gmail.com> <20220402120623.142534-2-onemda@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20220402120623.142534-2-onemda@gmail.com> X-TMN: [AcwFZQUZuTepkLzaD1GwH1bci7kjkHki] X-ClientProxiedBy: ZR0P278CA0151.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:41::12) To AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) X-Microsoft-Original-Message-ID: <0dc0dbe2-c269-a14a-c5a9-4fb4c42ac185@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a165b30d-62d3-44b1-cc64-08da1710aaa8 X-MS-TrafficTypeDiagnostic: PR3PR01MB6650:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: awi8V+Q6pNK/vRoriFJ+o3b+w+B+F5H8TMsamkS0DHw5jkrDsqC+wLzDSXeruK1K2trC+a59kUC8JVb0M7wdfVRuGPTYNHvvIo44xP/UoEywH753kl9UkW1tmr8xRW3EVuWdd749Tc1WmhSn44Xt3p49VOQHLBpoOKOqdOcmw64VbSJsqwkp4hFPjB+seHsb1XHlSzyYV8R7t9O9dAusk8XM1FjzD4kxd0CE80YCQ3KFoZwJJ5YSefXtZrsANXNPwh2td1GZ0GmL/EnFbDUB8576AtHI1m1q5shV55UScTiKSrwACGnIdWjkWrU/5FLDojAtiTdVx1MCuBtOk2RrLeJ+NZBol3MSdiuG7lPWVeaHgfPa7q8utvjy2N1Psve2drDbQBn5urgTje58us3OtUMTnGaTdBaucjudQ9yLBz1VyHGQLLOIgqNtHj1j4d/kG/ggEjGIzGgvwntvbjaR3+2bR+8q3zvqLeZOvDiW0s9y8z4r5EikWUqRnYJth4aepSC0emdV1TxhwixoTiHJZDQMZ88dgI0VJNRwY9w1znkG48Iceti2Unt9oo5F+3i6OQ8sKJkQ3dQPU1UM4ZmUCg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MW9PTGpwVnhwNDQxZXB1QXJGa3M2YnZ0eUVjUG5YUk8rbkhJYVBrdkUwOGhn?= =?utf-8?B?UG45dTVjY0dUQlhzY0s4aU80cGVOWW54QjRWa2kzOHFzL1hsdnl4ZG12czlU?= =?utf-8?B?TWRMeXN0ZmRoTjZVTm1QU3RSenZzMHpjRHVqRFVpOHN3eHJFTnJxaWsyZkwv?= =?utf-8?B?dmI1Y0dMU0crWlVtQ1FiSXdmUzVJVDlJdHhBNzROODFVN1MxWHlNa2JMV09S?= =?utf-8?B?eXNRTnhmQURDTG96QmVnbnVPK0xjdXFDTkJhRW5OdG9NT09WNXJ2ZDBkQ0dB?= =?utf-8?B?ZGI5TDFuczJLRSt6OUFsQ1NUY1JLT1VYb0RJbXhlREhkT2VweVU2VDNab2ZF?= =?utf-8?B?dzl6NktlUDNacjFManhmemFNYTkzZ21QK2NPVG85ZVkrYVFoN0Q5bzRmMDhS?= =?utf-8?B?UVBsV3QxbDFZSzNUSlNjbFFhQzd2S08rVmFuN2JSV09GVElVUE5RU0RCQnJY?= =?utf-8?B?UW5FS3B2YTFscDBVYnN2dUR5RExnNDNxdmZneVZmcVc3SDVYb3BLS0R3TEU1?= =?utf-8?B?d3FIRWRmdDJqSXVCUTQxK1hTYy8rdXlsR3JJQ0ovbEo4cENHL285ZHJhL0Fw?= =?utf-8?B?YjI4dWxodlR6ZGZIVjNnSE9MaXJTanF4MWZGUHZEVTdHQ1NtSnp0Sy92QVha?= =?utf-8?B?RGtHQmY3bUlNVitzUTB0aDlmLysyV2hGSGdScWVGUmwxSi9DRG9HNEwrS1pI?= =?utf-8?B?eHF2UE91TWdJUW5oOWRFUDhyS0cvZ3REYUI2R1BWMGR5aDI1czBwRWtJZGpQ?= =?utf-8?B?ZUxLRWFEVnhDZ01FRHM3d0V5bFEzSWMvNnQ1Y2VBNm9xb25acHVxOUdQMTl0?= =?utf-8?B?RGV4VlJkc1VNK0Q5ODJ5cTlQdnJxazhiUTgwYzdqZnd6NUFydkhzeFAyRGlM?= =?utf-8?B?N1ZlSlJSL3l0YXBOaUZUMm5aeEh4bzRvUy85VklKQ2sxRVZpNlc4ZlQyOTcv?= =?utf-8?B?SThTRG1RbW1EbkgxWFVoSjNkMHlPTnY0S1pjUE5ybFIxb0tvbllsVytLT3BS?= =?utf-8?B?YU9raGtZekFOQkxLYm9aSlZROTBtbEsvUTU3MGdzVHFYUk5xdkZxSG5kS01S?= =?utf-8?B?dktzemhmODU2eXU5dTNONkNOS0FVeXdZU1FDVWcweFFmUTE2NS9tRFpWQitr?= =?utf-8?B?ZnJkSVllZFlZUmF2V0VQTWIrQ2IwUFdIR3c1OStKZzhuN2VuMWtBWmhQdEF3?= =?utf-8?B?enVWeXdoRklDUGE4K2pSdUwzY3FITXM0SlZlcEduQ2FKWVpzSEp2WFpQN2dQ?= =?utf-8?B?T3NWRkhGNjJnR1Y3eGhVNlBYbWRhUTNjMjdHanp5SGJUR253RHJDcDZBM1ZG?= =?utf-8?B?d0ZaTU53VHBrU1BtYkNFTDk4Z0ZnUVo4eVN4NDY0cWk0MDRpbkxOQkFSZWFB?= =?utf-8?B?dkJkNnZQVDJEaHUxMUNDRVhqTzNscFlzeUFSUEkvMFpDejZmWFU3eG5BYWR1?= =?utf-8?B?MzFPemFSTUg0OGR2S1V3Zmd4Wms3M245VVNJOUtJOFY2WGZ5SFI5MWc3cFlw?= =?utf-8?B?SE9GdHlhbHlxS0hPUjBMUVJnUlkyclZHVjhlNEJJTmRhZ0RXcythWDBRM1A4?= =?utf-8?B?NENDQ29QeHNIUWNyMWNueW1XTnhQTG5BWnRzendoS2QvSTNEK0FHSVFPRUs5?= =?utf-8?B?YnZUTHpQK1FPaWNvOGFtejdBM3dpR3hJRGZJWkdjNng0ajBOYldNSWx5aEpk?= =?utf-8?B?TnhxSm9zam82RFk3TDBPdk1NRFVPZVB0V0NzVW5xZ05Tend0ZEZXUnRXeE14?= =?utf-8?B?cmwyenprUTJCbzRDTlA0L3o2c2RtVDJIcVlBTXRnRStZTTNNbDZsUGx6SlZM?= =?utf-8?B?alhuWEJmNS9ZTXpYWWZwRy83NkZCRWQ4S3NBVmlFNUwxWEpkRkpxNkdLM1p5?= =?utf-8?B?YklFMjZlelowaFlCWDdlUW9Tb3NmajFacFM2OW1uNHN4ZXJnaGplMWRCMFpt?= =?utf-8?Q?BsS75ay8qUeM+6uLMwrN9In4+TwOzZAQ?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a165b30d-62d3-44b1-cc64-08da1710aaa8 X-MS-Exchange-CrossTenant-AuthSource: AS8PR01MB7944.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2022 14:29:18.0982 (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: PR3PR01MB6650 Subject: Re: [FFmpeg-devel] [PATCH 2/2] avfilter/src_movie: add option to set decoding thread type 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: Paul B Mahol: > Signed-off-by: Paul B Mahol > --- > doc/filters.texi | 3 +++ > libavfilter/src_movie.c | 11 +++++++++-- > 2 files changed, 12 insertions(+), 2 deletions(-) > > diff --git a/doc/filters.texi b/doc/filters.texi > index 636c80dbff..a13977edd8 100644 > --- a/doc/filters.texi > +++ b/doc/filters.texi > @@ -29317,6 +29317,9 @@ timestamps. > @item dec_threads > Specifies the number of threads for decoding > > +@item dec_thread_type > +Specifies the thread type for decoding. > + > @item format_opts > Specify format options for the opened file. Format options can be specified > as a list of @var{key}=@var{value} pairs separated by ':'. The following example > diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c > index bc7b0d37af..08cba437bf 100644 > --- a/libavfilter/src_movie.c > +++ b/libavfilter/src_movie.c > @@ -72,6 +72,7 @@ typedef struct MovieContext { > int64_t discontinuity_threshold; > int64_t ts_offset; > int dec_threads; > + int thread_type; > int got_eagain; > int got_wanted; > > @@ -99,6 +100,10 @@ static const AVOption movie_options[]= { > { "loop", "set loop count", OFFSET(loop_count), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, FLAGS }, > { "discontinuity", "set discontinuity threshold", OFFSET(discontinuity_threshold), AV_OPT_TYPE_DURATION, {.i64 = 0}, 0, INT64_MAX, FLAGS }, > { "dec_threads", "set the number of threads for decoding", OFFSET(dec_threads), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, FLAGS }, > + { "dec_thread_type","set the type of threads for decoding", OFFSET(thread_type), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 2, FLAGS, .unit = "thread_type" }, > + { "auto", "auto", 0, AV_OPT_TYPE_CONST, {.i64 = 0}, 0, 0, FLAGS, .unit = "thread_type" }, > + { "frame", "more than one frame at once", 0, AV_OPT_TYPE_CONST, {.i64 = 1}, 0, 0, FLAGS, .unit = "thread_type" }, > + { "slice", "more than one part of single frame at once", 0, AV_OPT_TYPE_CONST, {.i64 = 2}, 0, 0, FLAGS, .unit = "thread_type" }, > { "format_opts", "set format options for the opened file", OFFSET(format_opts), AV_OPT_TYPE_DICT, {.str = NULL}, 0, 0, FLAGS}, > { NULL }, > }; > @@ -159,7 +164,7 @@ static AVStream *find_stream(void *log, AVFormatContext *avf, const char *spec) > return found; > } > > -static int open_stream(AVFilterContext *ctx, MovieStream *st, int dec_threads) > +static int open_stream(AVFilterContext *ctx, MovieStream *st, int dec_threads, int thread_type) > { > const AVCodec *codec; > int ret; > @@ -181,6 +186,8 @@ static int open_stream(AVFilterContext *ctx, MovieStream *st, int dec_threads) > if (!dec_threads) > dec_threads = ff_filter_get_nb_threads(ctx); > st->codec_ctx->thread_count = dec_threads; > + if (thread_type) > + st->codec_ctx->thread_type = thread_type; > > if ((ret = avcodec_open2(st->codec_ctx, codec, NULL)) < 0) { > av_log(ctx, AV_LOG_ERROR, "Failed to open codec\n"); > @@ -325,7 +332,7 @@ static av_cold int movie_common_init(AVFilterContext *ctx) > if (ret < 0) > return ret; > } > - ret = open_stream(ctx, &movie->st[i], movie->dec_threads); > + ret = open_stream(ctx, &movie->st[i], movie->dec_threads, movie->thread_type); > if (ret < 0) > return ret; > } Why do you want to add an option for only this instead of a generic AV_OPT_TYPE_DICT option for a dict that will be passed to avcodec_open2()? - Andreas _______________________________________________ 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".