In mov muxer, write pixel aspect ratio tag in mov files.

Based on a patch by Daniel Kristjansson, danielk at cuymedia dot net

Originally committed as revision 24124 to svn://svn.ffmpeg.org/ffmpeg/trunk
oldabi
Baptiste Coudurier 15 years ago
parent 40fe5019ef
commit b015be2142
  1. 19
      libavformat/movenc.c

@ -747,6 +747,19 @@ static int mov_write_subtitle_tag(ByteIOContext *pb, MOVTrack *track)
return updateSize(pb, pos);
}
static int mov_write_pasp_tag(ByteIOContext *pb, MOVTrack *track)
{
AVRational sar;
av_reduce(&sar.num, &sar.den, track->enc->sample_aspect_ratio.num,
track->enc->sample_aspect_ratio.den, INT_MAX);
put_be32(pb, 16);
put_tag(pb, "pasp");
put_be32(pb, track->enc->sample_aspect_ratio.num);
put_be32(pb, track->enc->sample_aspect_ratio.den);
return 16;
}
static int mov_write_video_tag(ByteIOContext *pb, MOVTrack *track)
{
int64_t pos = url_ftell(pb);
@ -808,6 +821,12 @@ static int mov_write_video_tag(ByteIOContext *pb, MOVTrack *track)
} else if(track->vosLen > 0)
mov_write_glbl_tag(pb, track);
if (track->mode == MODE_MOV &&
track->enc->sample_aspect_ratio.den && track->enc->sample_aspect_ratio.num &&
track->enc->sample_aspect_ratio.den != track->enc->sample_aspect_ratio.num) {
mov_write_pasp_tag(pb, track);
}
return updateSize(pb, pos);
}

Loading…
Cancel
Save