[FFmpeg-devel] [RFC] lavfi-audio: a plan for tests

Stefano Sabatini stefano.sabatini-lala at poste.it
Tue Jun 7 12:37:05 CEST 2011


Hi,

you can find here the lavfi-audio branch by Mina:
https://gitorious.org/~mnzaki/ffmpeg-mirror/mnzakis-ffmpeg/commits/audio-filters-20110602

I suppose we may add an acopy filter to it (which should be trivial
once we have a corresponding av_samples_copy function).

We may start to implement the corresponding of the
do_lavfi_pixfmts "copy"    ""
do_lavfi_pixfmts "null"    ""

video tests with the acopy and anull filters.

In order to do this we need to iterate through all the formats and
modes (planar/packed) supported by the filters.

In order to do so we need to extend tools/lavfi-showfiltfmts.
Currently for each input/output pad it prints:
OUTPUT[pad_num] pad_name: format
INPUT[pad_num] pad_name: format

(this works also for audio formats, but prints the video pixel format
name).
We need to extend this to expose the supported channel layouts and
modes.

Proposals:
1)
  OUTPUT[pad_num] pad_name: format mode ch_layout
  INPUT[pad_num] pad_name: format mode ch_layout

  this has the problem that will generate F*M*C lines of output, and
  needs to be parsed.

2)
  OUTPUT[pad_num] pad_name: format:$format
  ...
  OUTPUT[pad_num] pad_name: mode:$mode
  ...
  OUTPUT[pad_num] pad_name: ch_layout:$ch_layout

  which generates only F+M+C lines of output, and is somehow simpler
  to parse.

  (mutatis mutandis for INPUT).

This way in order to get the supported OUTPUT formats we'll have to
do:

$showfiltfmts $filters | awk '/^OUTPUT/{ print $3 }' | grep format: | sed -e 's/[^:]\+:\(.*\)/\1/' | sort

...

I'm not sure what's best to do with channel_layouts, since we may have
filters which support all of them, so it doesn't make much sense to
print them all.


More information about the ffmpeg-devel mailing list