Skip to content

Commit

Permalink
Merge branch 'release/1.0.7.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
tautcony committed Jan 21, 2023
2 parents c450846 + d8fa45b commit f82ba9c
Show file tree
Hide file tree
Showing 17 changed files with 385 additions and 140 deletions.
70 changes: 70 additions & 0 deletions .github/workflows/dotnet-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# For more information on GitHub Actions, refer to https://github.com/features/actions
# For a complete CI/CD sample to get started with GitHub Action workflows for Desktop Applications,
# refer to https://github.com/microsoft/github-actions-for-desktop-apps

name: .NET Desktop

on:
push:
pull_request:

jobs:
build:
strategy:
matrix:
configuration: [Release]
targetplatform: [x64]

runs-on: windows-2022 # For a list of available runner types, refer to
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on

env:
Solution_Name: RPChecker.sln # Replace with your solution name, i.e. MyWpfApp.sln.

steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true

# Install the .NET workload
- name: Install .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 5.0.x

# Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1

- uses: nuget/setup-nuget@v1
with:
nuget-version: '5.x'

- name: Restore Nuget packages
run: nuget restore $env:Solution_Name

# Restore the application to populate the obj folder with RuntimeIdentifiers
- name: Restore the application
run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration
env:
Configuration: ${{ matrix.configuration }}

# Build the Application project
- name: Build the Application Project
run: msbuild $env:Solution_Name /p:Platform=$env:TargetPlatform /p:Configuration=$env:Configuration /p:UapAppxPackageBuildMode=$env:BuildMode /p:AppxBundle=$env:AppxBundle
env:
AppxBundle: Never
BuildMode: SideloadOnly
Configuration: ${{ matrix.configuration }}
TargetPlatform: ${{ matrix.targetplatform }}

# Upload the package: https://github.com/actions/upload-artifact
- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: Package-${{ matrix.configuration }}
path: |
RPChecker\bin\${{ matrix.targetplatform }}\${{ matrix.configuration }}\
!RPChecker\bin\${{ matrix.targetplatform }}\${{ matrix.configuration }}\*.xml
!RPChecker\bin\${{ matrix.targetplatform }}\${{ matrix.configuration }}\*.pdb
27 changes: 15 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,36 @@
# RP Cheker [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Build status](https://ci.appveyor.com/api/projects/status/1uifyy3wsi8fblts?svg=true&passingText=%E7%BC%96%E8%AF%91%20-%20%E7%A8%B3%20&pendingText=%E5%B0%8F%E5%9C%9F%E8%B1%86%E7%82%B8%E4%BA%86%20&failingText=%E6%88%91%E6%84%9F%E8%A7%89%E5%8D%9C%E8%A1%8C%20)](https://ci.appveyor.com/project/tautcony/rp-checker)
<div align="center">

- A simple tool to check if a video file corrupted by calculate [PSNR](https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio)/[SSIM](https://en.wikipedia.org/wiki/Structural_similarity)/[GMSD](https://www4.comp.polyu.edu.hk/~cslzhang/IQA/GMSD/GMSD.htm) with another reference video file.
# RP Checker <br/> ![GitHub](https://img.shields.io/github/license/vcb-s/rp-checker) [![Build status](https://ci.appveyor.com/api/projects/status/1uifyy3wsi8fblts?svg=true&passingText=%E7%BC%96%E8%AF%91%20-%20%E7%A8%B3%20&pendingText=%E5%B0%8F%E5%9C%9F%E8%B1%86%E7%82%B8%E4%BA%86%20&failingText=%E6%88%91%E6%84%9F%E8%A7%89%E5%8D%9C%E8%A1%8C%20)](https://ci.appveyor.com/project/tautcony/rp-checker) ![GitHub all releases](https://img.shields.io/github/downloads/vcb-s/rp-checker/total)

A simple tool to check if a video file is corrupted by calculating [PSNR](https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio)/[SSIM](https://en.wikipedia.org/wiki/Structural_similarity)/[GMSD](https://www4.comp.polyu.edu.hk/~cslzhang/IQA/GMSD/GMSD.htm) with another reference video file.

## Directions
</div>

- You must have .NET Framework 4.8 available from Windows Update.

- FFmpeg is now the default processor provide both PSNR/SSIM metrics with faster speed, you can get ffmpeg from [here](https://ffmpeg.org/).
## Instructions

- VapourSynth script version provide PSNR/GMSD metrics, it has ability to handle defferent resolution video file and yeild more correct result, custom script template is also available in this version.
- You must have the .NET Framework 4.8 available from Windows Update.

- You can swith these options by click form icon at top-left corner, GMSD option is available in a combobox at right panel.
- VapourSynth script version provide PSNR/GMSD metrics, it has ability to handle different resolution video file and yeild more accurate result, custom script template(with `.vpy` extension) is also available in this version.

- You shall install [VapourSynth R29](https://github.com/vapoursynth/vapoursynth/releases) or higher and [python 3.6.0](https://www.python.org/downloads/) or higher to enable this processor.
- FFmpeg is an alternative processor providing both PSNR/SSIM metrics with faster speed, you can get ffmpeg from [here](https://ffmpeg.org/).

- PSNR(VS) requires [mvsfunc](https://github.com/HomeOfVapourSynthEvolution/mvsfunc/releases) installed.
- You can switch these options by clicking the form icon at the top left corner, GMSD option is available in a combo box at the right panel.

- GMSD(VS) requires [muvsfunc](https://github.com/WolframRhodium/muvsfunc), [mvsfunc](https://github.com/HomeOfVapourSynthEvolution/mvsfunc/releases), [havsfunc](https://github.com/HomeOfVapourSynthEvolution/havsfunc), [fmtconv](https://github.com/EleonoreMizo/fmtconv) installed.
- You need to install [VapourSynth R54](https://github.com/vapoursynth/vapoursynth/releases) or higher with the corresponding [python version](https://www.python.org/downloads/) to enable VapourSynth processor.

- PSNR(VS) requires [L-SMASH](https://github.com/AkarinVS/L-SMASH-Works) and [vs-ComparePlane](https://github.com/AmusementClub/vs-ComparePlane) to be installed.

- GMSD(VS) requires [L-SMASH](https://github.com/AkarinVS/L-SMASH-Works) and [muvsfunc](https://github.com/WolframRhodium/muvsfunc) and its corresponding dependency libraries: [mvsfunc](https://github.com/HomeOfVapourSynthEvolution/mvsfunc/releases), [havsfunc](https://github.com/HomeOfVapourSynthEvolution/havsfunc), [fmtconv](https://github.com/EleonoreMizo/fmtconv) to be installed.


## Thanks to

- vpy script from [nmm-hd](https://www.nmm-hd.org/newbbs/viewtopic.php?f=23&t=1813)
- [EFS](https://github.com/amefs) for improvement of adaptive resolution compare.
- [mvsfunc](https://github.com/HomeOfVapourSynthEvolution/mvsfunc)
- [New RPC template](https://github.com/AmusementClub/vapoursynth-script/blob/master/RpcTemplate.vpy)


## Source Code

- https://github.org/vcb-s/rp-checker
- [Github](https://github.org/vcb-s/rp-checker)
4 changes: 4 additions & 0 deletions RPChecker/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
49 changes: 37 additions & 12 deletions RPChecker/Forms/Form1.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit f82ba9c

Please sign in to comment.