Commit 6a514c2f authored by aurel's avatar aurel

matroska: properly handle real video extradata

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@7128 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent b6ba3364
...@@ -2193,6 +2193,7 @@ matroska_read_header (AVFormatContext *s, ...@@ -2193,6 +2193,7 @@ matroska_read_header (AVFormatContext *s,
enum CodecID codec_id = CODEC_ID_NONE; enum CodecID codec_id = CODEC_ID_NONE;
uint8_t *extradata = NULL; uint8_t *extradata = NULL;
int extradata_size = 0; int extradata_size = 0;
int extradata_offset = 0;
track = matroska->tracks[i]; track = matroska->tracks[i];
/* libavformat does not really support subtitles. /* libavformat does not really support subtitles.
...@@ -2262,6 +2263,12 @@ matroska_read_header (AVFormatContext *s, ...@@ -2262,6 +2263,12 @@ matroska_read_header (AVFormatContext *s,
} }
} }
else if (codec_id == CODEC_ID_RV10 || codec_id == CODEC_ID_RV20 ||
codec_id == CODEC_ID_RV30 || codec_id == CODEC_ID_RV40) {
extradata_offset = 26;
track->codec_priv_size -= extradata_offset;
}
if (codec_id == CODEC_ID_NONE) { if (codec_id == CODEC_ID_NONE) {
av_log(matroska->ctx, AV_LOG_INFO, av_log(matroska->ctx, AV_LOG_INFO,
"Unknown/unsupported CodecID %s.\n", "Unknown/unsupported CodecID %s.\n",
...@@ -2290,7 +2297,7 @@ matroska_read_header (AVFormatContext *s, ...@@ -2290,7 +2297,7 @@ matroska_read_header (AVFormatContext *s,
if(st->codec->extradata == NULL) if(st->codec->extradata == NULL)
return AVERROR_NOMEM; return AVERROR_NOMEM;
st->codec->extradata_size = track->codec_priv_size; st->codec->extradata_size = track->codec_priv_size;
memcpy(st->codec->extradata, track->codec_priv, memcpy(st->codec->extradata,track->codec_priv+extradata_offset,
track->codec_priv_size); track->codec_priv_size);
} }
......
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