aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-08-08 09:23:13 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-08-10 23:56:35 +0200
commit43db0e5ecfb90264e49c5e7d7c60f0ecc62de1a9 (patch)
tree7ba3973e285eeced8769096dab257a75dd99b30a
parentd9d56953906103dfae351e4d32af501fa1d62bdb (diff)
downloadffmpeg-43db0e5ecfb90264e49c5e7d7c60f0ecc62de1a9.tar.gz
avformat/matroskaenc: Hoist check out of loop
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r--libavformat/matroskaenc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index be70e7a6f1..d9bc31daee 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -1877,9 +1877,13 @@ static int mkv_write_track(AVFormatContext *s, MatroskaMuxContext *mkv,
// look for a codec ID string specific to mkv to use,
// if none are found, use AVI codes
- if (par->codec_id != AV_CODEC_ID_RAWVIDEO || par->codec_tag) {
+ if (par->codec_id == AV_CODEC_ID_FFV1) {
+ /* FFV1 is actually supported natively in Matroska,
+ * yet we use the VfW way to mux it for compatibility
+ * with old demuxers. (FIXME: Are they really important?) */
+ } else if (par->codec_id != AV_CODEC_ID_RAWVIDEO || par->codec_tag) {
for (j = 0; ff_mkv_codec_tags[j].id != AV_CODEC_ID_NONE; j++) {
- if (ff_mkv_codec_tags[j].id == par->codec_id && par->codec_id != AV_CODEC_ID_FFV1) {
+ if (ff_mkv_codec_tags[j].id == par->codec_id) {
put_ebml_string(pb, MATROSKA_ID_CODECID, ff_mkv_codec_tags[j].str);
native_id = 1;
break;