struct foo commflaginfo[myTotalFrames] while (!nvp->GetEof()) { frame = nvp->GetRawVideoFrame(); ProcessFrame(frame, &commflaginfo[frameno]); /* Save whatever you need into commflaginfo[] */ nvp->DiscardVideoFrame(frame); } /* Now loop through commflaginfo[] to do processing */