lavc/mpegvideo_enc: allow low_delay for non MPEG2 codecs depending on strict_std_comp...
authorStefano Sabatini <stefasab@gmail.com>
Tue, 23 May 2017 10:22:41 +0000 (12:22 +0200)
committerStefano Sabatini <stefasab@gmail.com>
Tue, 6 Jun 2017 07:56:49 +0000 (09:56 +0200)
Forcing low_delay can be useful, even if not officially supported.

libavcodec/mpegvideo_enc.c

index db241c8..1003dea 100644 (file)
@@ -671,9 +671,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
     }
 
     if (s->avctx->flags & AV_CODEC_FLAG_LOW_DELAY) {
-        if (s->codec_id != AV_CODEC_ID_MPEG2VIDEO) {
+        if (s->codec_id != AV_CODEC_ID_MPEG2VIDEO &&
+            s->strict_std_compliance >= FF_COMPLIANCE_NORMAL) {
             av_log(avctx, AV_LOG_ERROR,
-                  "low delay forcing is only available for mpeg2\n");
+                   "low delay forcing is only available for mpeg2, "
+                   "set strict_std_compliance to 'unofficial' or lower in order to allow it\n");
             return -1;
         }
         if (s->max_b_frames != 0) {