== FFMPEG ==
Added serious interlacing to movies opened using ffmpeg. (Other video decoders to be done) Rational: deinterlacing, if done seriously _has_ to be done in YUV-space. Since internal interface first converts data to RGB we are pretty much lost (and fall back to IMB_filtery in that case).
This commit is contained in:
@@ -445,7 +445,10 @@ void reload_sequence_new_file(Sequence * seq)
|
||||
seq->strip->len = seq->len;
|
||||
} else if (seq->type == SEQ_MOVIE) {
|
||||
if(seq->anim) IMB_free_anim(seq->anim);
|
||||
seq->anim = openanim(str, IB_rect);
|
||||
seq->anim = openanim(
|
||||
str, IB_rect |
|
||||
((seq->flag & SEQ_FILTERY)
|
||||
? IB_animdeinterlace : 0));
|
||||
|
||||
if (!seq->anim) {
|
||||
return;
|
||||
@@ -1445,7 +1448,7 @@ static void input_preprocess(Sequence * seq, TStripElem* se, int cfra)
|
||||
seq->strip->orx= se->ibuf->x;
|
||||
seq->strip->ory= se->ibuf->y;
|
||||
|
||||
if(seq->flag & SEQ_FILTERY) {
|
||||
if((seq->flag & SEQ_FILTERY) && seq->type != SEQ_MOVIE) {
|
||||
IMB_filtery(se->ibuf);
|
||||
}
|
||||
|
||||
@@ -1772,8 +1775,11 @@ static void do_build_seq_ibuf(Sequence * seq, TStripElem *se, int cfra,
|
||||
BLI_join_dirfile(name, seq->strip->dir, seq->strip->stripdata->name);
|
||||
BLI_convertstringcode(name, G.sce);
|
||||
BLI_convertstringframe(name, G.scene->r.cfra);
|
||||
|
||||
seq->anim = openanim(name, IB_rect);
|
||||
|
||||
seq->anim = openanim(
|
||||
name, IB_rect |
|
||||
((seq->flag & SEQ_FILTERY)
|
||||
? IB_animdeinterlace : 0));
|
||||
}
|
||||
if(seq->anim) {
|
||||
IMB_anim_set_preseek(seq->anim, seq->anim_preseek);
|
||||
|
||||
Reference in New Issue
Block a user