Psnr Calculation Tool
Tools for various operations on raw YCbCr video files.http://en.wikipedia.org/wiki/YCbCr
I would like to compare a large number of videos to a good reference video in order to find videos with poor quality. I want to do this in a batch mode by calling a command line utility, I'm already using ffmpeg in this manner to grab video frames.
ycbcr.py - is the main class that supports the following formats:
- IYUV
- UYVY
- YV12
- NV12
- YVYU
- YUY2
- 422
Supported operations:
- basic info about a file
- convert between any of the formats above (including correct sub- re-sampling of chroma-data)
- split a file into individual frames
- creates a diff between two files
- PSNR calculations, one value per color-plane including weighted and average
- get luma-data per frame
- SSIM calculation on luma
- convert between 8bpp and 10bpp
- flip left/right, upside/down
- draw frame number in luma-data
- crop
- visualization of PSNR/SSIM using matplotlib
- reduce framerate by throwing away frames
Xp c2008 thermal receipt printer drivers for mac. Also includes a simple GUI using wxpython that wrapsthe psnr/ssim operations above.
Usage
Files
- ycbcr.py - main class
- plot_diff.py - matplotlib wrapper around PSNR/SSIM-calculation. Generate nice plots using luma-data.
- verify.py - unittest
- visual.py - matplotlib wrapper around PSNR/SSIM-calculation. Generate nice plots.
Screenshots
Here's one of the output from visual.py Jersey number font cricut.