Commit 98b01206 authored by Reimar Döffinger's avatar Reimar Döffinger

nuv: Fix playback of RTjpeg from current MythTV,

The previous validity check seems to work only for some
(presumably older) files, in current versions the first bytes
now contain the data size.
Signed-off-by: 's avatarReimar Döffinger <Reimar.Doeffinger@gmx.de>
parent e1bc0171
......@@ -191,8 +191,15 @@ retry:
}
if (c->codec_frameheader) {
int w, h, q, res;
if (buf_size < 12 || buf[0] != 'V') {
av_log(avctx, AV_LOG_ERROR, "invalid nuv video frame (wrong codec_tag?)\n");
if (buf_size < 12) {
av_log(avctx, AV_LOG_ERROR, "Too small NUV video frame\n");
return AVERROR_INVALIDDATA;
}
// There seem to exist two variants of this header: one starts with 'V'
// and 5 bytes unknown, the other matches current MythTV and is 4 bytes size,
// 1 byte header size (== 12), 1 byte version (== 0)
if (buf[0] != 'V' && AV_RL16(&buf[4]) != 0x000c) {
av_log(avctx, AV_LOG_ERROR, "Unknown secondary frame header (wrong codec_tag?)\n");
return AVERROR_INVALIDDATA;
}
w = AV_RL16(&buf[6]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment