Thank you for your interest in contributing to Q1View.
Open a GitHub Issue and include:
- Q1View version and whether you used the installer or portable package.
- Steps to reproduce, including source file type and resolution where relevant.
- Expected vs. actual behavior.
- If the issue involves pixel values, raw format tokens, or metrics, include the exact file name or format string used.
Open an issue describing the use case. Explaining why the current behavior is limiting is more useful than describing a specific implementation.
- Fork the repository and create a branch from
master. - Build and verify both applications before opening the PR (see Build).
- Run the core regression tests and confirm they pass (see Tests).
- If you changed UI behavior, update the relevant section of
docs/USER_GUIDE.md. Replace screenshots under
docs/images/with current captures when the UI changes. - Open the PR against
masterwith a clear description of what changed and why.
Requirements: Windows x64, Visual Studio 2019 or newer with the C++ desktop workload, and PowerShell.
msbuild Viewer\Viewer.sln /m /restore /p:Configuration=Release /p:Platform=x64
msbuild Comparer\Comparer.sln /m /restore /p:Configuration=Release /p:Platform=x64See docs/DEVELOPMENT.md for full dependency and packaging details.
The core regression suite covers raw format parsing, pixel value sampling, and PSNR/SSIM calculations. Run it before submitting:
On macOS or Linux:
./Tests/run_core_regression_tests.shFrom a Visual Studio Developer PowerShell on Windows:
msbuild Tests\CoreRegressionTests.vcxproj /m /p:Configuration=Release /p:Platform=x64
.\Tests\bin\x64\Release\CoreRegressionTests.exeNew raw format support or metric changes should include corresponding test fixtures and expected values.
Use a short active-voice summary line (under 72 characters). Reference an issue number in the PR description rather than in every commit message.
Support odd-width YUV raw frames
Fix Comparer launch file handling
Reduce Sync Input pan latency
By submitting a pull request you agree that your contribution will be licensed under the MIT License that covers this project.