Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

void Impala::Core::VideoSet::IndexAnnotation::AddExtra ( VideoSet vs,
int  fileId,
int  concept,
Mpeg7Doc mp7,
int  key,
int  idx 
) [inline, private]

Definition at line 254 of file IndexAnnotation.h.

References Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Add(), Impala::Core::Table::AnnotationTable::AddPositive(), Impala::Core::Table::QuidTable::Contains(), Impala::Core::VideoSet::Mpeg7Doc::EndFrame(), Impala::Core::VideoSet::Segmentation::GetEnd(), Impala::Core::VideoSet::Keyframes::GetShotId(), Impala::Core::VideoSet::Segmentation::GetStart(), Impala::Core::Table::AnnotationTableSet::GetTable(), Impala::Core::Table::AnnotationTable::IsAnnotated(), Impala::MakeQuidFrame(), mAnnoExtra, Impala::Max(), mKeyframes, mNrExtra, mQuidExtra, mSegmentation, and Impala::Core::VideoSet::Mpeg7Doc::StartFrame().

Referenced by DoKeyframes().

00256     {
00257         Table::AnnotationTable* frameExtra = mAnnoExtra->GetTable(concept);
00258         int shot = mKeyframes->GetShotId(key);
00259         int begin = Max(mSegmentation->GetStart(shot), mp7->StartFrame(idx));
00260         int end = Max(mSegmentation->GetEnd(shot), mp7->EndFrame(idx));
00261         int step = (end - begin) / (mNrExtra + 2);  // skip begin and end parts
00262         int frame = begin + step;
00263         while (frame <= end - step)
00264         {
00265             Quid q = MakeQuidFrame(vs->GetSetId(), fileId, frame);
00266             if (!frameExtra->IsAnnotated(q))
00267             {
00268                 frameExtra->AddPositive(q);
00269                 if (!mQuidExtra->Contains(q))
00270                     mQuidExtra->Add(q);
00271             }
00272             frame += step;
00273         }
00274     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:29:31 2010 for ImpalaSrc by  doxygen 1.5.1