summaryrefslogtreecommitdiff
path: root/rotord/src/rotor.h
diff options
context:
space:
mode:
Diffstat (limited to 'rotord/src/rotor.h')
-rw-r--r--rotord/src/rotor.h24
1 files changed, 15 insertions, 9 deletions
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, "<<feedback.size()<<" images in cache"<<endl;
+ feedbacknums.push_back(frame.lastframe().frame());
+ //cerr<<"video feedback: added, "<<feedback.size()<<" images in cache"<<endl;
list<Image>::iterator it1=feedback.begin();
list<int>::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<Image>::iterator it2=feedback.begin();
list<int>::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, "<<feedback.size()<<" images remain in cache"<<endl;
+ //cerr<<"video feedback: removed, "<<feedback.size()<<" images remain in cache"<<endl;
it1=feedback.begin();
iit1=feedbacknums.begin();
}
- cerr<<"frame "<<(frame.frame())<<", feedback "<<(*iit1)<<endl;
+ /*
+ string l="[";
+ for (auto f:feedbacknums) l=l+toString(f)+",";
+ l+="]";
+ cerr<<"frame "<<(frame.frame())<<", feedback "<<(*iit1)<<" of "<<l<<endl;
+ */
return &(*it1);
}
}