Home || Visual Search || Applications || Architecture || 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 225 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().

00227     {
00228         Table::AnnotationTable* frameExtra = mAnnoExtra->GetTable(concept);
00229         int shot = mKeyframes->GetShotId(key);
00230         int begin = Max(mSegmentation->GetStart(shot), mp7->StartFrame(idx));
00231         int end = Max(mSegmentation->GetEnd(shot), mp7->EndFrame(idx));
00232         int step = (end - begin) / (mNrExtra + 2);  // skip begin and end parts
00233         int frame = begin + step;
00234         while (frame <= end - step)
00235         {
00236             Quid q = MakeQuidFrame(vs->GetSetId(), fileId, frame);
00237             if (!frameExtra->IsAnnotated(q))
00238             {
00239                 frameExtra->AddPositive(q);
00240                 if (!mQuidExtra->Contains(q))
00241                     mQuidExtra->Add(q);
00242             }
00243             frame += step;
00244         }
00245     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:21:54 2011 for ImpalaSrc by  doxygen 1.5.1