[FFmpeg-devel] [RFC] Lavfi test system

Stefano Sabatini stefano.sabatini-lala
Sun Mar 7 11:18:33 CET 2010


On date Thursday 2010-01-07 23:36:02 +0100, Stefano Sabatini encoded:
> On date Monday 2009-12-28 00:58:55 +0100, Stefano Sabatini encoded:
> > On date Sunday 2009-12-13 03:33:18 +0100, Michael Niedermayer encoded:
> > > On Sun, Dec 13, 2009 at 01:52:41AM +0100, Stefano Sabatini wrote:
> > [...]
> > > > > and then each filter should be individually tested against all
> > > > > colorspaces.
> > > > 
> > > > Not every pixel format will be in general supported, so we may
> > > > manually add a list of supported formats. Even better would be to add
> > > > some interface to expose the set of supported inputs (though not sure
> > > > this is possible, especially considering the scale filter).
> > > 
> > > you are searching for query_formats() ?
> > 
> > Well at least now I have a tool for exposing that info.
> > 
> > BTW:
> > make show-filter-formats; and show-filter-formats scale 100:100
> > make: `show-filter-formats' is up to date.
> [...]  
> > I believe all the HW accelerated formats should be avoided, right?
> > 
> > Also how to feed a filter with video formats for which we cannot write
> > in output (I mean pal formats)? I'm asking since for today I run out
> > of ideas and asking is soo easy...
> 
> First implementation of the test system, with ad-hoc per-feature tests
> and one test for each filter/input pixel format combination, useful
> for testing one-input / one-output filters.

New attempt to get this stuff committed readjusted to the new modular
test system.

The lavfi test system implementated here has still many limitations,
which I'll enumerate later, but it should be a nice start and it will
already enable some stuff useful for getting lavfi integration move
on.

Patches implement a first series of ad-hoc per-filters tests,
slicification is implicitely tested randomizing the size of the input
slices.

For the slices size randomization I considered to use LCG, but then I
saw that a trivial date '+%N' % MOD seemed to work quite fine and is
less overkill.

Current limitations:

* with the new modular system is possible to compute the dependancy of
  the tested component, and only try a test if the corresponding
  component has been compiled in.

  In the case of filters things are trickier, as a single test
  requires the interaction of different components (e.g.: at least the
  slicify, scale filter and more).

  Since I bypassed this mechanism, "make lavfitest" will work only if
  *all* the components have been compiled in.

  Also note that the "make lavfitest" only works when libavfilter
  compilation has been enabled.

* the used container format (AVI) is not ideal when we have
  timestamps, I plan to use NUT for this, if required I'll try to do
  this *before* to commit the first part.

  Also as noted in the thread both AVI and NUT have problems with many
  raw pixel formats, so we need somehow to extend/fix how they deal
  with FourCCs.

Regards.
-- 
FFmpeg = Formidable Faithful Mastodontic Pure Exploitable Guide
-------------- next part --------------
A non-text attachment was scrubbed...
Name: add-adhoc-lavfi-tests.patch
Type: text/x-diff
Size: 6029 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100307/c51d6952/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: randomize-lavfi-test-slice-sizes.patch
Type: text/x-diff
Size: 566 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100307/c51d6952/attachment-0001.patch>



More information about the ffmpeg-devel mailing list