MCPcopy Create free account
hub / github.com/Tencent/libpag / CompareVideoComposition

Function CompareVideoComposition

exporter/src/export/ExportVerify.cpp:358–384  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

356}
357
358static bool CompareVideoComposition(std::shared_ptr<PAGExportSession> session,
359 pag::VideoComposition* composition1,
360 pag::VideoComposition* composition2) {
361 if (composition1->width != composition2->width || composition1->height != composition2->height) {
362 return false;
363 }
364
365 if (composition1->duration != composition2->duration ||
366 composition1->frameRate != composition2->frameRate) {
367 return false;
368 }
369
370 for (pag::Frame frame = 0; frame < composition1->duration && !session->stopExport; frame++) {
371 auto itemIter1 = session->itemHandleMap.find(composition1->id);
372 auto itemIter2 = session->itemHandleMap.find(composition2->id);
373 if (itemIter1 == session->itemHandleMap.end() || itemIter2 == session->itemHandleMap.end()) {
374 return false;
375 }
376 auto image1 = GetCompositionFrameImage(itemIter1->second, frame);
377 auto image2 = GetCompositionFrameImage(itemIter2->second, frame);
378 if (image1 != image2) {
379 return false;
380 }
381 }
382
383 return true;
384}
385
386static void CheckDuplicateVideoSequence(std::shared_ptr<PAGExportSession> session,
387 std::vector<pag::Composition*>& compositions) {

Callers 1

Calls 2

GetCompositionFrameImageFunction · 0.85
findMethod · 0.80

Tested by

no test coverage detected