ffmpeg/lavc: move experimental warnings to libavcodec.
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 22 Oct 2012 15:58:33 +0000 (17:58 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 22 Oct 2012 15:58:33 +0000 (17:58 +0200)
This way they are available to all applications and not just ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg.c
libavcodec/utils.c

index 1612469..46e128a 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -469,15 +469,6 @@ void assert_avoptions(AVDictionary *m)
 
 static void abort_codec_experimental(AVCodec *c, int encoder)
 {
-    const char *codec_string = encoder ? "encoder" : "decoder";
-    AVCodec *codec;
-    av_log(NULL, AV_LOG_FATAL, "%s '%s' is experimental and might produce bad "
-            "results.\nAdd '-strict experimental' if you want to use it.\n",
-            codec_string, c->name);
-    codec = encoder ? avcodec_find_encoder(c->id) : avcodec_find_decoder(c->id);
-    if (!(codec->capabilities & CODEC_CAP_EXPERIMENTAL))
-        av_log(NULL, AV_LOG_FATAL, "Or use the non experimental %s '%s'.\n",
-               codec_string, codec->name);
     exit(1);
 }
 
index bed15bc..2ec28a7 100644 (file)
@@ -930,9 +930,16 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code
 
     if (avctx->codec->capabilities & CODEC_CAP_EXPERIMENTAL &&
         avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) {
-        av_log(avctx, AV_LOG_ERROR,
-               "Codec %s is experimental but experimental codecs are not enabled, try -strict %d\n",
-               codec->name, FF_COMPLIANCE_EXPERIMENTAL);
+        const char *codec_string = av_codec_is_encoder(codec) ? "encoder" : "decoder";
+        AVCodec *codec2;
+        av_log(NULL, AV_LOG_ERROR,
+               "%s '%s' is experimental but experimental codecs are not enabled, "
+               "Add '-strict %d' if you want to use it.\n",
+               codec_string, codec->name, FF_COMPLIANCE_EXPERIMENTAL);
+        codec2 = av_codec_is_encoder(codec) ? avcodec_find_encoder(codec->id) : avcodec_find_decoder(codec->id);
+        if (!(codec2->capabilities & CODEC_CAP_EXPERIMENTAL))
+            av_log(NULL, AV_LOG_ERROR, "Or use the non experimental %s '%s'.\n",
+                codec_string, codec2->name);
         ret = AVERROR_EXPERIMENTAL;
         goto free_and_end;
     }