Skip to content

Add pixels0rt filter - #241

Merged
jaromil merged 2 commits into
dyne:masterfrom
namikiri:pixels0rt
Aug 16, 2026
Merged

Add pixels0rt filter#241
jaromil merged 2 commits into
dyne:masterfrom
namikiri:pixels0rt

Conversation

@namikiri

Copy link
Copy Markdown
Contributor

Pixel sorting, now for all open and awesome video editors!

This filter implements 4-directional pixel sorting based on threshold with direct and reversed sorting order and transparency threshold for using it in masks.

Thresholds are keyframe-friendly and accept values from 0 to 1.

The result looks like this:
изображение

Additionally, this commit adds CMakeCache.txt into .gitignore. I couldn't remove it from the commits so please let me know how to fix that if it's a problem.

Any comments on the code are appreciated.

@namikiri

Copy link
Copy Markdown
Contributor Author

Optional but might be useful: QML files for Shotcut which I was using during the effect development:
https://gist.github.com/namikiri/84b092891c2717ca70402054968c3b15

They can be made a bit incorrectly as I'm new to QML and just took another effects as examples.

@shadowfax65

shadowfax65 commented Jan 10, 2026

Copy link
Copy Markdown

@namikiri: What are the values for the different directions? From the QML file I thought 0 (top to bottom), 1 (bottom to top), 2 (left to right), 3 (right to left), but the value range is limited from 0 to 1. The .c file also suggests 0/1/2/3 but when I try this in Kdenlive only 0 (top to bottom) works.

I can get it to work with 0, 0.25, 0.5, and 0.75 ;-)

@namikiri

Copy link
Copy Markdown
Contributor Author

@shadowfax65

I can get it to work with 0, 0.25, 0.5, and 0.75 ;-)

You have guessed it right! As Frei0r parameter types are BOOL, STRING, COLOR and DOUBLE, I chose the most suitable variant to pass the direction into the filter by dividing the range 0..1 into 4 subranges.

@luzpaz

luzpaz commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

Thanks for working on this. Looking forward to this getting merged.

@shadowfax65

Copy link
Copy Markdown

Thanks for working on this. Looking forward to this getting merged.

Any idea when this will happen, @jaromil?

@luzpaz

luzpaz commented Feb 22, 2026

Copy link
Copy Markdown
Contributor

soft bump

Edit: downstream kdenlive Merge Request is dependant on this PR

@luzpaz

luzpaz commented Mar 14, 2026

Copy link
Copy Markdown
Contributor

@jaromil is there an ETA ?

@github-actions

github-actions Bot commented Apr 11, 2026

Copy link
Copy Markdown

✅ Conventional Commits check passed

All commit messages in this PR now follow the Conventional Commits specification. 🎉

@shadowfax65

shadowfax65 commented Jun 8, 2026

Copy link
Copy Markdown

Is there something I can help with to make this available?

@luzpaz

luzpaz commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

another soft bump

@namikiri

Copy link
Copy Markdown
Contributor Author

@luzpaz @shadowfax65 thank you mates for keeping this thing up.

I was so excited to do that and your feedback keeps me believing that it worths it.

@shadowfax65

Copy link
Copy Markdown

@luzpaz @shadowfax65 thank you mates for keeping this thing up.

I was so excited to do that and your feedback keeps me believing that it worths it.

Looks like an easy fix because the script keeps complaining about non-compliance to the Conventional Commits rules. Can you make sure that your commits contain feat: as a prefix, @namikiri?

@namikiri

namikiri commented Aug 8, 2026

Copy link
Copy Markdown
Contributor Author

Changed commit messages to meet conventional message requirements.

Features:
* 4-directional sorting
* direct and reverse order
* transparency threshold for masking
@jaromil

jaromil commented Aug 16, 2026

Copy link
Copy Markdown
Member

Solved the build problem on opencv it was the cache-apt-action ! my fault committed trying to speed up CI.

@jaromil
jaromil merged commit 1af2425 into dyne:master Aug 16, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants