[FFmpeg-cvslog] ffv1enc: Make ffv1.3 non experimental

Michael Niedermayer git at videolan.org
Mon Aug 26 17:34:42 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Aug 17 04:28:53 2013 +0200| [abe76b851c05eea8743f6c899cbe5f7409b0f301] | committer: Michael Niedermayer

ffv1enc: Make ffv1.3 non experimental

The fate tests change as they used 1.2 previously
The increased size is due to:
32bit CRCs per slice by default (can be disabled),
it adds slice headers to allow decoding one slice without the others
an additional slice size field is added to make it possible to find
slices within corrupted surroundings.

these add up to about 57bit per slice more
at 50 frames and 4 slices thats 1425 byte

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=abe76b851c05eea8743f6c899cbe5f7409b0f301
---

 libavcodec/ffv1enc.c          |    4 ++--
 tests/fate/vcodec.mak         |    2 +-
 tests/ref/seek/vsynth2-ffv1   |   40 ++++++++++++++++++++--------------------
 tests/ref/vsynth/vsynth1-ffv1 |    4 ++--
 tests/ref/vsynth/vsynth2-ffv1 |    4 ++--
 5 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c
index faf64ca..6baa7e9 100644
--- a/libavcodec/ffv1enc.c
+++ b/libavcodec/ffv1enc.c
@@ -651,7 +651,7 @@ static av_cold int encode_init(AVCodecContext *avctx)
     if ((avctx->flags & (CODEC_FLAG_PASS1|CODEC_FLAG_PASS2)) || avctx->slices>1)
         s->version = FFMAX(s->version, 2);
 
-    if (avctx->level == 3 || (s->version==2 && avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL)) {
+    if (avctx->level == 3 || (avctx->level <= 0 && s->version == 2)) {
         s->version = 3;
     }
 
@@ -659,7 +659,7 @@ static av_cold int encode_init(AVCodecContext *avctx)
         s->ec = (s->version >= 3);
     }
 
-    if (s->version >= 2 && avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) {
+    if ((s->version == 2 || s->version>3) && avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) {
         av_log(avctx, AV_LOG_ERROR, "Version 2 needed for requested features but version 2 is experimental and not enabled\n");
         return AVERROR_INVALIDDATA;
     }
diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak
index fff606f..3186c4c 100644
--- a/tests/fate/vcodec.mak
+++ b/tests/fate/vcodec.mak
@@ -55,7 +55,7 @@ fate-vsynth%-dv-50:              DECOPTS = -sws_flags neighbor
 fate-vsynth%-dv-50:              FMT     = dv
 
 FATE_VCODEC-$(call ENCDEC, FFV1, AVI)   += ffv1 ffv1.0
-fate-vsynth%-ffv1:               ENCOPTS = -slices 4 -strict -2
+fate-vsynth%-ffv1:               ENCOPTS = -slices 4
 fate-vsynth%-ffv1.0:             CODEC   = ffv1
 
 FATE_VCODEC-$(call ENCDEC, FFVHUFF, AVI) += ffvhuff
diff --git a/tests/ref/seek/vsynth2-ffv1 b/tests/ref/seek/vsynth2-ffv1
index 715a272..84e7436 100644
--- a/tests/ref/seek/vsynth2-ffv1
+++ b/tests/ref/seek/vsynth2-ffv1
@@ -1,46 +1,46 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5688 size: 71679
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5690 size: 71707
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5688 size: 71679
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5690 size: 71707
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos:2498334 size: 75937
+ret: 0         st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos:2499438 size: 75965
 ret: 0         st: 0 flags:0  ts: 0.800000
-ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:1630830 size: 72682
+ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:1631570 size: 72710
 ret:-1         st: 0 flags:1  ts:-0.320000
 ret:-1         st:-1 flags:0  ts: 2.576668
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos:2498334 size: 75937
+ret: 0         st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos:2499438 size: 75965
 ret: 0         st: 0 flags:0  ts: 0.360000
-ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 801262 size: 69457
+ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 801634 size: 69485
 ret:-1         st: 0 flags:1  ts:-0.760000
 ret:-1         st:-1 flags:0  ts: 2.153336
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:1630830 size: 72682
+ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:1631570 size: 72710
 ret: 0         st: 0 flags:0  ts:-0.040000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5688 size: 71679
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5690 size: 71707
 ret: 0         st: 0 flags:1  ts: 2.840000
-ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos:3392418 size: 77461
+ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos:3393890 size: 77489
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos:3392418 size: 77461
+ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos:3393890 size: 77489
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 801262 size: 69457
+ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 801634 size: 69485
 ret: 0         st: 0 flags:0  ts:-0.480000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5688 size: 71679
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5690 size: 71707
 ret: 0         st: 0 flags:1  ts: 2.400000
-ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos:3392418 size: 77461
+ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos:3393890 size: 77489
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos:2498334 size: 75937
+ret: 0         st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos:2499438 size: 75965
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5688 size: 71679
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5690 size: 71707
 ret: 0         st: 0 flags:0  ts:-0.920000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5688 size: 71679
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   5690 size: 71707
 ret: 0         st: 0 flags:1  ts: 2.000000
-ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos:3392418 size: 77461
+ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos:3393890 size: 77489
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:1630830 size: 72682
+ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:1631570 size: 72710
 ret:-1         st:-1 flags:1  ts:-0.222493
 ret:-1         st: 0 flags:0  ts: 2.680000
 ret: 0         st: 0 flags:1  ts: 1.560000
-ret: 0         st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos:2498334 size: 75937
+ret: 0         st: 0 flags:1 dts: 1.440000 pts: 1.440000 pos:2499438 size: 75965
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 801262 size: 69457
+ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 801634 size: 69485
 ret:-1         st:-1 flags:1  ts:-0.645825
diff --git a/tests/ref/vsynth/vsynth1-ffv1 b/tests/ref/vsynth/vsynth1-ffv1
index a162a77..22c9341 100644
--- a/tests/ref/vsynth/vsynth1-ffv1
+++ b/tests/ref/vsynth/vsynth1-ffv1
@@ -1,4 +1,4 @@
-d236e8441d7e04e24d882bb97faccd36 *tests/data/fate/vsynth1-ffv1.avi
-2689718 tests/data/fate/vsynth1-ffv1.avi
+394aa2d2ee50abbc2372e6d126c7eb5a *tests/data/fate/vsynth1-ffv1.avi
+2691264 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
diff --git a/tests/ref/vsynth/vsynth2-ffv1 b/tests/ref/vsynth/vsynth2-ffv1
index 8263b01..6caffdd 100644
--- a/tests/ref/vsynth/vsynth2-ffv1
+++ b/tests/ref/vsynth/vsynth2-ffv1
@@ -1,4 +1,4 @@
-9d8486fc8a260204d8ee3212d95915b5 *tests/data/fate/vsynth2-ffv1.avi
-3546258 tests/data/fate/vsynth2-ffv1.avi
+0837dc7e6f625e2f6ac16140562c079d *tests/data/fate/vsynth2-ffv1.avi
+3547788 tests/data/fate/vsynth2-ffv1.avi
 dde5895817ad9d219f79a52d0bdfb001 *tests/data/fate/vsynth2-ffv1.out.rawvideo
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  7603200/  7603200



More information about the ffmpeg-cvslog mailing list