[FFmpeg-devel] lavfi state of affairs

Stefano Sabatini stefano.sabatini-lala
Wed Jan 21 20:50:48 CET 2009


On date Tuesday 2009-01-20 09:37:21 +0100, V?ctor Paesa encoded:
> Hi,
> 
> Stefano Sabatini said:
> > On date Monday 2009-01-19 21:04:13 -0800, Baptiste Coudurier encoded:
> >> Hi Stefano,
> >>
> >> Stefano Sabatini wrote:
> >> > Hi all,
> >> >
> >> > slow and funny filter for libavfilter, enjoy ;-).
> >> >
> >>
> >> I see you seems to spend some time filters, this is nice :>
> >> How is the situation, concerning full integration in svn ?
> >> How useable the filters are ? I mean the situation seems to work for
> >> you, and in many way it seems to be at least better than the current
> >> vhook implementation. What's left for the merge ?
> >
> > The main issues is to fix the regression tests for ffmpeg, YUV tests
> > seem to break regression, I still didn't investigate on it, mainly
> > because I'm lazy and write filters is so much fun ;-).

For the archive this is the result of make test:

diff -u -w "/home/stefano/src/libavfilter-soc/ffmpeg"/tests/ffmpeg.regression.ref   tests/data/vsynth.regression
--- /home/stefano/src/libavfilter-soc/ffmpeg/tests/ffmpeg.regression.ref	2008-12-24 17:36:00.000000000 +0100
+++ tests/data/vsynth.regression	2009-01-21 20:22:50.000000000 +0100
@@ -10,10 +10,10 @@
 787469 ./tests/data/a-mpeg2ivlc-qprd.mpg
 985170ca0ab1ec1edbb37c44d8cfde90 *./tests/data/mpeg2.vsynth.out.yuv
 stddev:   10.09 PSNR: 28.04 bytes:  7603200/  7603200
-06c7ec28f90541cb056a62046805a2c7 *./tests/data/a-mpeg2_422.mpg
-687928 ./tests/data/a-mpeg2_422.mpg
-3116eb7a4549c884be9378ccdf164fe2 *./tests/data/mpeg2.vsynth.out.yuv
-stddev:   63.29 PSNR: 12.09 bytes: 10137600/  7603200
+8b4fd1cb20343a30fd382d9404a524b2 *./tests/data/a-mpeg2_422.mpg
+688862 ./tests/data/a-mpeg2_422.mpg
+1563e75719a1002796aad7fed2a6d600 *./tests/data/mpeg2.vsynth.out.yuv
+stddev:   62.94 PSNR: 12.14 bytes: 10137600/  7603200
 2566ea5760247a9485c8281cb52291a8 *./tests/data/a-mpeg2.mpg
 735853 ./tests/data/a-mpeg2.mpg
 55c22a09e4924977ee2cc4180078d3ae *./tests/data/mpeg2.vsynth.out.yuv
@@ -66,10 +66,10 @@
 550787 ./tests/data/a-odivx.mp4
 a1c691f3be526ecbf3be3152d5bab88c *./tests/data/mpeg4.vsynth.out.yuv
 stddev:    7.99 PSNR: 30.06 bytes:  7603200/  7603200
-6c58e5707afe056b072d2ce21b3b8e4f *./tests/data/a-huffyuv.avi
-7933744 ./tests/data/a-huffyuv.avi
-799d3db687f6cdd7a837ec156efc171f *./tests/data/huffyuv.vsynth.out.yuv
-stddev:    0.00 PSNR:999.99 bytes:  7603200/  7603200
+3c5d08af2bde1ff2156da24eaaf515e2 *./tests/data/a-huffyuv.avi
+7906780 ./tests/data/a-huffyuv.avi
+1f420857f86b0a8ab2bdd1a8426146ea *./tests/data/huffyuv.vsynth.out.yuv
+stddev:    3.77 PSNR: 36.58 bytes:  7603200/  7603200
 b27e911f1563455700c93e6ae39715ca *./tests/data/a-mpeg4-rc.avi
 813988 ./tests/data/a-mpeg4-rc.avi
 f57311745de96b6551c175679b138efc *./tests/data/rc.vsynth.out.yuv
@@ -114,10 +114,10 @@
 6312866 ./tests/data/a-ljpeg.avi
 799d3db687f6cdd7a837ec156efc171f *./tests/data/ljpeg.vsynth.out.yuv
 stddev:    0.00 PSNR:999.99 bytes:  7603200/  7603200
-07fb88b0a025523ed699c62308e9dd33 *./tests/data/a-jpegls.avi
-9086168 ./tests/data/a-jpegls.avi
-012717e7c928641410eaa6abaf126fdc *./tests/data/jpegls.vsynth.out.yuv
-stddev:    2.84 PSNR: 39.05 bytes:  7603200/  7603200
+5bbb6e8ec9ad655a52bdeee33ebd782d *./tests/data/a-jpegls.avi
+9102270 ./tests/data/a-jpegls.avi
+917042ded1d078ff46dabb997d529a3e *./tests/data/jpegls.vsynth.out.yuv
+stddev:    4.00 PSNR: 36.07 bytes:  7603200/  7603200
 99ef24bf57718fd29a7a91b22af2b3fe *./tests/data/a-rv10.rm
 667935 ./tests/data/a-rv10.rm
 d507be4253a9c8211a3738c58ba28118 *./tests/data/rv10.vsynth.out.yuv
