Skip to content
Snippets Groups Projects
Commit 2c5ad5fd authored by Baptiste Coudurier's avatar Baptiste Coudurier
Browse files

use correct tag for h263 in mov

Originally committed as revision 5953 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 87494ea0
Branches
Tags
No related merge requests found
...@@ -532,6 +532,7 @@ static const CodecTag codec_movvideo_tags[] = { ...@@ -532,6 +532,7 @@ static const CodecTag codec_movvideo_tags[] = {
{ CODEC_ID_SVQ1, MKTAG('S', 'V', 'Q', '1') }, { CODEC_ID_SVQ1, MKTAG('S', 'V', 'Q', '1') },
{ CODEC_ID_SVQ3, MKTAG('S', 'V', 'Q', '3') }, { CODEC_ID_SVQ3, MKTAG('S', 'V', 'Q', '3') },
{ CODEC_ID_MPEG4, MKTAG('m', 'p', '4', 'v') }, { CODEC_ID_MPEG4, MKTAG('m', 'p', '4', 'v') },
{ CODEC_ID_H263, MKTAG('h', '2', '6', '3') },
{ CODEC_ID_H263, MKTAG('s', '2', '6', '3') }, { CODEC_ID_H263, MKTAG('s', '2', '6', '3') },
{ CODEC_ID_H264, MKTAG('a', 'v', 'c', '1') }, { CODEC_ID_H264, MKTAG('a', 'v', 'c', '1') },
/* special handling in mov_find_video_codec_tag */ /* special handling in mov_find_video_codec_tag */
...@@ -561,6 +562,11 @@ static int mov_find_video_codec_tag(AVFormatContext *s, MOVTrack *track) ...@@ -561,6 +562,11 @@ static int mov_find_video_codec_tag(AVFormatContext *s, MOVTrack *track)
else else
tag = MKTAG('d', 'v', 'p', 'p'); tag = MKTAG('d', 'v', 'p', 'p');
} }
} else if (track->enc->codec_id == CODEC_ID_H263) {
if (track->mode == MODE_MOV)
tag = MKTAG('h', '2', '6', '3');
else
tag = MKTAG('s', '2', '6', '3');
} else { } else {
tag = codec_get_tag(codec_movvideo_tags, track->enc->codec_id); tag = codec_get_tag(codec_movvideo_tags, track->enc->codec_id);
} }
...@@ -1461,6 +1467,8 @@ static int mov_write_header(AVFormatContext *s) ...@@ -1461,6 +1467,8 @@ static int mov_write_header(AVFormatContext *s)
MOVTrack *track= &mov->tracks[i]; MOVTrack *track= &mov->tracks[i];
track->enc = st->codec; track->enc = st->codec;
track->language = ff_mov_iso639_to_lang(st->language, mov->mode != MODE_MOV);
track->mode = mov->mode;
if(st->codec->codec_type == CODEC_TYPE_VIDEO){ if(st->codec->codec_type == CODEC_TYPE_VIDEO){
track->tag = mov_find_video_codec_tag(s, track); track->tag = mov_find_video_codec_tag(s, track);
av_set_pts_info(st, 64, 1, st->codec->time_base.den); av_set_pts_info(st, 64, 1, st->codec->time_base.den);
...@@ -1469,8 +1477,6 @@ static int mov_write_header(AVFormatContext *s) ...@@ -1469,8 +1477,6 @@ static int mov_write_header(AVFormatContext *s)
av_set_pts_info(st, 64, 1, st->codec->sample_rate); av_set_pts_info(st, 64, 1, st->codec->sample_rate);
track->sampleSize = (av_get_bits_per_sample(st->codec->codec_id) >> 3) * st->codec->channels; track->sampleSize = (av_get_bits_per_sample(st->codec->codec_id) >> 3) * st->codec->channels;
} }
track->language = ff_mov_iso639_to_lang(st->language, mov->mode != MODE_MOV);
track->mode = mov->mode;
} }
mov_write_mdat_tag(pb, mov); mov_write_mdat_tag(pb, mov);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment