RangeInfo - An Avisynth filter for pixel value range inspection
By Ross Thomas <email@example.com>
RangeInfo is a diagnostic filter for Avisynth. Its purpose is to allow fairly detailed inspection of pixel value ranges within a clip. That is to say, it will tell you various pieces of information such as the pixels with the lowest and highest values (for Y, U and V) in the frame and for the clip overall, amongst others.
It can also optionally highlight pixels within a certain range in a very attractive vivid green.
I wrote this filter to investigate the output from various sources to see if it conformed to the CCIR-601 specification that broadcast video be limited to using certain ranges of pixel values. It can also be useful for checking the range of a clip to help determine what levels adjustment might be necessary.
RangeInfo(clip clip, bool show, int ylow, int yhigh, int ulow, int uhigh, int vlow, int vhigh)
|clip||Specifies the clip to affect.||last|
|show||Determines if the various statistics are computed and displayed overlayed onto the clip. The statistics displayed are||True|
| ||- Filter version. || |
| ||- Current frame number.|| |
| ||- Minimum, maximum, mean and most common pixel value for each of the frame's Y, U and V.|| |
| ||- Minimum and maximum for each of the entire clip's Y, U and V, as well as the frame numbers in which these values were last seen.|| |
|ylow, yhigh||The low bound for Y highlighting. In other words, all pixels with a value between "ylow" and "yhigh" inclusive will be highlighted.||0, 0|
|ulow, uhigh||As ylow and yhigh for the U component.||0, 0|
|vlow, vhigh||As ulow and uhigh for the V component.||0, 0|
Displays the range statistics, but does not highlight:
Highlights all pixels in the Y component within the range 0 to 15 inclusive, but does not display statistics:
RangeInfo(show=false, ylow=0, yhigh=15)
Highlights all pixels in the U and V components within the range 241 to 255 inclusive, and displays overlayed statistics:
RangeInfo(ulow=241, uhigh=255, vlow=241, vhigh=255)
- MMX/SSE optimizations (I have to learn x86 assembler first...). Since this is a diagnostic filter this is pretty low priority.
- Check parameters for sanity.
- Check clip resolution to ensure statistics will fit.
- Possibly compute mean, most common, mean minimum and mean maximum values for the entire clip, but I'm not sure this would be useful.
- 0.1 - First release. Alpha code. Danger, Will Robinson!
Download here: SansGrip's Avisynth Filters [DOWNLOADS]