[FFmpeg-devel] [WIP] GSoC P frame support for FFV1 codec

Michael Niedermayer michael at niedermayer.cc
Thu Mar 24 13:15:12 CET 2016


On Thu, Mar 24, 2016 at 02:49:26PM +0300, Станислав Долганов wrote:
> Hello, I have implemented simple p frame support for FFV1 codec as part of
> the GSoC qualification task, so now it for every non key frame stores a
> "residual" instead of a frame itself.
> 
> The patch file is attached to this message. It also replaces reference
> files for FATE tests, cause relative checksums and filesizes were changed.
> 
> -- 
> Stanislav Dolganov
[...]
> diff --git a/tests/ref/vsynth/vsynth1-ffv1 b/tests/ref/vsynth/vsynth1-ffv1
> index 001f10a..477462b 100644
> --- a/tests/ref/vsynth/vsynth1-ffv1
> +++ b/tests/ref/vsynth/vsynth1-ffv1
> @@ -1,4 +1,4 @@
> -26b1296a0ef80a3b5c8b63cc57c52bc2 *tests/data/fate/vsynth1-ffv1.avi
> -2691268 tests/data/fate/vsynth1-ffv1.avi
> +32caa587f6dc41f5f9c0fdf858b202d6 *tests/data/fate/vsynth1-ffv1.avi
> +5877448 tests/data/fate/vsynth1-ffv1.avi
>  c5ccac874dbf808e9088bc3107860042 *tests/data/fate/vsynth1-ffv1.out.rawvideo
>  stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200

this almost doubles the filesize, i think even basic P frame support
should result in a filesize thats smaller or equal, or at least
not much larger

