From c082fa118f7a9e5e7f5797e55bf9cfde34a783b3 Mon Sep 17 00:00:00 2001 From: veejay <> Date: Sat, 2 Dec 2023 00:05:58 +0100 Subject: [PATCH] supersample frame B if current chain entry contains a supersampled frame A --- veejay-current/veejay-server/veejay/vj-perform.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/veejay-current/veejay-server/veejay/vj-perform.c b/veejay-current/veejay-server/veejay/vj-perform.c index dfea9dbf..bb550d7e 100644 --- a/veejay-current/veejay-server/veejay/vj-perform.c +++ b/veejay-current/veejay-server/veejay/vj-perform.c @@ -283,6 +283,11 @@ static void vj_perform_supersample(video_playback_setup *settings,performer_t *p p->frame_buffer[ chain_entry ]->ssm = 0; } } + else if( p->frame_buffer[ chain_entry ]->ssm == 1 && two->ssm == 0 ) { + chroma_supersample( settings->sample_mode, two, two->data ); + vj_perform_set_444(two); + p->frame_buffer[ chain_entry ]->ssm = 1; + } } @@ -2147,7 +2152,7 @@ static void vj_perform_tag_render_chain_entry(veejay_t *info,performer_t *p,vjp_ frames[1]->ssm = vj_perform_preprocess_secundary( info,p, fx_entry->channel,fx_entry->source_type,sub_mode,chain_entry, frames, frameinfo ); } - vj_perform_supersample(settings,p, NULL, frames[1], sub_mode, chain_entry); + vj_perform_supersample(settings,p, NULL, frames[1], sub_mode, chain_entry); } if( p->pvar_.fade_entry == chain_entry && p->pvar_.fade_method == 1) { @@ -2226,7 +2231,7 @@ static int vj_perform_preprocess_secundary( veejay_t *info,performer_t *p, int if( ef ) { subframes[1]->ssm = vj_perform_apply_secundary(info,p,id,fx_entry->channel,fx_entry->source_type,n,subframes[0],subframes[1],p0_ref, p1_ref, 1); } - + vj_perform_supersample( settings,p, subframes[0], subframes[1], sm, chain_entry ); vj_perform_apply_first(info,p,&setup,subframes,fx_entry,fx_id,n,(int) settings->current_frame_num,fx_entry->fx_instance, mode );