[vlc-commits] [Git][videolan/vlc][3.0.x] 2 commits: demux/mkv: use %4.4s to log a FourCC
Steve Lhomme (@robUx4)
gitlab at videolan.org
Fri Apr 24 09:02:06 UTC 2026
Steve Lhomme pushed to branch 3.0.x at VideoLAN / VLC
Commits:
7f045072 by Steve Lhomme at 2026-04-24T08:28:27+00:00
demux/mkv: use %4.4s to log a FourCC
No need to call vlc_fourcc_to_char() for that.
(cherry picked from commit 880043e35859bb11cfe7f17e208cb281b432876b)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
281d3218 by Steve Lhomme at 2026-04-24T08:28:27+00:00
demux: mkv: do not accept any (uncompressed) video FourCC for supposedly raw video
Fixes #29776
(cherry picked from commit 4352adf39542199c184a9c99bc2665dd1e8b064c)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
2 changed files:
- modules/demux/mkv/matroska_segment_parse.cpp
- modules/demux/mkv/mkv.hpp
Changes:
=====================================
modules/demux/mkv/matroska_segment_parse.cpp
=====================================
@@ -659,13 +659,8 @@ void matroska_segment_c::ParseTrackEntry( const KaxTrackEntry *m )
ONLY_FMT(VIDEO);
if ( colourspace.ValidateSize() )
{
- char clrspc[5];
-
- vars.tk->fmt.i_codec = GetFOURCC( colourspace.GetBuffer() );
-
- vlc_fourcc_to_char( vars.tk->fmt.i_codec, clrspc );
- clrspc[4] = '\0';
- debug( vars, "Colour Space=%s", clrspc );
+ vars.tk->uncompressed_fourcc = GetFOURCC( colourspace.GetBuffer() );
+ debug( vars, "Colour Space=%4.4s", (const char*)&vars.tk->uncompressed_fourcc );
}
}
#if LIBMATROSKA_VERSION >= 0x010405
@@ -1645,7 +1640,21 @@ bool matroska_segment_c::TrackInit( mkv_track_t * p_tk )
vars.p_tk->b_pts_only = true;
}
S_CASE("V_UNCOMPRESSED") {
- msg_Dbg( vars.p_demuxer, "uncompressed format detected");
+ if (vars.p_tk->uncompressed_fourcc == 0)
+ msg_Dbg( vars.p_demuxer, "uncompressed format with no FourCC");
+ else
+ {
+ const char *desc = vlc_fourcc_GetDescription(VIDEO_ES, vars.p_tk->uncompressed_fourcc);
+ if (desc[0])
+ {
+ vars.p_fmt->i_codec = vars.p_tk->uncompressed_fourcc;
+ msg_Dbg( vars.p_demuxer, "uncompressed format codec=%4.4s", (const char*)&vars.p_tk->uncompressed_fourcc );
+ }
+ else
+ {
+ msg_Dbg( vars.p_demuxer, "uncompressed format unknown video codec=%4.4s", (const char*)&vars.p_tk->uncompressed_fourcc );
+ }
+ }
}
S_CASE("V_FFV1") {
vars.p_fmt->i_codec = VLC_CODEC_FFV1;
=====================================
modules/demux/mkv/mkv.hpp
=====================================
@@ -235,6 +235,7 @@ class mkv_track_t
es_format_t fmt;
float f_fps;
es_out_id_t *p_es;
+ vlc_fourcc_t uncompressed_fourcc = 0;
/* audio */
unsigned int i_original_rate;
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4a41ddfed30e11ad912e50b44e64ad70c5b4b0b7...281d32189370c3ff70d36e277203bb252a170574
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4a41ddfed30e11ad912e50b44e64ad70c5b4b0b7...281d32189370c3ff70d36e277203bb252a170574
You're receiving this email because of your account on code.videolan.org.
More information about the vlc-commits
mailing list