Definition at line 531 of file mainRepository.cpp. References Impala::Core::VideoSet::FrameHashes::Diff(), GetDataSetLocator(), Impala::CmdOptions::GetInstance(), GetVideoSet(), ILOG_ERROR, and ILOG_VAR. Referenced by mainRepository(). 00532 { 00533 ILOG_VAR(Impala.Application.Repository.DoDiffFrameHashes); 00534 CmdOptions& options = CmdOptions::GetInstance(); 00535 00536 Locator vs1Loc = GetDataSetLocator(options, true); 00537 Locator vs2Loc = GetDataSetLocator(options, false); 00538 VideoSet* vidSet1 = GetVideoSet(options, true, true); 00539 if (vidSet1 == 0) 00540 return; 00541 VideoSet* vidSet2 = GetVideoSet(options, true, false); 00542 if (vidSet2 == 0) 00543 { 00544 delete vidSet1; 00545 return; 00546 } 00547 int nrOfVideos1 = vidSet1->NrFiles(); 00548 int nrOfVideos2 = vidSet2->NrFiles(); 00549 if (nrOfVideos1 != nrOfVideos2) 00550 { 00551 ILOG_ERROR("Different file counts: " << nrOfVideos1 << 00552 " vs. " << nrOfVideos2); 00553 delete vidSet1; 00554 delete vidSet2; 00555 return; 00556 } 00557 for (int i = 0; i < nrOfVideos1; i++) 00558 { 00559 FrameHashesLocator fh1Loc(vs1Loc, vidSet1->GetContainer(i)); 00560 Core::VideoSet::FrameHashes* hashTable1 = 00561 FrameHashesRepository().Get(fh1Loc); 00562 FrameHashesLocator fh2Loc(vs2Loc, vidSet2->GetContainer(i)); 00563 Core::VideoSet::FrameHashes* hashTable2 = 00564 FrameHashesRepository().Get(fh2Loc); 00565 if (hashTable1 != 0 && hashTable2 != 0) 00566 if (hashTable1->Diff(hashTable2) != 0) 00567 ILOG_ERROR("Found difference for: " << vidSet1->GetContainer(i)); 00568 if (hashTable1 != 0) 00569 delete hashTable1; 00570 if (hashTable2 != 0) 00571 delete hashTable2; 00572 } 00573 delete vidSet2; 00574 delete vidSet1; 00575 }
Here is the call graph for this function: ![]()
|