How thenurii/qmiv works
QMIV is a command-line framework for comparing immersive-video sequences and reporting objective quality metrics. Its main workflow configures and validates paired inputs, reads frames, prepares and aligns comparison pictures, calculates selected metrics, aggregates frame statistics, and emits results. The README documents IV-PSNR, IV-SSIM, IV-MS-SSIM and general-purpose PSNR, WS-PSNR, SSIM and MS-SSIM. Source excerpts substantiate configuration, frame reading, shift-compensation preparation and SSIM internals; some metric wiring and output details are inferred only at subsystem level from the tree.
Main entry points: xAppQMIV.cpp QMIV application · xSeqLST.cpp Sequence readers · xSSIM.cpp SSIM metrics · xMetricQMIV.cpp Metric reporting
Components 19
Application workflow
- QMIV application
apps/QMIV/src/xAppQMIV.cpp - Metric reporting
apps/QMIV/src/xMetricQMIV.cpp
Sequence I/O
- Sequence readers
libs/pmbb-slst/src/xSeqLST.cpp - BMP support
libs/pmbb-slst/src/xBMP.cpp - PNG decoder
thirdparty/spng/src/spng.c
Picture preparation
- Picture operations
libs/pmbb-core/src/xPic.cpp - Color conversion
libs/pmbb-core/src/xColorSpace.cpp - Color difference
libs/pmbb-ivqm/src/xGlobClrDiff.cpp - Shift compensation
libs/pmbb-ivqm/src/xShftCompPic.cpp
Quality metrics
- IV-PSNR family
libs/pmbb-ivqm/src/xIVPSNR.cpp - IV-SSIM family
libs/pmbb-ivqm/src/xIVSSIM.cpp - PSNR metric
libs/pmbb-ivqm/src/xPSNR.cpp - SSIM metrics
libs/pmbb-ivqm/src/xSSIM.cpp - WS-PSNR metric
libs/pmbb-ivqm/src/xWSPSNR.cpp
Core processing
- Pixel primitives
libs/pmbb-core/src/xPixelOps.h - Task execution
libs/pmbb-core/src/xThreadPool.cpp
Other components
- CLI user
- Video frames
- Result output
Connections 18
- CLI user → QMIV application: configures run
- QMIV application → Sequence readers: opens inputs
- Sequence readers → BMP support: reads BMP
- Sequence readers → PNG decoder: decodes PNG
- Sequence readers → Video frames: loads frames
- QMIV application → Picture operations: prepares pictures
- QMIV application → Color conversion: converts color
- QMIV application → Color difference: computes differences
- QMIV application → Shift compensation: generates compensated pictures
- QMIV application → IV-PSNR family: calculates immersive PSNR
- QMIV application → IV-SSIM family: calculates immersive SSIM
- QMIV application → PSNR metric: calculates PSNR
- QMIV application → SSIM metrics: calculates SSIM
- QMIV application → WS-PSNR metric: calculates WS-PSNR
- SSIM metrics → Pixel primitives: uses pixel operations
- QMIV application → Task execution: dispatches frame tasks
- QMIV application → Metric reporting: aggregates statistics
- QMIV application → Result output: writes results