[FFmpeg-devel] [RFC] signalstats filter for assessing digitization of analog video

Michael Niedermayer michaelni at gmx.at
Wed May 14 00:13:01 CEST 2014

On Tue, May 13, 2014 at 04:35:46PM -0400, Dave Rice wrote:
> Hi folks,
> I'm working on a project¹ to develop software to assess digitization work of analog video. For part of this project we're working on a filter tentatively called signalstats which generates various statistical metrics that would help identify common analog video digitization problems such as head clogs, overactive dropout compensators, tracking errors, chrominance noise, etc².
> Currently the filter outputs values representing the max, min, avg, 10% percentile and 95% percentile of the Y, U, and V planes plus the saturation levels. There are options to analyze frames to express quantification of tests that may indicate digitization issues; for example 'tout' (temporal outliers) quantifies the general level of dropouts or speckle as would happen when you digitize a vhs tape with crinkles on it or have a videodeck malfunction. An early draft of the documentation is here: https://github.com/bavc/FFmpeg/commit/b9ec3309e074bddc6d8b3c5a092d6daa7756c051 and the latest draft of the filter is in github³.

> I'd appreciate comments on the filter. Also although the intent of the filter is very specific, geared to archival preservation work of analog video, we'd like to keep the filter relevant enough for consideration for libavfilter.

i see no reason why a filter targetet for analyzing digitized video
would not be relevant for avfilter. There sure are many people
who still have some analog stuff and interrest in digitizing it ...

> btw another part of the project involves creating a gui that utilizes the data output of the filter. The latest version of that work, tentatively called QCTools, is here:
> https://mediaarea.net/temp/QCTools_0.4.0_Mac.dmg
> https://mediaarea.net/temp/QCTools_0.4.0_Windows.zip
> https://mediaarea.net/temp/QCTools_0.4.0_Source.zip
> Some digitized analog control test files are available here: https://archive.org/details/umatic_controlled_damage
> [1] Project website: http://www.bavc.org/qctools
> [2] Glossary of analog video digitization terminology: http://preservation.bavc.org/artifactatlas/index.php/Table_of_Contents
> [3] signalstats filter: https://github.com/bavc/FFmpeg/blob/master/libavfilter/vf_signalstats.c

"// there is probably a better and easier (and faster) sorting method"

not sure this is speed relevant but

if you just care about a single ith value of the ordered output then
a variant of quick sort can solve this in O(n) time

otherwise qsort() is a quick and easy way to get O(n*log(n))

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If you think the mosad wants you dead since a long time then you are either
wrong or dead since a long time.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140514/21decad2/attachment.asc>

More information about the ffmpeg-devel mailing list