Skip to content

Add pixels0rt filter#241

Open
namikiri wants to merge 2 commits into
dyne:masterfrom
namikiri:pixels0rt
Open

Add pixels0rt filter#241
namikiri wants to merge 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 ?

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

Copy link
Copy Markdown

❌ Conventional Commits check failed

One or more commit messages in this PR do not follow the
Conventional Commits v1.0.0 specification.

Invalid commits:

  • 5434a22 — Ignore CMakeCache
  • 52be0a9 — Add pixels0rt filter

Expected format

type(scope?)!?: subject

Examples

  • feat: add user login
  • fix(api): handle null response
  • chore!: drop node 16 support

Please fix the commit messages (e.g. via git rebase -i) and push again.

@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?

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.

3 participants