Page MenuHome

VSE movie strip previews
Needs ReviewPublic

Authored by Guillaume M (mathers) on Thu, Feb 28, 2:23 PM.
Tokens
"Love" token, awarded by bachadam."Love" token, awarded by Funkster."Love" token, awarded by mon."Love" token, awarded by Okavango."Love" token, awarded by pablovazquez.

Details

Summary

Adds previews to movie strips in the VSE. This is a draft revision so people can test it and comment on the code.

More changes are required, some memory is leaked and options should be added in the UI to enable/disable/document this feature.

How to use : add a movie strip, and generate a 25% proxy. The previews should appear when the proxy is fully generated.

Original proposan

Based on revision 9d34a9d

Diff Detail

Repository
rB Blender

Event Timeline

This is by far the most important criteria i had when i was choosing the NLE editor for linux. I thought this would never get a mention in Blender and i didn't even bother to make a suggestion, you proved me wrong. Tremendous upgrade!

Tried to push the same thing to kdenlive guys, but they don't seem to grasp the importance of this...

source/blender/editors/space_sequencer/sequencer_draw.c
209

Nope AFAIK.
See T54395

I wrote some quick and dirty get_rect in source/blender/imbuf/intern/anim_movie.c but it can get more complex, the more you realize capabilities of codec.

But we should have this at least in basic version...

270

I guess, that's how mafia works...

you may want to look at D3597 for seq_proxy_fetch

Not sure if that will be helpful, but it worked for me (no leaks)

276

I see, what you did there...

In final version I would maybe suggest using seq_render_strip and approach like in D4219.
That is have bool use_fallback_render(default true) in SeqRenderData, set it to false meaning, that you don't want to render original image when proxy is not found.

source/blender/editors/space_sequencer/sequencer_draw.c
209

I may provide as well...

It was as simple as

void IMB_anim_get_rect(struct anim *anim, int *x, int *y)
{
	*x = anim->x;
	*y = anim->y;
}

Problem is, that anim struct is redefined in sequencer, so compiler can't access its members...
you can define it in anim_movie.c and it will work