Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-02-14 18:20:58 +0300
committerMichael Niedermayer <michaelni@gmx.at>2015-02-15 02:43:38 +0300
commit7d60baa8d90e3325874d581d4013bab8872581c5 (patch)
treefb316e79eb38def266e61be7ff31ed82f175ac45 /libavformat
parent64e036980875967ff5b793e9a979077b0f6b5643 (diff)
avformat/matroskaenc: add allow_raw_vfw and disable it by default
Based on complaint by wm4 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/matroskaenc.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 8690025dc5..7b11d56f5f 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -123,6 +123,8 @@ typedef struct MatroskaMuxContext {
uint32_t chapter_id_offset;
int wrote_chapters;
+
+ int allow_raw_vfw;
} MatroskaMuxContext;
@@ -879,8 +881,15 @@ static int mkv_write_track(AVFormatContext *s, MatroskaMuxContext *mkv,
break;
}
}
- if (codec->codec_id == AV_CODEC_ID_RAWVIDEO && !codec->codec_tag)
- native_id = 0;
+ if (codec->codec_id == AV_CODEC_ID_RAWVIDEO && !codec->codec_tag) {
+ if (mkv->allow_raw_vfw) {
+ 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"
+ "If you would like to store it anyway using VFW mode, enable allow_raw_vfw (-allow_raw_vfw 1)\n");
+ return AVERROR(EINVAL);
+ }
+ }
}
if (codec->codec_type == AVMEDIA_TYPE_AUDIO && codec->initial_padding && codec->codec_id == AV_CODEC_ID_OPUS) {
@@ -1992,6 +2001,7 @@ static const AVOption options[] = {
{ "cluster_time_limit", "Store at most the provided number of milliseconds in a cluster.", OFFSET(cluster_time_limit), AV_OPT_TYPE_INT64, { .i64 = -1 }, -1, INT64_MAX, FLAGS },
{ "dash", "Create a WebM file conforming to WebM DASH specification", OFFSET(is_dash), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, FLAGS },
{ "dash_track_number", "Track number for the DASH stream", OFFSET(dash_track_number), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 127, FLAGS },
+ { "allow_raw_vfw", "allow RAW VFW mode", OFFSET(allow_raw_vfw), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, FLAGS },
{ NULL },
};