Pan & Zoom of (large) still images


I'm currently experimenting with P&Z of large (Panorama) Images. One issue there is that small features (distant trees, pebbles etc.) produce an annoying flicker when moving the FOV. I found an old post that suggested some blur, and especially to apply it before the panning. I had tried (normal) blur after the pan, which also seems to work. I noticed that applying the blur before is darn slow... The thing is, I don't really understand where this comes from. In principle I should have one image, and from that I cut out different parts. But then there should be no flicker - the pixel values should always be the same for a feature. So obviously the image is rescaled anew for every single frame, and seemingly with different parameters

Nevertheless, some questions: How are you doing this (if at all)? Is there a common sense how to properly get rid of this flicker?

Is there somewhere a description how scaling is done at all? The P&Z controls seem to refer to an image size of 100% when the image is scaled so that is completely fits in the FOV of the movie. I assume that it is not first scaled to fit and then again magnified if one wants the large image.

To what image is the blur applied? E.g., I import an image of 4870x3130 px into a 720p project and apply a square blur filter with kernel 1, followed by a P&Z that pans vertically at 'maximum' width. This means it's a 1280x822 image (P&Z claims it's at 114.17% size), and I have 102px to pan. But on hat image does the kernel of blur work? On the full image? On a 100% image? Things can be quite confusing at times (and I'm afraid my posting suffers from the same deficiency...)
So any input is welcome!

Flicker usually comes from a bad scaling algorithm.

As a user you cant do anything other than ask programmers to improve.

The bad flicker you can see best if you want to scale and move text very slow.


I plan to do a kickstarter campaign where I invest a certain amoung of money into
a feature set which I pay a programmer upfront to implement.

This way the kickstarter investors know what they get for their money.
If the kickstarter campaign does not reach its goal, the code will be destroyed.

Once it is implemented, I start a kickstarter campaingn where people can
pay so that the feature which was implemented gets released to the public.

What I need for that is

a) a list of features which users want (and are also willing to pay once they are implemented)

b) a programmer who is willing to implement those features for money.

I look for a feature list which could be implemented for about 5000 USD.

I will fund this project only after the “Kdenlive refactoring” is completed and a) and b) are available


Simple scaling algorithms (like nearest neighbor) can produce aliasing.
Post-blurring will not completely remove this, as the aliases can fall on low frequencies.

If you use a fixed value of zoom, and just pan around, a good solution would be to scale your image externally (with Gimp), before importing it in Kdenlive, by such a factor, that the pixels will be used (close to) 1:1 in the final image.

If you vary your zoom ratio, then pre-blurring with a zoom dependent amount inside Kdenlive is the only solution. It is slow, because for each frame, the big input image has to be blurred.

Thanks, Marko!
I tried the external pre-scaling, and indeed results look (much) better that way. For zooming I still have to try. A zoom-dependent blur is (currently) not possible, or is it (I'm using a fairly recent git version)?

A directly zoom dependent blur is not possible, but you could use keyframed blur before zooming, and manually set the blur keyframes to match the zooming.