From: "Zsolt Vadász via ffmpeg-devel" <ffmpeg-devel@ffmpeg.org> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Cc: "Zsolt Vadász" <zsolt_vadasz@protonmail.com> Subject: [FFmpeg-devel] [PATCH 1/2] libavfilter/vf_minterpolate: Hoist hot loop in `set_frame_data` Date: Fri, 29 Aug 2025 20:19:47 +0000 Message-ID: <-bW6jmQQSuGIZXDUmE8tnqn_TU1c-wo1WbKGAytFLIpE3oHFbeXNhoVAfr7U1ioIbeO7HVb_W52Ib9rccz1l5_rUWw-VZtdVyIcKnwv3kDY=@protonmail.com> (raw) Signed-off-by: Zsolt Vadasz <zsolt_vadasz@protonmail.com> --- libavfilter/vf_minterpolate.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/libavfilter/vf_minterpolate.c b/libavfilter/vf_minterpolate.c index d034783bc5..2406259056 100644 --- a/libavfilter/vf_minterpolate.c +++ b/libavfilter/vf_minterpolate.c @@ -939,17 +939,20 @@ static void set_frame_data(MIContext *mi_ctx, int alpha, AVFrame *avf_out) weight_sum = ALPHA_MAX; } - for (i = 0; i < pixel_refs->nb; i++) { - Frame *frame = &mi_ctx->frames[pixel_refs->refs[i]]; - if (chroma) { + if (chroma) { + for (i = 0; i < pixel_refs->nb; i++) { + Frame *frame = &mi_ctx->frames[pixel_refs->refs[i]]; x_mv = (x >> mi_ctx->log2_chroma_w) + pixel_mvs->mvs[i][0] / (1 << mi_ctx->log2_chroma_w); y_mv = (y >> mi_ctx->log2_chroma_h) + pixel_mvs->mvs[i][1] / (1 << mi_ctx->log2_chroma_h); - } else { + val += pixel_weights->weights[i] * frame->avf->data[plane][x_mv + y_mv * frame->avf->linesize[plane]]; + } + } else { + for (i = 0; i < pixel_refs->nb; i++) { + Frame *frame = &mi_ctx->frames[pixel_refs->refs[i]]; x_mv = x + pixel_mvs->mvs[i][0]; y_mv = y + pixel_mvs->mvs[i][1]; + val += pixel_weights->weights[i] * frame->avf->data[plane][x_mv + y_mv * frame->avf->linesize[plane]]; } - - val += pixel_weights->weights[i] * frame->avf->data[plane][x_mv + y_mv * frame->avf->linesize[plane]]; } val = ROUNDED_DIV(val, weight_sum); -- 2.51.0 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
reply other threads:[~2025-08-29 20:20 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='-bW6jmQQSuGIZXDUmE8tnqn_TU1c-wo1WbKGAytFLIpE3oHFbeXNhoVAfr7U1ioIbeO7HVb_W52Ib9rccz1l5_rUWw-VZtdVyIcKnwv3kDY=@protonmail.com' \ --to=ffmpeg-devel@ffmpeg.org \ --cc=zsolt_vadasz@protonmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git