@@ -142,34 +142,34 @@
 2654678 ./tests/data/a-ffv1.avi
 799d3db687f6cdd7a837ec156efc171f *./tests/data/ffv1.vsynth.out.yuv
 stddev:    0.00 PSNR:999.99 bytes:  7603200/  7603200
-0686abe923285feb8b2ba0de5e6f304a *./tests/data/a-snow.avi
-137018 ./tests/data/a-snow.avi
-3a00e0016a28f4b759c2e9df8cd3db02 *./tests/data/snow.vsynth.out.yuv
-stddev:   22.73 PSNR: 20.99 bytes:  7603200/  7603200
+cf79a620a2682966b79104a758ee0bb3 *./tests/data/a-snow.avi
+116258 ./tests/data/a-snow.avi
+d8298a307b404008c47d94010b9fcda0 *./tests/data/snow.vsynth.out.yuv
+stddev:   26.17 PSNR: 19.76 bytes:  7603200/  7603200
 c7397d2ceb420f7564dcc785948bff84 *./tests/data/a-snow53.avi
 3520692 ./tests/data/a-snow53.avi
 799d3db687f6cdd7a837ec156efc171f *./tests/data/snowll.vsynth.out.yuv
 stddev:    0.00 PSNR:999.99 bytes:  7603200/  7603200
-9bfab037b2779eef4b95773788bbe369 *./tests/data/a-dv.dv
+c32015532f59053d9a1e411b9d4ef415 *./tests/data/a-dv.dv
 7200000 ./tests/data/a-dv.dv
-eed5e51bbb178e0a54853f1b9878b841 *./tests/data/dv.vsynth.out.yuv
-stddev:    6.90 PSNR: 31.34 bytes:  7603200/  7603200
+4d0c365c3651ab88370d7bc4c5c96828 *./tests/data/dv.vsynth.out.yuv
+stddev:   11.38 PSNR: 26.99 bytes:  7603200/  7603200
 d601c05c2c2bc7153ba687dadb2ef51c *./tests/data/a-dv411.dv
 7200000 ./tests/data/a-dv411.dv
-fce469df997d2c5f749cb2b2d0f360da *./tests/data/dv.vsynth.out.yuv
-stddev:   30.77 PSNR: 18.36 bytes:  7603200/  7603200
-fb282f03a0481cc9625baed0f927d978 *./tests/data/a-dv50.dv
+fe08f151c699da520e807159cc93d9dd *./tests/data/dv.vsynth.out.yuv
+stddev:   31.04 PSNR: 18.28 bytes:  7603200/  7603200
+6e4a72b4f3478cdd47b0d57bffcd5550 *./tests/data/a-dv50.dv
 14400000 ./tests/data/a-dv50.dv
-8d6afc3a0243f44510fd5f1b1719248a *./tests/data/dv50.vsynth.out.yuv
-stddev:    1.72 PSNR: 43.36 bytes:  7603200/  7603200
-303aad8cf148645c9b8659670e6c2de0 *./tests/data/a-svq1.mov
-1359751 ./tests/data/a-svq1.mov
-5bbd40268e94bdfb430abf57caa0c291 *./tests/data/svq1.vsynth.out.yuv
-stddev:    9.53 PSNR: 28.53 bytes:  7603200/  7603200
-d6f92d41d739f95cc63ef8e6453c5011 *./tests/data/a-flashsv.flv
-14684984 ./tests/data/a-flashsv.flv
-012717e7c928641410eaa6abaf126fdc *./tests/data/flashsv.vsynth.out.yuv
-stddev:    2.84 PSNR: 39.05 bytes:  7603200/  7603200
+56412f32c8042c5c192e21d9d64f4721 *./tests/data/dv50.vsynth.out.yuv
+stddev:   11.02 PSNR: 27.27 bytes:  7603200/  7603200
+7298641c01d138e638633155aac07c1b *./tests/data/a-svq1.mov
+1317923 ./tests/data/a-svq1.mov
+3459b96d43cfae9a1250b1029a282cfb *./tests/data/svq1.vsynth.out.yuv
+stddev:   11.46 PSNR: 26.93 bytes:  7603200/  7603200
+3bfd2440ae411dc05bf321b18321b871 *./tests/data/a-flashsv.flv
+14337466 ./tests/data/a-flashsv.flv
+e77a0cbcd4adb34f5800677c3a7f369c *./tests/data/flashsv.vsynth.out.yuv
+stddev:    3.77 PSNR: 36.58 bytes:  7603200/  7603200
 21f8ff9f1daacd9133683bb4ea0f50a4 *./tests/data/a-mp2.mp2
 95712 ./tests/data/a-mp2.mp2
 83f8df5d5f84480566af548bb037fceb *./tests/data/mp2.vsynth.out.wav

Do you have any hint regarding what could be the cause of it?

> > For the rest I think lavfi is infinitely better than VHOOK, there are
> > still some problems to be addressed (e.g. variable-size support,
> > request-frame slicification) but nothing which can't be postponed to the
> > FFmpeg SVN integration.
> 
> There is also a problem for filters that remove frames, as ffmpeg
> uses/expects the fps of the input video (instead of the filtered one) and
> generates duplicated frames to reach that.
> 
> For example, if input.avi has 25fps, then output.avi will also have
> 25fps, despite the fps filter:
> 
> ffmpeg -i input.avi -vfilters 'fps=1' output.avi

Another problem to signal is that slicification seems to work only
with yuv420p (-vfilters "slicify, format=FMT").

Regards.
-- 
FFmpeg = Forgiving and Faboulous Mortal Patchable Enchanting Gangster




More information about the ffmpeg-devel mailing list