[FFmpeg-devel] [RFC] Lavfi test system

Stefano Sabatini stefano.sabatini-lala
Thu Jan 7 23:36:02 CET 2010

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.

BTW the ff* tools are not able to decode some of the output files, for example:
stefano at geppetto ~/s/l/f/t/data> ffplay b-yuv411p-null.avi
FFplay version SVN-r21003, Copyright (c) 2003-2010 Fabrice Bellard, et al.
[avi @ 0x97f9690]MAX_READ_SIZE:5000000 reached
Input #0, avi, from 'b-yuv411p-null.avi':
  Duration: 00:00:02.00, start: 0.000000, bitrate: 30440 kb/s
    Stream #0.0: Video: Y41B / 0x42313459, 352x288, 25 fps, 25 tbr, 25 tbn, 25 tbc
b-yuv411p-null.avi: could not open codecs

which is somehow due to the fourCC problem I mentioned in another

What is still missing is a system for testing each filter/filter
combination, the only problem is that in this case is difficult to
find parameters which are good for every possible combination, and I
don't want to be required to specify them.

The best way to fix that problem seems to me to use parametric values,
scale=2/3*in_w:2/3*out_w, pad=3/2*in_w:3/2*out_w:1/4*in_w:(out_w-in_w)/2:(out_h-in_h)/2, crop=(in_w-out_w)/2:(in_h-out_h)/2in_w/2:out_h/2:

but not every filter supports them (currently no-one).


FFmpeg = Free & Friendly Moronic Puristic Enlightened Gem
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lavfi-test-system.patch
Type: text/x-diff
Size: 23448 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100107/3ee30398/attachment.patch>

More information about the ffmpeg-devel mailing list