Browse Source

Store aspect ratio in avis.

Originally committed as revision 12290 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Michael Niedermayer 18 years ago
parent
commit
5b08754912
1 changed files with 32 additions and 0 deletions
  1. +32
    -0
      libavformat/avienc.c

+ 32
- 0
libavformat/avienc.c View File

@@ -283,6 +283,38 @@ static int avi_write_header(AVFormatContext *s)
end_tag(pb, avi->indexes[i].indx_start);
}

if( stream->codec_type == CODEC_TYPE_VIDEO
&& stream->sample_aspect_ratio.num>0
&& stream->sample_aspect_ratio.den>0){
int vprp= start_tag(pb, "vprp");
AVRational dar = av_mul_q(stream->sample_aspect_ratio,
(AVRational){stream->width, stream->height});
int num, den;
av_reduce(&num, &den, dar.num, dar.den, 0xFFFF);

put_le32(pb, 0); //video format = unknown
put_le32(pb, 0); //video standard= unknown
put_le32(pb, lrintf(1.0/av_q2d(stream->time_base)));
put_le32(pb, stream->width );
put_le32(pb, stream->height);
put_le16(pb, num);
put_le16(pb, den);
put_le32(pb, stream->width );
put_le32(pb, stream->height);
put_le32(pb, 1); //progressive FIXME

put_le32(pb, stream->height);
put_le32(pb, stream->width );
put_le32(pb, stream->height);
put_le32(pb, stream->width );
put_le32(pb, 0);
put_le32(pb, 0);

put_le32(pb, 0);
put_le32(pb, 0);
end_tag(pb, vprp);
}

end_tag(pb, list2);
}



Loading…
Cancel
Save