also more tests fail (you may need the reference fate samples for this
one (make fate-rsync after configuring a path for the fate samples
in ./configure)


--- ./tests/ref/vsynth/vsynth_lena-ffv1 2016-03-21 22:35:29.064290010 +0100
+++ tests/data/fate/vsynth_lena-ffv1    2016-03-24 13:00:20.409023641 +0100
@@ -1,4 +1,4 @@
-ed72c22374718589ffacd7ea15424687 *tests/data/fate/vsynth_lena-ffv1.avi
-3547792 tests/data/fate/vsynth_lena-ffv1.avi
+95c804ef856ae8a223a16236752e0c84 *tests/data/fate/vsynth_lena-ffv1.avi
+5539122 tests/data/fate/vsynth_lena-ffv1.avi
 dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth_lena-ffv1.out.rawvideo
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
Test vsynth_lena-ffv1 failed. Look at tests/data/fate/vsynth_lena-ffv1.err for details.
make: *** [fate-vsynth_lena-ffv1] Error 1
make: *** Waiting for unfinished jobs....
--- ./tests/ref/vsynth/vsynth_lena-ffv1-v3-yuv420p      2016-03-21 22:35:29.064290010 +0100
+++ tests/data/fate/vsynth_lena-ffv1-v3-yuv420p 2016-03-24 13:00:21.405023662 +0100
@@ -1,4 +1,4 @@
-ed72c22374718589ffacd7ea15424687 *tests/data/fate/vsynth_lena-ffv1-v3-yuv420p.avi
-3547792 tests/data/fate/vsynth_lena-ffv1-v3-yuv420p.avi
+95c804ef856ae8a223a16236752e0c84 *tests/data/fate/vsynth_lena-ffv1-v3-yuv420p.avi
+5539122 tests/data/fate/vsynth_lena-ffv1-v3-yuv420p.avi
 dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth_lena-ffv1-v3-yuv420p.out.rawvideo
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
Test vsynth_lena-ffv1-v3-yuv420p failed. Look at tests/data/fate/vsynth_lena-ffv1-v3-yuv420p.err for details.
make: *** [fate-vsynth_lena-ffv1-v3-yuv420p] Error 1
--- ./tests/ref/vsynth/vsynth_lena-ffv1-v0      2016-03-21 22:35:29.064290010 +0100
+++ tests/data/fate/vsynth_lena-ffv1-v0 2016-03-24 13:00:21.417023662 +0100
@@ -1,4 +1,4 @@
-ad518c7014bdd6a72514a79a9102f64f *tests/data/fate/vsynth_lena-ffv1-v0.avi
-3525796 tests/data/fate/vsynth_lena-ffv1-v0.avi
+07ad3c294dbb6b9ba2582f9d6aceb64d *tests/data/fate/vsynth_lena-ffv1-v0.avi
+5517528 tests/data/fate/vsynth_lena-ffv1-v0.avi
 dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth_lena-ffv1-v0.out.rawvideo
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
Test vsynth_lena-ffv1-v0 failed. Look at tests/data/fate/vsynth_lena-ffv1-v0.err for details.
make: *** [fate-vsynth_lena-ffv1-v0] Error 1
--- ./tests/ref/vsynth/vsynth_lena-ffv1-v3-yuv422p10    2016-03-21 22:35:29.064290010 +0100
+++ tests/data/fate/vsynth_lena-ffv1-v3-yuv422p10       2016-03-24 13:00:21.993023675 +0100
@@ -1,4 +1,4 @@
-cd3f5b3d4544a30bd08a9a11945a8adc *tests/data/fate/vsynth_lena-ffv1-v3-yuv422p10.avi
-3910306 tests/data/fate/vsynth_lena-ffv1-v3-yuv422p10.avi
+4af1ad2aabf748075dd2544257e5b6f3 *tests/data/fate/vsynth_lena-ffv1-v3-yuv422p10.avi
+5582846 tests/data/fate/vsynth_lena-ffv1-v3-yuv422p10.avi
 dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth_lena-ffv1-v3-yuv422p10.out.rawvideo
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
Test vsynth_lena-ffv1-v3-yuv422p10 failed. Look at tests/data/fate/vsynth_lena-ffv1-v3-yuv422p10.err for details.
make: *** [fate-vsynth_lena-ffv1-v3-yuv422p10] Error 1
--- ./tests/ref/vsynth/vsynth_lena-ffv1-v3-bgr0 2016-03-21 22:35:29.064290010 +0100
+++ tests/data/fate/vsynth_lena-ffv1-v3-bgr0    2016-03-24 13:00:22.001023674 +0100
@@ -1,4 +1,4 @@
-edf0987619d4d63f8b7e3022a8d0a724 *tests/data/fate/vsynth_lena-ffv1-v3-bgr0.avi
-6013028 tests/data/fate/vsynth_lena-ffv1-v3-bgr0.avi
+37e9b73215373d6d17bd3485be197200 *tests/data/fate/vsynth_lena-ffv1-v3-bgr0.avi
+13393296 tests/data/fate/vsynth_lena-ffv1-v3-bgr0.avi
 0a8b7ddfec03622e37c869c5b552f9fc *tests/data/fate/vsynth_lena-ffv1-v3-bgr0.out.rawvideo
 stddev:    1.24 PSNR: 46.26 MAXDIFF:   17 bytes:  7603200/  7603200
Test vsynth_lena-ffv1-v3-bgr0 failed. Look at tests/data/fate/vsynth_lena-ffv1-v3-bgr0.err for details.
make: *** [fate-vsynth_lena-ffv1-v3-bgr0] Error 1
--- ./tests/ref/vsynth/vsynth_lena-ffv1-v3-yuv444p16    2016-03-21 22:35:29.064290010 +0100
+++ tests/data/fate/vsynth_lena-ffv1-v3-yuv444p16       2016-03-24 13:00:22.881023693 +0100
@@ -1,4 +1,4 @@
-e65ad01440ad756b1872b22d3cfa23d7 *tests/data/fate/vsynth_lena-ffv1-v3-yuv444p16.avi
-4871266 tests/data/fate/vsynth_lena-ffv1-v3-yuv444p16.avi
+b5908e646a44ddba2d7f887224785361 *tests/data/fate/vsynth_lena-ffv1-v3-yuv444p16.avi
+6618150 tests/data/fate/vsynth_lena-ffv1-v3-yuv444p16.avi
 dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth_lena-ffv1-v3-yuv444p16.out.rawvideo
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200
Test vsynth_lena-ffv1-v3-yuv444p16 failed. Look at tests/data/fate/vsynth_lena-ffv1-v3-yuv444p16.err for details.
make: *** [fate-vsynth_lena-ffv1-v3-yuv444p16] Error 1

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

No great genius has ever existed without some touch of madness. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160324/2a1e57f4/attachment.sig>


More information about the ffmpeg-devel mailing list