From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 65CC94E2B4 for ; Sun, 8 Jun 2025 06:07:52 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 331CE68BEC0; Sun, 8 Jun 2025 09:07:47 +0300 (EEST) Received: from mail-oa1-f53.google.com (mail-oa1-f53.google.com [209.85.160.53]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 67EBC68A50C for ; Sun, 8 Jun 2025 09:07:40 +0300 (EEST) Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-2e3e58edab5so1304120fac.3 for ; Sat, 07 Jun 2025 23:07:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749362858; x=1749967658; darn=ffmpeg.org; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=0XiVO0/hFfT9fJLIpXN0F4va0aNgWpOvQAz2G0+VSig=; b=LTBVBoUJe3ixuvQrkb93bTdmiI1g0qBqdA0f88MilszP1zg7tTqJm6aC4ewlmT0RrD fkFRgBCzFXw8J0Pch6yh276PlQni3Kj9RI5I/RcJf0I4Aqs0wV/CoeAUWECQ4IEnl8WW ppEqDVy5ygvOG62Jq6eQgv8AYnqxJvL2bbLXRe6KQl+hf5rhpUlfCggmjXeF4oMuea5m yIwmWYYT093CYxPakTLvkTI5y1EYc+izRqceoNX+P283f61wTEWXopNwNROL5yLNB764 ZvKURB9gzjwTPOuXTyRyl0MOphQqMBAQCy44EfQ2wVTZ5JmehwVKVgMT+DH+Awt9llT2 ZekQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749362858; x=1749967658; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=0XiVO0/hFfT9fJLIpXN0F4va0aNgWpOvQAz2G0+VSig=; b=l5RJcXpVs2pPhrf39lYc16TMUDDvxbHjSc9GbsGLBzLBDUFzxi9YHCJCFag2aRDU+J 2ixIDGEx1wg5Ut2hJMFaJmffSaoG1J4GBI3Omn8TlJT6Yll9wUl924ckjodqZPD+IEH0 qBfbNPUAOWL2kHkrNoL0yQGG06z9NT2yb1llX3fLDG4J+zlAJCXIkEM1FMWMwnWI41Hc HMq4+BXHqJPPFHvmxcP5xHUwAP2LMpk9dvpR2BYLGErVLX8/XMRsVE6QYAtlPhyv7c9I KffO2DlSbIMaZeU14UW86IDWzBpjsbrFBZPTeNgY+tjhumxALbQoeuhFvOyER6qHkZHv 6tDA== X-Gm-Message-State: AOJu0Yzu7ou8PixaTC9WT0zX6Lf8rWdQ79H1B2QdYwLsHFBYG/WhH4tL 0nis60AgzCx48RCLErX03EEim9gwMsJ+DqFzUGQ/KXYmbot9E9dHHnbx1GT3fw== X-Gm-Gg: ASbGncvFedYhyyGRparflcgwKMjfaly3oUUaV7o5ss/f0XQhbBE1QpHicUCQV7uFN2O +bQK812wvoPCNgTaqQXQ7mVouJtJJd4TJLIIv/jW0DspnYBtiX+UVjvdsiyB2GvWUAGr04NZtiE bLaMhWMshJRvHDyhUnT32tWBdJbYkXWzXTTzQhaCmaURKswp4Jk88jZ6MmePMG1hjyAATXR74tz uyUMJdLDPjl9VmtEuQZUoKU9x5XLC6uE57bDX5aJrJQNuPAyXORJso37FLAW6E3c2jghbwS7egi cesFeF0RwoOM57MyNJY9jH65wt0gVVDtWHLARQizZJQWkBzu87Sl2pod1uBEZp62ReINZaCZGTx ewIcP X-Google-Smtp-Source: AGHT+IH2SQPUoaxkT0HefcHOXkZXxTwnVgb7y661c37QEbcfMotFYYqDYWYp/+E7idk/+s17x3MntA== X-Received: by 2002:a05:6870:17a7:b0:2d6:72a4:adfa with SMTP id 586e51a60fabf-2ea00f35b64mr4533268fac.30.1749362858191; Sat, 07 Jun 2025 23:07:38 -0700 (PDT) Received: from [192.168.1.30] ([97.125.21.139]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-2ea06fe57basm1246101fac.10.2025.06.07.23.07.37 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 07 Jun 2025 23:07:37 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------k0sSQhAS1iN0MJ828UW2m9Bz" Message-ID: Date: Sun, 8 Jun 2025 01:07:37 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <90c31845-ef4f-4aa2-b87d-93800e1a469b@gmail.com> <20250530005839.GG29660@pb2> <20250602183927.GE29660@pb2> <4faf47d3-54f4-4bfd-9695-0e5a03d8fe2f@gmail.com> <20250607232530.GJ29660@pb2> Content-Language: en-US From: Ethan Halsall In-Reply-To: <20250607232530.GJ29660@pb2> Subject: Re: [FFmpeg-devel] [PATCH] add yuv444p support to mcdeint 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This is a multi-part message in MIME format. --------------k0sSQhAS1iN0MJ828UW2m9Bz Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi Michael, On 6/7/25 6:25 PM, Michael Niedermayer wrote: > Hi Ethan > > On Sat, Jun 07, 2025 at 12:15:06PM -0500, Ethan Halsall wrote: >> Hi Michael, > [...] >> @@ -201,8 +203,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inpic) >> >> for (i = 0; i < 3; i++) { >> int is_chroma = !!i; >> - int w = AV_CEIL_RSHIFT(inlink->w, is_chroma); >> - int h = AV_CEIL_RSHIFT(inlink->h, is_chroma); >> + int w, h; >> + if (is_chroma) { >> + w = inlink->w >> pix_fmt_desc->log2_chroma_w; >> + h = inlink->h >> pix_fmt_desc->log2_chroma_h; > > why is this not using AV_CEIL_RSHIFT() ? > > thx > > [...] > > > _______________________________________________ > 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". I was just using a plain right shift as I was experimenting with this. Seems to work fine with the macro so I can put it back if that's more conventional. Signed-off-by: Ethan Halsall --- libavfilter/vf_mcdeint.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/libavfilter/vf_mcdeint.c b/libavfilter/vf_mcdeint.c index 82048b51d0..f87f441861 100644 --- a/libavfilter/vf_mcdeint.c +++ b/libavfilter/vf_mcdeint.c @@ -51,6 +51,7 @@ #include "libavutil/opt.h" #include "libavcodec/avcodec.h" +#include "libavutil/pixdesc.h" #include "avfilter.h" #include "filters.h" #include "video.h" @@ -128,7 +129,7 @@ static int config_props(AVFilterLink *inlink) enc_ctx->time_base = (AVRational){1,25}; // meaningless enc_ctx->gop_size = INT_MAX; enc_ctx->max_b_frames = 0; - enc_ctx->pix_fmt = AV_PIX_FMT_YUV420P; + enc_ctx->pix_fmt = inlink->format; enc_ctx->flags = AV_CODEC_FLAG_QSCALE | AV_CODEC_FLAG_LOW_DELAY | AV_CODEC_FLAG_RECON_FRAME; enc_ctx->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL; enc_ctx->global_quality = 1; @@ -172,6 +173,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inpic) AVFilterLink *outlink = inlink->dst->outputs[0]; AVFrame *outpic, *frame_dec = mcdeint->frame_dec; AVPacket *pkt = mcdeint->pkt; + const AVPixFmtDescriptor *pix_fmt_desc = av_pix_fmt_desc_get(inlink->format); int x, y, i, ret; outpic = ff_get_video_buffer(outlink, outlink->w, outlink->h); @@ -201,8 +203,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inpic) for (i = 0; i < 3; i++) { int is_chroma = !!i; - int w = AV_CEIL_RSHIFT(inlink->w, is_chroma); - int h = AV_CEIL_RSHIFT(inlink->h, is_chroma); + int w, h; + if (is_chroma) { + w = AV_CEIL_RSHIFT(inlink->w, pix_fmt_desc->log2_chroma_w); + h = AV_CEIL_RSHIFT(inlink->h, pix_fmt_desc->log2_chroma_h); + } else { + w = inlink->w; + h = inlink->h; + } int fils = frame_dec->linesize[i]; int srcs = inpic ->linesize[i]; int dsts = outpic ->linesize[i]; @@ -307,5 +315,5 @@ const FFFilter ff_vf_mcdeint = { .uninit = uninit, FILTER_INPUTS(mcdeint_inputs), FILTER_OUTPUTS(ff_video_default_filterpad), - FILTER_SINGLE_PIXFMT(AV_PIX_FMT_YUV420P), + FILTER_PIXFMTS(AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P), }; -- 2.43.0 Ethan --------------k0sSQhAS1iN0MJ828UW2m9Bz Content-Type: text/x-patch; charset=UTF-8; name="0001-add-yuv444p-support-to-mcdeint.patch" Content-Disposition: attachment; filename="0001-add-yuv444p-support-to-mcdeint.patch" Content-Transfer-Encoding: base64 RnJvbSBjZTE5MWQwMzU1ZDYwM2NhMDMyMTFmNjJmNWMxN2E5MzA0MTQyYzk5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdGhhbiBIYWxzYWxsIDxldGhhbmhhbHNhbGwxMUBh dWd1c3RhbmEuZWR1PgpEYXRlOiBTdW4sIDI1IE1heSAyMDI1IDAwOjUxOjA1IC0wNTAwClN1 YmplY3Q6IFtQQVRDSF0gYWRkIHl1djQ0NHAgc3VwcG9ydCB0byBtY2RlaW50CgpTaWduZWQt b2ZmLWJ5OiBFdGhhbiBIYWxzYWxsIDxldGhhbmhhbHNhbGwxMUBhdWd1c3RhbmEuZWR1Pgot LS0KIGxpYmF2ZmlsdGVyL3ZmX21jZGVpbnQuYyB8IDE2ICsrKysrKysrKysrKy0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX21jZGVpbnQuYyBiL2xpYmF2ZmlsdGVyL3ZmX21jZGVp bnQuYwppbmRleCA4MjA0OGI1MWQwLi5mODdmNDQxODYxIDEwMDY0NAotLS0gYS9saWJhdmZp bHRlci92Zl9tY2RlaW50LmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfbWNkZWludC5jCkBAIC01 MSw2ICs1MSw3IEBACiAKICNpbmNsdWRlICJsaWJhdnV0aWwvb3B0LmgiCiAjaW5jbHVkZSAi bGliYXZjb2RlYy9hdmNvZGVjLmgiCisjaW5jbHVkZSAibGliYXZ1dGlsL3BpeGRlc2MuaCIK ICNpbmNsdWRlICJhdmZpbHRlci5oIgogI2luY2x1ZGUgImZpbHRlcnMuaCIKICNpbmNsdWRl ICJ2aWRlby5oIgpAQCAtMTI4LDcgKzEyOSw3IEBAIHN0YXRpYyBpbnQgY29uZmlnX3Byb3Bz KEFWRmlsdGVyTGluayAqaW5saW5rKQogICAgIGVuY19jdHgtPnRpbWVfYmFzZSA9IChBVlJh dGlvbmFsKXsxLDI1fTsgIC8vIG1lYW5pbmdsZXNzCiAgICAgZW5jX2N0eC0+Z29wX3NpemUg PSBJTlRfTUFYOwogICAgIGVuY19jdHgtPm1heF9iX2ZyYW1lcyA9IDA7Ci0gICAgZW5jX2N0 eC0+cGl4X2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDIwUDsKKyAgICBlbmNfY3R4LT5waXhfZm10 ID0gaW5saW5rLT5mb3JtYXQ7CiAgICAgZW5jX2N0eC0+ZmxhZ3MgPSBBVl9DT0RFQ19GTEFH X1FTQ0FMRSB8IEFWX0NPREVDX0ZMQUdfTE9XX0RFTEFZIHwgQVZfQ09ERUNfRkxBR19SRUNP Tl9GUkFNRTsKICAgICBlbmNfY3R4LT5zdHJpY3Rfc3RkX2NvbXBsaWFuY2UgPSBGRl9DT01Q TElBTkNFX0VYUEVSSU1FTlRBTDsKICAgICBlbmNfY3R4LT5nbG9iYWxfcXVhbGl0eSA9IDE7 CkBAIC0xNzIsNiArMTczLDcgQEAgc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJM aW5rICppbmxpbmssIEFWRnJhbWUgKmlucGljKQogICAgIEFWRmlsdGVyTGluayAqb3V0bGlu ayA9IGlubGluay0+ZHN0LT5vdXRwdXRzWzBdOwogICAgIEFWRnJhbWUgKm91dHBpYywgKmZy YW1lX2RlYyA9IG1jZGVpbnQtPmZyYW1lX2RlYzsKICAgICBBVlBhY2tldCAqcGt0ID0gbWNk ZWludC0+cGt0OworICAgIGNvbnN0IEFWUGl4Rm10RGVzY3JpcHRvciAqcGl4X2ZtdF9kZXNj ID0gYXZfcGl4X2ZtdF9kZXNjX2dldChpbmxpbmstPmZvcm1hdCk7CiAgICAgaW50IHgsIHks IGksIHJldDsKIAogICAgIG91dHBpYyA9IGZmX2dldF92aWRlb19idWZmZXIob3V0bGluaywg b3V0bGluay0+dywgb3V0bGluay0+aCk7CkBAIC0yMDEsOCArMjAzLDE0IEBAIHN0YXRpYyBp bnQgZmlsdGVyX2ZyYW1lKEFWRmlsdGVyTGluayAqaW5saW5rLCBBVkZyYW1lICppbnBpYykK IAogICAgIGZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHsKICAgICAgICAgaW50IGlzX2Nocm9t YSA9ICEhaTsKLSAgICAgICAgaW50IHcgPSBBVl9DRUlMX1JTSElGVChpbmxpbmstPncsIGlz X2Nocm9tYSk7Ci0gICAgICAgIGludCBoID0gQVZfQ0VJTF9SU0hJRlQoaW5saW5rLT5oLCBp c19jaHJvbWEpOworICAgICAgICBpbnQgdywgaDsKKyAgICAgICAgaWYgKGlzX2Nocm9tYSkg eworICAgICAgICAgICAgdyA9IEFWX0NFSUxfUlNISUZUKGlubGluay0+dywgcGl4X2ZtdF9k ZXNjLT5sb2cyX2Nocm9tYV93KTsKKyAgICAgICAgICAgIGggPSBBVl9DRUlMX1JTSElGVChp bmxpbmstPmgsIHBpeF9mbXRfZGVzYy0+bG9nMl9jaHJvbWFfaCk7CisgICAgICAgIH0gZWxz ZSB7CisgICAgICAgICAgICB3ID0gaW5saW5rLT53OworICAgICAgICAgICAgaCA9IGlubGlu ay0+aDsKKyAgICAgICAgfQogICAgICAgICBpbnQgZmlscyA9IGZyYW1lX2RlYy0+bGluZXNp emVbaV07CiAgICAgICAgIGludCBzcmNzID0gaW5waWMgICAgLT5saW5lc2l6ZVtpXTsKICAg ICAgICAgaW50IGRzdHMgPSBvdXRwaWMgICAtPmxpbmVzaXplW2ldOwpAQCAtMzA3LDUgKzMx NSw1IEBAIGNvbnN0IEZGRmlsdGVyIGZmX3ZmX21jZGVpbnQgPSB7CiAgICAgLnVuaW5pdCAg ICAgICAgPSB1bmluaXQsCiAgICAgRklMVEVSX0lOUFVUUyhtY2RlaW50X2lucHV0cyksCiAg ICAgRklMVEVSX09VVFBVVFMoZmZfdmlkZW9fZGVmYXVsdF9maWx0ZXJwYWQpLAotICAgIEZJ TFRFUl9TSU5HTEVfUElYRk1UKEFWX1BJWF9GTVRfWVVWNDIwUCksCisgICAgRklMVEVSX1BJ WEZNVFMoQVZfUElYX0ZNVF9ZVVY0MjBQLCBBVl9QSVhfRk1UX1lVVjQ0NFApLAogfTsKLS0g CjIuNDMuMAoK --------------k0sSQhAS1iN0MJ828UW2m9Bz Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --------------k0sSQhAS1iN0MJ828UW2m9Bz--