mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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
This commit is contained in:
parent
40fe5019ef
commit
b015be2142
@ -747,6 +747,19 @@ static int mov_write_subtitle_tag(ByteIOContext *pb, MOVTrack *track)
|
|||||||
return updateSize(pb, pos);
|
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)
|
static int mov_write_video_tag(ByteIOContext *pb, MOVTrack *track)
|
||||||
{
|
{
|
||||||
int64_t pos = url_ftell(pb);
|
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)
|
} else if(track->vosLen > 0)
|
||||||
mov_write_glbl_tag(pb, track);
|
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);
|
return updateSize(pb, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user