Hi!

Attached patch copies mov and avi behaviour.

Please comment, Carl Eugen
From c716fb256cfcc59dfa6adc93ac0810db9c2c1722 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <ceho...@ag.or.at>
Date: Tue, 10 Jan 2017 17:04:34 +0100
Subject: [PATCH] lavf/matroskaenc: Print an error if rawvideo pix_fmt is
 invalid for vfw.

---
 libavformat/matroskaenc.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 78a621e..3f06faa 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -51,10 +51,12 @@
 #include "libavutil/samplefmt.h"
 #include "libavutil/sha.h"
 #include "libavutil/stereo3d.h"
+#include "libavutil/pixdesc.h"
 
 #include "libavcodec/xiph.h"
 #include "libavcodec/mpeg4audio.h"
 #include "libavcodec/internal.h"
+#include "libavcodec/raw.h"
 
 typedef struct ebml_master {
     int64_t         pos;                ///< absolute offset in the file where 
the master's elements start
@@ -1128,6 +1130,11 @@ static int mkv_write_track(AVFormatContext *s, 
MatroskaMuxContext *mkv,
         }
         if (par->codec_id == AV_CODEC_ID_RAWVIDEO && !par->codec_tag) {
             if (mkv->allow_raw_vfw) {
+                enum AVPixelFormat pix_fmt = 
avpriv_find_pix_fmt(avpriv_pix_fmt_bps_avi,
+                                                                 
par->bits_per_coded_sample);
+                if (par->format != pix_fmt && par->format != AV_PIX_FMT_NONE)
+                    av_log(s, AV_LOG_ERROR, "%s rawvideo cannot be written to 
vfw mkv, output file will be unreadable\n",
+                          av_get_pix_fmt_name(par->format));
                 native_id = 0;
             } else {
                 av_log(s, AV_LOG_ERROR, "Raw RGB is not supported Natively in 
Matroska, you can use AVI or NUT or\n"
-- 
1.7.10.4

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to