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 E4F34470A5 for ; Sat, 26 Aug 2023 15:12:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5496F68C5C7; Sat, 26 Aug 2023 18:12:11 +0300 (EEST) Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03olkn2045.outbound.protection.outlook.com [40.92.59.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 571F568C4CF for ; Sat, 26 Aug 2023 18:12:04 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SjlfiXoVWVcFn1EwSBlJ/0zJkaqSALCobFndG/fkEmHfGDDGGLfxLcehGYdhcUoYsazUEZC8Bdl/RhYzgVJlJFhuM+4QQZk1IVH2T2M3H+lQJ+MqfFy6+UC+AecnmNsB1E+P+b/4lTQoQufmPt5Tb0HQkKQfh9OCEH/9FBR0hm/XyHLwIbFJn5CQiFjbhAkLC0TG9Gs5ANGqnZVWLqMmaqiZSkpsnkxORL28nyRwKKAnsXbA0lceJX+cww9oXYdylIQI9S1skM5tysv9LYoSVtT2jCUOc7GlgRqfjMk/tpRAVN2MMxnpd36KyR3scbxtCST9k8+NuoO2yd8KFL4MuQ== 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=X0k/SEWfiZ9lpTuGCpkSOetit1aIRDN9GxHhKtMdO7g=; b=EbTKUc4wg56QWxBVqzPyKoLd5ybM7oeGeN/F+s5n/NmFQnwflMZwit3mEEFYwA8T5dpif0tVAN0MzDcylMBDoVUE/X7H+Z+NP1t9PIVjwyJ3rGxBSpD4ZKAyuBd+f4Zi70z3jkfJ1n7fgyWEtvZsNucD69G2DN6dF7NGPSz3Pae7C/NicW/uk4gucVCdcafjOrWFSU9HWSh8odCNf/1QuW55ou3svlasxEgoYv/BJYPuRy3Aw4H6PbFA+lxMxH+Ou7TVYsUfWF80mdjqEgkVCw9VKXgLQM/B7hZliU8OVh5k2ONkCPzpAEnTjArbGL9LnWpZz529kBv6jJJf4sDohg== 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=X0k/SEWfiZ9lpTuGCpkSOetit1aIRDN9GxHhKtMdO7g=; b=OV5ddWpGk3f3ja5IrynbtBR8PWp17PGfH3cOkkZCbGNoi6o2H7FLXK5EWR6s8BnmqMlfpG+bl9UlHnMwqpkd+h2SsSyoEZsraTyOUhMq/f+o58WY8Mnn5JMkDRpqOmPZwnsEZa9FkTNC08W4z7BIvxo+SpeReQd+15S3M223QtAmequCQ67z/2mpJZ1cf+iEChuF1phncgznnD3XGeK/WJAG480PV3kDEEyiGRK4toxCXJbpSXj+uYG9w2AYmD3s1ndpbQu94TJy3R0bfvtwy4YeZmhWyZslTadzovUpfmf8UiGino79tH6evhI163+trQ7UUupZgAEKA5vPEOIpjQ== Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) by AS8P250MB0315.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Sat, 26 Aug 2023 15:12:02 +0000 Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::e8dd:7fe1:2348:cd62]) by DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::e8dd:7fe1:2348:cd62%7]) with mapi id 15.20.6699.020; Sat, 26 Aug 2023 15:12:02 +0000 Message-ID: Date: Sat, 26 Aug 2023 17:13:19 +0200 To: ffmpeg-devel@ffmpeg.org References: <20230826132145.159744-1-stefasab@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20230826132145.159744-1-stefasab@gmail.com> X-TMN: [iKyc/y7jwqSf+CHX6MdECWnJrPJOOFa+DnYZRZL+r88=] X-ClientProxiedBy: FR0P281CA0146.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:96::20) To DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) X-Microsoft-Original-Message-ID: <04aa9024-6dff-ea4a-23d2-dbc23fd9ebe5@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0P250MB0747:EE_|AS8P250MB0315:EE_ X-MS-Office365-Filtering-Correlation-Id: 8dec92dc-3ced-4ba8-ad54-08dba646cd21 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: K/XXfYlRpX4+/msG5L4fBDFpwkNJNkg+VVGWS/0pDB3ZHCvIMsqSkFu7BJUuc3V63YzarQj7drT3ui3QRngeHkc07g3VZCucCoxpKJ96vN6wEFv8lhF2WA5+ty/1rfM7tsq48sN1tAJESeuDT59yOXcT2tatMq8sT8xEUY5E3WR7I6KDp/nFKd6ebUgWnO0xRTuGwQiVUDuLpOQITTow0uah0uO9KpmyVZxDPgINLbGOLee8E97HWrdTk8x2/tLrsUw+9y6BRaXJzFPkeP6wLvB5AGCCVvsdcszBoKSntxL6CvUP9Rfr1VEyY6QzbsDbuwrWdYCeZn5byJ5xWscvz39UOmS1PNeud4IhuKtvg+KypX9+mujMMSPPWKWLj6eUme4stPb82Q9A2H6G24vLR2I3M++gwqTGl90XBX6D7i/5nDl7z74TIA+D+Eful41yO9N+CPdZ5b03QzwfWHUnqLTOXMgg4l+XJOC3L9+3Ibe/F/BA4i2msdUVwvB56X/0bkYEAJRlghtVGIHD255hA3HRjfa6DhpBmNVPrHzB3jCsjjyjGdgrcn5dyAL9e/lP X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OVhtZ1JiRm5VSW9SSnlSNzkvWnlCNU0yOC9WeHMvQThZOTc0cjE5dVZWN0x1?= =?utf-8?B?ZURDSjE2K0lCQ0pqWGtTVlJ3SE9icjFDWW00TXUxdERjTU5oWVhEdWc0clNp?= =?utf-8?B?aGgwVkVlQ2NWUndHa1pDcCtLa3FEdXdtVDdUOHE5bmhSckhGZ0hOWkdQd1RD?= =?utf-8?B?N0ttcjRucHY4ZFZHUHhqRUxqQkcvZHRDZXVwbXlrN3JNRjUxNXVpNWNTU2xz?= =?utf-8?B?a0RnNE14VU5ZRHFWQkkybTNibktFZzFKZWt2RGJLUEdIR3ducE1hTDRlbWlB?= =?utf-8?B?SnNqQXZkTVZ6a1FCOWpjazlucTFudW4wUy9MdG1pa2JobmsvOERzVkEzcEtE?= =?utf-8?B?Ky96TE9XcXZ1cS9ad0VkODA4clhtYlNkMTh2TXpTRXRWS00wZ0RaWEE0Y2xy?= =?utf-8?B?RTh0WU5CMnlOaGlPcGJYZFZBSUNRbDZPYmxGNGpqVHZyc0RGMHNjMlNNbDFs?= =?utf-8?B?NlQvNDdlTEhHbTVjVzIvTytBRjVsMUhNN0lKL3FWV0FCY214YzlHdEJkaVRa?= =?utf-8?B?bEI4eFpEYmUwdkhVeVkrSjVCMG9MamZ0cEJqVW1OaEdmdWZ0SHU2dmU3QTdX?= =?utf-8?B?TGVITHpVNGhqYk5TR1RrQUhGTmpYSW95SG5uN0lHcVgyQ2RjTUN0eWtwS1FI?= =?utf-8?B?dFE0Z093a2wvMkFiaFltZXYxWjhybktMdmZ1UHNJZ2ppMVRDUTNuRFhFdHhF?= =?utf-8?B?c0xvdUNFZzJ6TFJMSUJUamZsZEJGSnNORjZSdld5Rm1JeGJDVVA0Q1ppQ3du?= =?utf-8?B?RmpYTnhFOHBqeGhnQWNqelRldTQweDdLdGNEQXl6K3RSejJEVkdXZXJPY0wr?= =?utf-8?B?TmRYTjF2SFFHc0RIQ25TN0xXencrK050ZGIzck1uWWpLQ3I4UWpQN1JEK0ND?= =?utf-8?B?QVFpdnhiRUdLaTlpOERQWFV5Rk5tenpIbmNzd2FieWpQcG9INFA4VEIyWmEx?= =?utf-8?B?b3pLRkZvL200WVcwaDBKb0dhMjNkT0Rmb3AwMzV1d3J5b1oyNWRuV01lWTFC?= =?utf-8?B?SVR3THM5NCt6OGk0Z3B2dGVSVlpSSU0rMkJtN1pYQzhGT1R6S3FGMm1wcEty?= =?utf-8?B?TEhLOTVRSGw3Sm03U3lFYVlCcGhobzdIOWpYY2VMaXdhcnBaM1NTaFJuN0E1?= =?utf-8?B?bWtRQ2NKaFJoV1pPek45bC9JVlEvMFhTUW9tUE8wU2cxTWlNSDJ3TnFMSlBV?= =?utf-8?B?K0toSGluK2V4TjQ5S09LeVJwanlXZmQzUEU1RmVONnJzMWI1MXVtQ2RLS2xx?= =?utf-8?B?TmpXMnY3RGVTZzdLMWNRR0o3dGJWalY4L2dmV0JscGpZZGFTU245UkdORmdW?= =?utf-8?B?eHhHSlYrRThuQk01UTNEUEorSWZYck9GWXV2ZFB6a0JMYmxlNndIbDZadGgr?= =?utf-8?B?dGJPd3BtazJpL1lESUhJekR3aEJFVHRwb054L1pvTVVCK0pCK0FiemoweW1N?= =?utf-8?B?cEVIYnFMdVhBNXBvWElnWWs5ejBic1orZmo2R3hPamhHYzVnYkFlYWJqZ29F?= =?utf-8?B?V05kTjN5MFNkL0RucnFVWXFVOWV4bUI5TFFIeElFWmJZbXlJTEpXUFRuenVv?= =?utf-8?B?d0RqdGYwZGJQWjF3cUZSUE5uaEd3dkgweSs2eTIzNjZTbWNWNkxFSy9rNHFW?= =?utf-8?B?emdqMkRsNjNLcTliYzRxOVBQdjNqSTEwNW1DaGJSZjc4RkpBTEdoRjZlZzVV?= =?utf-8?Q?1HDwSYhu8H95c1+gIBQD?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8dec92dc-3ced-4ba8-ad54-08dba646cd21 X-MS-Exchange-CrossTenant-AuthSource: DU0P250MB0747.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2023 15:12:02.6037 (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: AS8P250MB0315 Subject: Re: [FFmpeg-devel] [PATCH 1/2] lsws, lavfi: use sws_get_gaussian_vec 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: Stefano Sabatini: > Use in place of deprecated sws_getGaussianVec. This patchset should have been sent as a reply to the patch actually adding sws_get_gaussian_vec. > --- > libavfilter/vf_sab.c | 17 +++++++++++++---- > libavfilter/vf_smartblur.c | 8 ++++---- > libswscale/utils.c | 32 ++++++++++++++------------------ > 3 files changed, 31 insertions(+), 26 deletions(-) > > diff --git a/libavfilter/vf_sab.c b/libavfilter/vf_sab.c > index 5e0687c9a2..b2e42a55af 100644 > --- a/libavfilter/vf_sab.c > +++ b/libavfilter/vf_sab.c > @@ -143,7 +143,7 @@ static int open_filter_param(FilterParam *f, int width, int height, unsigned int > { > SwsVector *vec; > SwsFilter sws_f; > - int i, x, y; > + int ret, i, x, y; > int linesize = FFALIGN(width, 8); > > f->pre_filter_buf = av_malloc(linesize * height); > @@ -151,7 +151,10 @@ static int open_filter_param(FilterParam *f, int width, int height, unsigned int > return AVERROR(ENOMEM); > > f->pre_filter_linesize = linesize; > - vec = sws_getGaussianVec(f->pre_filter_radius, f->quality); > + ret = sws_get_gaussian_vec(&vec, f->pre_filter_radius, f->quality); > + if (ret < 0) > + return ret; > + > sws_f.lumH = sws_f.lumV = vec; > sws_f.chrH = sws_f.chrV = NULL; > f->pre_filter_context = sws_getContext(width, height, AV_PIX_FMT_GRAY8, > @@ -159,7 +162,10 @@ static int open_filter_param(FilterParam *f, int width, int height, unsigned int > sws_flags, &sws_f, NULL, NULL); > sws_freeVec(vec); > > - vec = sws_getGaussianVec(f->strength, 5.0); > + ret = sws_get_gaussian_vec(&vec, f->strength, 5.0); > + if (ret < 0) > + return ret; > + > for (i = 0; i < COLOR_DIFF_COEFF_SIZE; i++) { > double d; > int index = i-COLOR_DIFF_COEFF_SIZE/2 + vec->length/2; > @@ -171,7 +177,10 @@ static int open_filter_param(FilterParam *f, int width, int height, unsigned int > } > sws_freeVec(vec); > > - vec = sws_getGaussianVec(f->radius, f->quality); > + ret = sws_get_gaussian_vec(&vec, f->radius, f->quality); > + if (ret < 0) > + return ret; > + > f->dist_width = vec->length; > f->dist_linesize = FFALIGN(vec->length, 8); > f->dist_coeff = av_malloc_array(f->dist_width, f->dist_linesize * sizeof(*f->dist_coeff)); > diff --git a/libavfilter/vf_smartblur.c b/libavfilter/vf_smartblur.c > index 85d8d502e1..8a4e7bf1d3 100644 > --- a/libavfilter/vf_smartblur.c > +++ b/libavfilter/vf_smartblur.c > @@ -126,11 +126,11 @@ static int alloc_sws_context(FilterParam *f, int width, int height, unsigned int > { > SwsVector *vec; > SwsFilter sws_filter; > + int ret; > > - vec = sws_getGaussianVec(f->radius, f->quality); > - > - if (!vec) > - return AVERROR(EINVAL); > + ret = sws_get_gaussian_vec(&vec, f->radius, f->quality); > + if (ret < 0) > + return ret; > > sws_scaleVec(vec, f->strength); > vec->coeff[vec->length / 2] += 1.0 - f->strength; > diff --git a/libswscale/utils.c b/libswscale/utils.c > index 96034af1e0..a315f37c6d 100644 > --- a/libswscale/utils.c > +++ b/libswscale/utils.c > @@ -2365,24 +2365,20 @@ SwsFilter *sws_getDefaultFilter(float lumaGBlur, float chromaGBlur, > if (!filter) > return NULL; > > - if (lumaGBlur != 0.0) { > - filter->lumH = sws_getGaussianVec(lumaGBlur, 3.0); > - filter->lumV = sws_getGaussianVec(lumaGBlur, 3.0); > - } else { > - filter->lumH = sws_getIdentityVec(); > - filter->lumV = sws_getIdentityVec(); > - } > - > - if (chromaGBlur != 0.0) { > - filter->chrH = sws_getGaussianVec(chromaGBlur, 3.0); > - filter->chrV = sws_getGaussianVec(chromaGBlur, 3.0); > - } else { > - filter->chrH = sws_getIdentityVec(); > - filter->chrV = sws_getIdentityVec(); > - } > - > - if (!filter->lumH || !filter->lumV || !filter->chrH || !filter->chrV) > - goto fail; > +#define SET_FILTER_VECTOR(name_, standard_deviation_, quality_) \ > + if (standard_deviation_ != 0.0) { \ > + sws_get_gaussian_vec(&filter->name_, \ > + standard_deviation_, quality_); \ > + } else { \ > + filter->name_ = sws_getIdentityVec(); \ > + } \ > + if (!filter->name_) \ > + goto fail; \ > + > + SET_FILTER_VECTOR(lumH, lumaGBlur, 3.0); > + SET_FILTER_VECTOR(lumV, lumaGBlur, 3.0); > + SET_FILTER_VECTOR(chrH, chromaGBlur, 3.0); > + SET_FILTER_VECTOR(chrV, chromaGBlur, 3.0); This will check lumaGBlur/chromaGBlur twice. > > if (chromaSharpen != 0.0) { > SwsVector *id = sws_getIdentityVec(); _______________________________________________ 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".