mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
avformat/matroskaenc: wrap V_QUICKTIME codec private in something that looks like its part of quicktime stsd
This is needed for matroska spec compliance Fixes playback of SVQ3 in matroska with vlc Fixes Ticket 3256 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
da25a6573f
commit
8456bd2c0f
@ -548,8 +548,18 @@ static int mkv_write_codecprivate(AVFormatContext *s, AVIOContext *pb, AVCodecCo
|
||||
if (qt_id) {
|
||||
if (!codec->codec_tag)
|
||||
codec->codec_tag = ff_codec_get_tag(ff_codec_movvideo_tags, codec->codec_id);
|
||||
if (codec->extradata_size)
|
||||
if (codec->extradata_size) {
|
||||
if ( ff_codec_get_id(ff_codec_movvideo_tags, codec->codec_tag) == codec->codec_id
|
||||
&& ff_codec_get_id(ff_codec_movvideo_tags, AV_RL32(codec->extradata+4)) != codec->codec_id
|
||||
) {
|
||||
int i;
|
||||
avio_wb32(dyn_cp, 0x5a + codec->extradata_size);
|
||||
avio_wl32(dyn_cp, codec->codec_tag);
|
||||
for(i=0; i<0x5a-8; i++)
|
||||
avio_w8(dyn_cp, 0);
|
||||
}
|
||||
avio_write(dyn_cp, codec->extradata, codec->extradata_size);
|
||||
}
|
||||
} else {
|
||||
if (!ff_codec_get_tag(ff_codec_bmp_tags, codec->codec_id))
|
||||
av_log(s, AV_LOG_WARNING, "codec %s is not supported by this format\n",
|
||||
|
Loading…
x
Reference in New Issue
Block a user