[kdenlive] [Bug 497435] Shakiness in Transform

2025-02-12 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #35 from earmuff.victor...@icloud.com ---
(In reply to Jean-Baptiste Mardelle from comment #14)
> Could you test our latest nightly builds that contain my MLT fixed to
> confirm if the issue is better ? 

Sorry for the latent reply, I have tested with a few nightly builds, most
recently 9643, and the results look smth!  Thanks for all the hard work you
and Ron have put into this! Really appreciate it!

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-02-03 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #34 from Ron  ---
Thanks!  Nothing leaps off the page at me in the diff to the previous patch -
though that (consumerScale > 0.) test block caught my eye and had me scratching
my head again until my idiot brain twigged that it was reading > 0 but
*thinking* > 1 so that bit makes more sense now :)

It is why I like to give 'magic' numbers and return values explicit names, so
they don't get confused with 'normal' values.

I've just updated my dev vm to pull these last changes in, and confirmed
Roxane's test case still looks good.  Right now I'm mostly testing changes to
subtitle stuff, so this code path probably won't get a lot of exercise there
just yet - but I'm deliberately poking at lots of corner cases, so ...

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-02-03 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #33 from Jean-Baptiste Mardelle  ---
Also note that the patch I am proposing is already applied to our daily built
AppImages if someone wants to test

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-02-03 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #32 from Jean-Baptiste Mardelle  ---
I created an MR against MLT with some of the changes you suggested as well as a
few other fixes. I will keep it open for a few day if you or others want to
have a look and if nothing too problematic comes up, I will merge.
https://github.com/mltframework/mlt/pull/1064

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-15 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #31 from Ron  ---
hmm, not directly related to this issue as such - but I woke from a nap
wondering
if there might not be a measurable rendering speed up from inlining the
mlt_profile_scale_*() functions ...

