diff mbox

[FFmpeg-devel] avcodec/ffv1enc: Use version 3 by default (CRCs by default)

Message ID 20191208224716.21557-1-michael@niedermayer.cc
State New
Headers show

Commit Message

Michael Niedermayer Dec. 8, 2019, 10:47 p.m. UTC
Version 3 is since 2013 (FFmpeg 2.1) non experimental so should be widely supported

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/ffv1enc.c  | 3 ++-
 tests/fate/vcodec.mak | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

Comments

Kieran O Leary Dec. 9, 2019, 4:27 p.m. UTC | #1
On Sun, 8 Dec 2019, 22:50 Michael Niedermayer, <michael@niedermayer.cc>
wrote:

> Version 3 is since 2013 (FFmpeg 2.1) non experimental so should be widely
> supported
>

This was recently raised at the No Time To Wait conference in Budapest, so
it would be great to see version three as the default!

Best,

Kieran O'Leary
Peter B. Dec. 9, 2019, 4:50 p.m. UTC | #2
On 09/12/2019 17:27, Kieran O Leary wrote:
> This was recently raised at the No Time To Wait conference in 
> Budapest, so it would be great to see version three as the default!

Actually it was triggered by NTTW4.
(Thanks Michael for addressing this)


It should be noted though, that Michael also reminded me of "why it was 
v1 in the first place":

[quote]
"The default is the lowest version which supports all the user selected 
features.

Thats chosen so as to generate a file which is most widely supported.
(older bitstream versions work on older decoders, newer would only work 
on newer decoders)"
[/quote]


This should be known.
However, since I hardly see any reason to prefer v1 over v3 anymore, and 
considering that it's now the most widely one used, I'm happy to see it 
become default.


Any objections?


Kind regards,
Peter B.
Michael Niedermayer Dec. 9, 2019, 5:58 p.m. UTC | #3
On Mon, Dec 09, 2019 at 04:27:06PM +0000, Kieran O Leary wrote:
> On Sun, 8 Dec 2019, 22:50 Michael Niedermayer, <michael@niedermayer.cc>
> wrote:
> 
> > Version 3 is since 2013 (FFmpeg 2.1) non experimental so should be widely
> > supported
> >
> 
> This was recently raised at the No Time To Wait conference in Budapest, so
> it would be great to see version three as the default!

Yes, i did listen to the conference online, i was just a few hours late so i
could not comment on anything online in realtime (like the ffv1 default version)

Thanks

[...]
diff mbox

Patch

diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c
index c521b7d445..ce66d0e4d6 100644
--- a/libavcodec/ffv1enc.c
+++ b/libavcodec/ffv1enc.c
@@ -542,7 +542,8 @@  static av_cold int encode_init(AVCodecContext *avctx)
             return AVERROR(EINVAL);
         }
         s->version = avctx->level;
-    }
+    } else if (s->version < 3)
+        s->version = 3;
 
     if (s->ec < 0) {
         s->ec = (s->version >= 3);
diff --git a/tests/fate/vcodec.mak b/tests/fate/vcodec.mak
index 452246689e..91b46034c8 100644
--- a/tests/fate/vcodec.mak
+++ b/tests/fate/vcodec.mak
@@ -168,7 +168,7 @@  FATE_VCODEC-$(call ENCDEC, FFV1, AVI)   += ffv1 ffv1-v0 \
                                            ffv1-v3-yuv420p ffv1-v3-yuv422p10 ffv1-v3-yuv444p16 \
                                            ffv1-v3-bgr0 ffv1-v3-rgb48
 fate-vsynth%-ffv1:               ENCOPTS = -slices 4
-fate-vsynth%-ffv1-v0:            CODEC   = ffv1
+fate-vsynth%-ffv1-v0:            ENCOPTS = -level 0
 fate-vsynth%-ffv1-v3-yuv420p:    ENCOPTS = -level 3 -pix_fmt yuv420p
 fate-vsynth%-ffv1-v3-yuv422p10:  ENCOPTS = -level 3 -pix_fmt yuv422p10 \
                                            -sws_flags neighbor+bitexact