[FFmpeg-cvslog] ffmpeg: remove misleading and incorrect warning messages
wm4
git at videolan.org
Tue Jun 20 11:04:58 EEST 2017
ffmpeg | branch: master | wm4 <nfxjfg at googlemail.com> | Thu Jun 15 18:52:14 2017 +0200| [f1df7cc10c62b3d7a8979be36d14b9fb6fc30ff7] | committer: wm4
ffmpeg: remove misleading and incorrect warning messages
It is wrong/incorrect in two aspects:
1. The pixel format is not enough to guarantee that the resulting file
will be any more compatible with media players.
2. Media players not supporting higher profiles are not necessarily
outdated (in fact this is simply an arrogant statement that
libavcodec can handle these particular features).
You could add that there are plenty of other ways to produce widely
incompatible files with ffmpeg, and these don't show any warnings.
What we really want to do here is defaulting to codec profiles that
have wide compatibility, such as main/high for h264. Also, if an
encoder does not accept certain pixfmts, we should automatically
convert them to a pixfmt the encoder can accept. But the existing
message certainly is not appropriate.
It also works for 2 specific encoders only. Extending it for other
cases would result in a lot of special cases, so this is not the
right place.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f1df7cc10c62b3d7a8979be36d14b9fb6fc30ff7
---
ffmpeg.c | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/ffmpeg.c b/ffmpeg.c
index 6170bd453c..a783e6e04b 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3343,20 +3343,7 @@ static int init_output_stream_encode(OutputStream *ost)
ost->frame_aspect_ratio.num ? // overridden by the -aspect cli option
av_mul_q(ost->frame_aspect_ratio, (AVRational){ enc_ctx->height, enc_ctx->width }) :
av_buffersink_get_sample_aspect_ratio(ost->filter->filter);
- if (!strncmp(ost->enc->name, "libx264", 7) &&
- enc_ctx->pix_fmt == AV_PIX_FMT_NONE &&
- av_buffersink_get_format(ost->filter->filter) != AV_PIX_FMT_YUV420P)
- av_log(NULL, AV_LOG_WARNING,
- "No pixel format specified, %s for H.264 encoding chosen.\n"
- "Use -pix_fmt yuv420p for compatibility with outdated media players.\n",
- av_get_pix_fmt_name(av_buffersink_get_format(ost->filter->filter)));
- if (!strncmp(ost->enc->name, "mpeg2video", 10) &&
- enc_ctx->pix_fmt == AV_PIX_FMT_NONE &&
- av_buffersink_get_format(ost->filter->filter) != AV_PIX_FMT_YUV420P)
- av_log(NULL, AV_LOG_WARNING,
- "No pixel format specified, %s for MPEG-2 encoding chosen.\n"
- "Use -pix_fmt yuv420p for compatibility with outdated media players.\n",
- av_get_pix_fmt_name(av_buffersink_get_format(ost->filter->filter)));
+
enc_ctx->pix_fmt = av_buffersink_get_format(ost->filter->filter);
if (dec_ctx)
enc_ctx->bits_per_raw_sample = FFMIN(dec_ctx->bits_per_raw_sample,
More information about the ffmpeg-cvslog
mailing list