qtblend alone calls them 4 times each time it's entered for a frame, and it's
really
just a simple (if args initialised do divide) which seems ripe for the compiler
to
be able to do Good Things with if it wasn't hidden behind a function call into
a different shared library ...

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-15 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #30 from Ron  ---
(In reply to Jean-Baptiste Mardelle from comment #29)
> ... My work is here:
> https://github.com/j-b-m/mlt/tree/work/qtblend-fixes

Looking at the diff between that tree and the one my 'final' patch came from,
I have a couple of initial comments (most easily expressed as a patch ;)

diff --git a/src/modules/qt/filter_qtblend.cpp
b/src/modules/qt/filter_qtblend.cpp
index f77ab94f..0db7b9bb 100644
--- a/src/modules/qt/filter_qtblend.cpp
+++ b/src/modules/qt/filter_qtblend.cpp
@@ -81,7 +81,7 @@ static int filter_get_image(mlt_frame frame,
 double opacity = 1.0;

 // If the _qtblend_scaled property is true, a filter was already applied,
and we cannot get the consumer scaling using *width / *height
-bool qtblendRescaled = mlt_properties_get_int(frame_properties,
"_qtblend_scaled") == 1;
+   int qtblendRescaled = mlt_properties_get_int(frame_properties,
"_qtblend_scaled");
 if (mlt_properties_get(properties, "rect")) {
 rect = mlt_properties_anim_get_rect(properties, "rect", position,
length);
 if (::strchr(mlt_properties_get(properties, "rect"), '%')) {
@@ -204,7 +204,7 @@ static int filter_get_image(mlt_frame frame,
 if (distort) {
 transform.scale(rect.w / b_width, rect.h / b_height);
 } else {
-double scale = 1;
+double scale;
 double resize_dar = rect.w * consumer_ar / rect.h;
 if (b_dar >= resize_dar) {
 scale = rect.w / b_width;

The "int qtblendRescaled" change is a micro optimisation - it will either be 1
if we set it, or default to 0 if we didn't,
so we don't need to test it and massage it into a bool type before using it as
a true/false conditional later.
The compiler would *probably* just do that anyway, but this is a hot path, so
...

And scale doesn't need initialisation there, it's always set one way or the
other just below that.

diff --git a/src/modules/qt/transition_qtblend.cpp
b/src/modules/qt/transition_qtblend.cpp
index 4bc59050..cdebbfec 100644
--- a/src/modules/qt/transition_qtblend.cpp
+++ b/src/modules/qt/transition_qtblend.cpp
@@ -91,15 +91,15 @@ static int get_image(mlt_frame a_frame,
 }

 int request_width = profile->width;
-int request_height = profile->height;
+//  int request_height = profile->height;
 double scalex = mlt_profile_scale_width(profile, *width);
 double scaley = mlt_profile_scale_height(profile, *height);
 if (scalex != 1.) {
-request_width *= scalex;
+request_width = *width;
 b_height *= scalex;
 b_width *= scalex;
 }
-request_height *= scaley;
+int request_height = *height;

 // Check transform
 if (mlt_properties_get(transition_properties, "rect")) {
@@ -203,6 +203,7 @@ static int get_image(mlt_frame a_frame,
 
"progressive,distort,colorspace,full_range,force_full_luma,"
  "top_field_first,color_trc");
 // Prepare output image
+   // XXX Delete this conditional now
 if (false && b_frame->convert_image && (b_width != request_width
|| b_height != request_height)) {
 mlt_properties_set_int(b_properties, "convert_image_width",
request_width);
 mlt_properties_set_int(b_properties, "convert_image_height",
request_height);

The change to request_*, unless I'm missing something there, is just what that
really does?
mlt_profile_scale_width sets scalex = width / profile->width
So at best request_width (aka profile->width) * scalex, will always equal width
or at worst it will be slightly different due to fp rounding precision.
The compiler would *probably* optimise out the second multiply - but if I'm
not missing something, we can just beat it to it.

The XXX comment is just about the if (false ...) change there.  If that change
is no longer
WIP, that block can be deleted in the final patch.


I'm also not really clear on what this following code is really doing - I get
what you are aiming
for in principle here, and I think that's the right thing - and this probably
just shows off how
grainy my understanding of mlt's internal machinations still is, but ...

when we get here, b_width is either set to profile->width or meta.media.width,
and I don't see
where either of those might get changed by qtblend previously rescaling, so
it's not clear to
me why it would need to be multiplied by consumerScale, or why that would only
be done
if we are scaling up ...

I have no reason to doubt you had a good reason for doing this - it's just the
one bit I can't
execute in my head and go "yep, that looks like the right thing to me" :)

In filter_qtblend.cpp:
+if (qtblendRescaled) {
+// Another qtblend filter was already applied
+// We requested a image with full media resolution, adjust rect to
profile
+// Check if we have consumer scaling enabled
+double consumer

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-15 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #29 from Jean-Baptiste Mardelle  ---
So I am preparing a patch that contains the fixes discussed here as well as
some other aspect ratio issues causing incorrect position / scale when using
multiple qtblend filters on the same clip.
My work is here:
https://github.com/j-b-m/mlt/tree/work/qtblend-fixes
I plan to release a testing AppImage for feedback and will then push the
changes in MLT if all works as expected

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-15 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

Ron  changed:

   What|Removed |Added

 CC||roxane.pet...@gmail.com

--- Comment #28 from Ron  ---
*** Bug 476625 has been marked as a duplicate of this bug. ***

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-09 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #27 from Ron  ---
Created attachment 177237
  --> https://bugs.kde.org/attachment.cgi?id=177237&action=edit
'final' patch tested with mlt HEAD

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-09 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #26 from Ron  ---
(In reply to Jean-Baptiste Mardelle from comment #23)
> We need to keep the nearest rescale ... in some cases users want such
> scaling (when upscaling pixel art for example).

Ok, that makes sense.  I'm fine with "sacrificing" nearest for that use case.
I'd pondered whether a 'none' option might be worth adding if there was a case
for not using the QPainter smoothing - but in this light I don't think so -
anyone
who really cares about smooth is going to use one of the stronger interpolation
methods.  And with this patch, nearest isn't jittery, it's just stairsteppy, as
you'd
expect (and for that use case want).

> I have also spent quite some time to figure out the issue there. My changes
> that introduced the bug, changing b_width and b_height in filter_qtblend,
> were part of an optimization. With this change, instead of always requesting
> a full frame image from the source producer, we ask for an already scaled
> from from the producer. But despite all my attempts, with this technique, it
> doesn't seem possible to get smooth zoom, as the producer return images with
> integer sizes.

Yeah, I think that's the crux of it (and the classic gotya with floating
point), there
may be a class of transforms you could optimise that way, but in the general
case
and for continuous small subpixel motion, the loss of precision in the
intermediate
calculation can add up to much larger errors in the final result.

If we're going from integer pixels to pixels, the whole transform has to be
done
in a single step.

> The attached path seems to make it work correctly for me. Could you please 
> test ?

I think we're looking good!  Or at least I've run out of ways for now to make
something
look broken with this one.

I'll attach my diff as applied to current mlt head (32abe16667). There's no
substantive
change to what you did, but has a couple of little extra things I saw along the
way:

- fixes the file name in the filter_qtblend.cpp header.
- merges the tests for setting hasAlpha into a single statement.

- drops an apparently vestigial "if (error) return error;" - because nothing
changes
  the initialised value of error before that point.
- merges setting hqPainting into a single statement, and adds a comment about
  why nearest is excluded, so people don't wonder if it can be 'optimised' like
I did :)

The janitoral stuff can be split into separate commits for pushing to mlt, but
it's
obvious enough that I've left it all one diff instead of making it a patch
series.

> And thanks for your patch, my solution is based on your results !

Thanks for the sanity checks and the clues along the way!  I'd felt a little
guilty about initially
handwaving this away as "expected and normal" in the forum before I saw the
tests that Roxane
had posted and realised it was quite real - and there's only really one way to
atone for that :)

It's good to get to know this code better, I've been a happy user for quite a
while now, and this
lowers the bar for looking into some of the other glitches I've been noting on
the forum which
I keep promising Bernd I'll get around to filing real bug reports for :D

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-09 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #25 from Jean-Baptiste Mardelle  ---
And thanks for your patch, my solution is based on your results !

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-09 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #24 from Jean-Baptiste Mardelle  ---
Created attachment 177228
  --> https://bugs.kde.org/attachment.cgi?id=177228&action=edit
fix qtblend zooming

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-09 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #23 from Jean-Baptiste Mardelle  ---
We need to keep the nearest rescale (without the
QPainter::SmoothPixmapTransform) because in some cases users want such scaling
(when upscaling pixel art for example). But you are correct that "hyper" was
not handled correctly.

I have also spent quite some time to figure out the issue there. My changes
that introduced the bug, changing b_width and b_height in filter_qtblend, were
part of an optimization. With this change, instead of always requesting a full
frame image from the source producer, we ask for an already scaled from from
the producer. But despite all my attempts, with this technique, it doesn't seem
possible to get smooth zoom, as the producer return images with integer sizes.

So for now, the best option seems to leave out that part, and keep requesting a
normal frame to the producers. The attached path seems to make it work
correctly for me. Could you please test ?

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-08 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #22 from Ron  ---
And working my way up the tree, here's a patch that makes mlt
0c22797bbcb209f9667d72d4038866f28a624115
scroll smoothly with both hyper and bilinear interpolation (should work with
all, but only testing those two right
now as the representative cases).

diff --git a/src/modules/qt/filter_qtblend.cpp
b/src/modules/qt/filter_qtblend.cpp
index e1d0a8fb..2c2e2759 100644
--- a/src/modules/qt/filter_qtblend.cpp
+++ b/src/modules/qt/filter_qtblend.cpp
@@ -95,9 +95,13 @@ static int filter_get_image( mlt_frame frame, uint8_t
**image, mlt_image_format
transform.translate(rect.x, rect.y);
opacity = rect.o;
hasAlpha = rect.o < 1 || rect.x != 0 || rect.y != 0 || rect.w
!= *width || rect.h != *height;
-   b_width = qMin( (int)rect.w, b_width );
-   b_height = qMin( (int)rect.h, b_height );
-   if ( b_width < *width || b_height < *height )
+  if ( qMin( qRound(rect.w), b_width ) < *width || qMin(
qRound(rect.h), b_height ) < *height )
{
hasAlpha = true;
}
diff --git a/src/modules/qt/transition_qtblend.cpp
b/src/modules/qt/transition_qtblend.cpp
index 07d40619..7da7a5d9 100644
--- a/src/modules/qt/transition_qtblend.cpp
+++ b/src/modules/qt/transition_qtblend.cpp
@@ -88,8 +88,8 @@ static int get_image( mlt_frame a_frame, uint8_t **image,
mlt_image_format *form
}
transform.translate(rect.x, rect.y);
opacity = rect.o;
-   b_width = qMin((int)rect.w, b_width);
-   b_height = qMin((int)rect.h, b_height);
+  b_width = qMin(qRound(rect.w), b_width);
+  b_height = qMin(qRound(rect.h), b_height);
}
else
{
@@ -248,7 +248,8 @@ static int get_image( mlt_frame a_frame, uint8_t **image,
mlt_image_format *form
bool hqPainting = false;
if ( interps )
{
-   if ( strcmp( interps, "bilinear" ) == 0 || strcmp( interps,
"bicubic" ) == 0 )
+// if ( strcmp( interps, "bilinear" ) == 0 || strcmp( interps,
"bicubic" ) == 0 )
{
hqPainting = true;
}


The main things I'm uncertain of in this one is whether *anything* else in
filter_qtblend needs the adjusted value of b_width/b_height (and I've
reintroduced the original bug this was fixing) - but it seems adjusting it
there just causes the inaccuracy and jitter we're seeing.

And I tested nearest interpolation with the hqPainting change and it too is
much smoother - so I think I'd recommend just always enabling hgPainting unless
someone has benchmarks that show it really is expensive to want "worse than
nearest neighbor results" for (maybe?) gaining a little speed.

I'll come back to this again in a bit and look at the next commits up the chain
- but figured I'd share what I know now to see if there's any useful review on
this by the time I'm back to it again (and so we're not duplicating effort
analysing it :)

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-08 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #21 from Ron  ---
Ok, I need to get some sleep, and my source tree is a mess of debug tracing
patches right now - but I believe (after quite some number of wild goose chases
:) that I've pinned down the problem with rescale=hyper in mlt-c2339fc1, and
this little kludge appears to fix it:

diff --git a/src/modules/qt/transition_qtblend.cpp
b/src/modules/qt/transition_qtblend.cpp
index 7817f6e6..8d5900e7 100644
--- a/src/modules/qt/transition_qtblend.cpp
+++ b/src/modules/qt/transition_qtblend.cpp
@@ -222,7 +222,7 @@ static int get_image( mlt_frame a_frame, uint8_t **image,
mlt_image_format *form
bool hqPainting = false;
if ( interps )
{
-   if ( strcmp( interps, "bilinear" ) == 0 || strcmp( interps,
"bicubic" ) == 0 )
+   //if ( strcmp( interps, "bilinear" ) == 0 || strcmp( interps,
"bicubic" ) == 0 )
{
hqPainting = true;
}

It wasn't using hqPainting when interps=hyper ...

With that patch the 22.08.1 version of mlt now seems to "always" do the right
thing with rendering
scripts from all kdenlive versions.

I'll tidy all this up, and look more into the behavior of mlt head soon, but it
does seem to have this same bug.

Is there any interpolation that it really is worth not using hqPainting for? 
Should disabling this only be
conditional on the interps == nearest case (so this bug doesn't come back if
newer better interpolation
schemes are added later) or should it just always use 'hq' in every case now?

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-08 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #20 from Ron  ---
(In reply to Jean-Baptiste Mardelle from comment #19)
> The "rescale=hyper" option comes from the Kdenlive Render widget.

Ah, thanks - I see now that's not directly an ffmpeg option, it's handled
directly by mlt, though in my build it appears to be using the swscale filter
not the gdk one.

I'm still tracing through the code to make sense of why rescale="hyper" has an
adverse effect even when not rescaling, but interestingly if I run mlt-c2339fc1
(the 'good' one) with each of the rescaler types (but rescaling disabled in the
render dialog) then what I see is:

 - bilinear and bicubic give the same smooth result that not setting rescale=
gives.
 - nearest has a fairly regular stairstep jitter, and hyper has a slightly more
irregular jitter.

But I haven't yet figured out what code path is different between those if no
actual rescaling is being done.  (though I'm seeing hints of the rescaler code
being entered as part of qtblend ...  which maybe explains why the rescale
option is always set, not just when "rescaling"?)

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-07 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

Jean-Baptiste Mardelle  changed:

   What|Removed |Added

 Resolution|WAITINGFORINFO  |---
 Status|NEEDSINFO   |CONFIRMED

--- Comment #19 from Jean-Baptiste Mardelle  ---
Thanks a lot for the progress on this issue. The problem is quite visible with
your test project and I can confirm that reverting the filter_qtblend.cpp and
transition_qtblend.cpp to the versions before my 2 commit give a smooth result
compared to the current version.

I will try to understand what happens. The "rescale=hyper" option comes from
the Kdenlive Render widget. In this dialog, on the top right corner, you can
decide which scaler will be used on render in the "Interpolation" combobox.
"hyper" is set when "Lanczos" is selected.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-06 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #18 from Ron  ---
Ok, I had a chance to poke around with this some more - I figured bisecting mlt
to find the exact change that introduced this problem shouldn't be too hard -
but as usual I learned more than I bargained for :)

The initial results didn't make a lot of sense at first, so I've attached
another test project which is the same as the first one, implementing the test
Roxane described, but as a 1080p native project instead of rescaling from 4k to
eliminate any effect ffmpeg rescaling might have ...  And interestingly, it
appears there are two problems with the newest versions.

Re-running the set of tests from scratch with this new project, the first
curious thing I saw was that if I created rendering scripts with 22.08.1,
22.08.2, 24.12.0 and the 25.03.70 snapshot posted here for testing, then
rendered them with melt from the 22.08.1 appimage, the result was, somewhat
confusingly:

 - Both 22.08 scripts rendered 'perfectly', with the absolute minimum of jitter
seen in any test.
 - The 24.12 and 25.03 scripts both rendered a jittering result, even with
22.08.1 melt.

The difference in the later scripts which is causing the appearance of jitter
appears to be 'rescale="hyper"' in the  options, even when there is
no 'scale' option (and rescaling was disabled in the render dialog).

If I remove that option, then the render script generated by both later
versions renders perfectly with the 22.08.1 version of melt.

So from that baseline, I could go back to more sanely bisecting mlt, and the
result there confirmed what I originally suspected:

The last commit to run this test with "no jitter" is this one:

https://github.com/mltframework/mlt/commit/c2339fc146898197b11e13c44692d901ae436245

The next commit after that introduces some jitter:
https://github.com/mltframework/mlt/commit/0c22797bbcb209f9667d72d4038866f28a624115

And the one after that makes it a bit worse:
https://github.com/mltframework/mlt/commit/d047879e00f03b42587e68652dfe069c45c157aa

The mlt version included with 25.03.70 still has a significant jitter compared
to the 22.08.1 / mlt-c2339fc1 baseline.

I'm still not exactly sure what problem those commits above were fixing, so I'm
not terribly confident to propose another patch for mlt offhand that wouldn't
re-introduce it - but I'm set up to test this now, so I can pull changes from
mlt git or apply patches manually to test against this set of rendering
scripts.

I'm not quite sure what to suggest for the rescale="hyper" problem ...  one
obvious workaround at the kdenlive level would be to not include that option if
there is no rescaling being done, but if that rescaler is introducing jitter,
that might be a bug the ffmpeg folks would want to know about too ...  or there
may be a better option for render time rescaling that kdenlive/mlt could use?

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2025-01-06 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #17 from Ron  ---
Created attachment 177145
  --> https://bugs.kde.org/attachment.cgi?id=177145&action=edit
1080p native test project

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-27 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #16 from Ron  ---
(In reply to Jean-Baptiste Mardelle from comment #14)
> Could you test our latest nightly builds that contain my MLT fixed to confirm 
> if the issue is better ?

Sorry, sadly this doesn't seem to make a notable improvement :(

I've attached a project file that implements the test from the earlier bug
report which shows this more clearly.
The project file is for 22.08.1, but will upgrade cleanly (with an automated
fixup) to also work with 24.12.0 and
the nightly build you linked to (the reverse isn't true, 22.08 will not open
the upgraded project files).

I've tested it with all three of those appimages, and it is much noticeably
smoother with 22.08.1, and about the
same with 24.12 and the nightly.  It's a 4k project, but as I noted before the
effect is much easier to see when it
is rendered scaled to 1080p.  I rendered both 4k and 1080p copies for all those
versions to compare.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-27 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #15 from Ron  ---
Created attachment 176910
  --> https://bugs.kde.org/attachment.cgi?id=176910&action=edit
project implementing the test described in bug 476625

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-27 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #14 from Jean-Baptiste Mardelle  ---
Could you test our latest nightly builds that contain my MLT fixed to confirm
if the issue is better ? Linux / Windows build are available from here:
https://cdn.kde.org/ci-builds/multimedia/kdenlive/master/

Thanks a lot for your feedback

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-27 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #13 from Jean-Baptiste Mardelle  ---
Git commit 37abefbe8401972fc2a1c55c71f67fc5ee25d33c by Jean-Baptiste Mardelle.
Committed on 27/12/2024 at 09:57.
Pushed by mardelle into branch 'master'.

Update mlt with latest fixes
Related: bug 476625

M  +3-4libs/mlt/mlt.py

https://invent.kde.org/packaging/craft-blueprints-kde/-/commit/37abefbe8401972fc2a1c55c71f67fc5ee25d33c

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-26 Thread Ron
https://bugs.kde.org/show_bug.cgi?id=497435

Ron  changed:

   What|Removed |Added

 CC||kdenlive-b...@contact.dot-o
   ||z.net

--- Comment #12 from Ron  ---
(In reply to Jean-Baptiste Mardelle from comment #4)
> This bug is not so obvious. Trying with your instructions and a random
> photo, it was not so noticeable. If you have a project file with an image
> that makes it easy to spot the bug it would help looking for the bug.

The examples that were provided in this earlier report of the problem show it
much more clearly:
https://bugs.kde.org/show_bug.cgi?id=476625

(see the files in the drive linked at the bottom)

zooming in on a pair of plain coloured rectangles giving a thin border where
they overlap makes it much more obvious than zooming in on a detailed image.  I
also found it was much more obvious when rendered at a lower resolution - eg.
for the same test project it was quite clear when rendered at 1080p, but fairly
subtle (though still noticeable compared to the earlier mlt) at 4k.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-26 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #11 from earmuff.victor...@icloud.com ---
(In reply to Jean-Baptiste Mardelle from comment #10)

> It seems to me that the result is better, but could you confirm ? 

Yes, modified is definitely better than the original MLT (presumably current).

> Is the second render better ?

Yes.

> Do you think it was even better with 22.08.1 ?

So my clip was 5s and yours is 3s and we had slightly different crops, so I
re-cropped and changed duration to 3s (uploaded to the shared drive).  I then
opened the modified and the 22.08.1 version with VLC and watched them alternate
in loop mode.  Watching the left edge of the video where the beige door frame
slides out of frame, my perception is the 22.08.1 version is a tiny bit bit
smoother, but the difference seems imperceptible when not looking for the
difference.  But take a look at the re-cropped 3s render I uploaded and see
what you think.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-26 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

Jean-Baptiste Mardelle  changed:

   What|Removed |Added

 Status|CONFIRMED   |NEEDSINFO
 Resolution|--- |WAITINGFORINFO

--- Comment #10 from Jean-Baptiste Mardelle  ---
Thanks a lot for uploading your project and files. I tried a modification to
MLT's qtblend rounding code. I attached the project file rendered with the
original MLT (what is currently in the AppImage, and another one with my
change.

It seems to me that the result is better, but could you confirm ? 
Is the second render better ?
Do you think it was even better with 22.08.1 ?

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-26 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #9 from Jean-Baptiste Mardelle  ---
Created attachment 176886
  --> https://bugs.kde.org/attachment.cgi?id=176886&action=edit
Rendered with a rounding change

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-26 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #8 from Jean-Baptiste Mardelle  ---
Created attachment 176885
  --> https://bugs.kde.org/attachment.cgi?id=176885&action=edit
Rendered with the original MLT

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-25 Thread emohr
https://bugs.kde.org/show_bug.cgi?id=497435

emohr  changed:

   What|Removed |Added

 CC||fritzib...@gmx.net
   Keywords||triaged
 Ever confirmed|0   |1
 Status|REPORTED|CONFIRMED

--- Comment #7 from emohr  ---
Please try with the Kdenlive AppImage version 24.12.0 as well. This to exclude
any packaging issues https://kdenlive.org/en/download/

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #6 from earmuff.victor...@icloud.com ---
kdenlive 22.08.1 and 22.08.2 are AppImage and 24.12.0 is flathub.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #5 from earmuff.victor...@icloud.com ---
I have modified the original 4:3  image to exclude people, but the effect is
the same.  For the cropped image I used a start zoom of 148% and an end zoom of
151%.  I've provided kdenlive files for 22.08.1, 22.08.2, and 24.12.0.

https://drive.proton.me/urls/8RFZYFBFZM#zRWYR5b1IFI5

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-23 Thread Jean-Baptiste Mardelle
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #4 from Jean-Baptiste Mardelle  ---
This bug is not so obvious. Trying with your instructions and a random photo,
it was not so noticeable. If you have a project file with an image that makes
it easy to spot the bug it would help looking for the bug.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-21 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=497435

--- Comment #3 from earmuff.victor...@icloud.com ---
More details in this thread:

https://discuss.kde.org/t/transform-on-zoomed-portait-4-3-image-results-in-jumpy-jittery-unsmooth-motion/26299

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdenlive] [Bug 497435] Shakiness in Transform

2024-12-21 Thread Bernd
https://bugs.kde.org/show_bug.cgi?id=497435

Bernd  changed:

   What|Removed |Added

 CC||bern...@yahoo.com
Summary|Skakiness in Transform  |Shakiness in Transform

-- 
You are receiving this mail because:
You are watching all bug changes.