From 5bbe3c31236d0cbaa28f1fd34655dc6a1b5f6675 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Thu, 19 Dec 2013 12:33:44 +0000 Subject: correct copy constructor for Image - variable delay feedback --- rotord/src/rotor.h | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'rotord/src/rotor.h') diff --git a/rotord/src/rotor.h b/rotord/src/rotor.h index dc7d737..fe85b4d 100644 --- a/rotord/src/rotor.h +++ b/rotord/src/rotor.h @@ -416,7 +416,7 @@ namespace Rotor { }; void reset(){ time_taken=0.0; - int(); + init(); } void time_frame(){ struct timeval end_time; @@ -1153,24 +1153,30 @@ namespace Rotor { }; Image *output(const Frame_spec &frame){ if (feedbackptr->RGBdata){ + //feedback.push_back((*(*feedbackptr).clone())); feedback.push_back(*feedbackptr); - feedbacknums.push_back(frame.frame()); - cerr<<"video feedback: added, "<::iterator it1=feedback.begin(); list::iterator iit1=feedbacknums.begin(); - if (feedback.size()>((int)parameters["delay"]->value)){ - if (feedback.size()>((int)parameters["delay"]->value+1)){ + if (feedback.size()>((int)parameters["delay"]->value)-1){ + if (feedback.size()>((int)parameters["delay"]->value)){ list::iterator it2=feedback.begin(); list::iterator iit2=feedbacknums.begin(); - advance(it2,feedback.size()-(((int)parameters["delay"]->value)+1)); - advance(iit2,feedback.size()-(((int)parameters["delay"]->value)+1)); + advance(it2,feedback.size()-(((int)parameters["delay"]->value))); + advance(iit2,feedback.size()-(((int)parameters["delay"]->value))); feedback.erase(it1,it2); feedbacknums.erase(iit1,iit2); - cerr<<"video feedback: removed, "<