On 10/22/2016 5:33 PM, James Almer wrote: > This avoids potential rounding errors and guarantees the source aspect > ratio is preserved. > Keep writing pixel values when Stereo 3D Mode is enabled and for WebM, > as the format doesn't support anything else. > > This fixes ticket #5743, implementing the suggestion from ticket #5903. > > Signed-off-by: James Almer <jamr...@gmail.com> > --- > libavformat/matroskaenc.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c > index 03d5326..5790fe1 100644 > --- a/libavformat/matroskaenc.c > +++ b/libavformat/matroskaenc.c > @@ -1193,8 +1193,19 @@ static int mkv_write_track(AVFormatContext *s, > MatroskaMuxContext *mkv, > return AVERROR(EINVAL); > } > if (d_width != par->width || display_width_div != 1 || > display_height_div != 1) { > - put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYWIDTH , d_width / > display_width_div); > - put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYHEIGHT, > par->height / display_height_div); > + if (mkv->mode == MODE_WEBM || display_width_div != 1 || > display_height_div != 1) { > + put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYWIDTH , > d_width / display_width_div); > + put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYHEIGHT, > par->height / display_height_div); > + } else { > + AVRational display_aspect_ratio; > + av_reduce(&display_aspect_ratio.num, > &display_aspect_ratio.den, > + par->width * > (int64_t)st->sample_aspect_ratio.num, > + par->height * > (int64_t)st->sample_aspect_ratio.den, > + 1024 * 1024); > + put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYWIDTH, > display_aspect_ratio.num); > + put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYHEIGHT, > display_aspect_ratio.den); > + put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYUNIT, > MATROSKA_VIDEO_DISPLAYUNIT_DAR); > + } > } > } else if (display_width_div != 1 || display_height_div != 1) { > put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYWIDTH , par->width / > display_width_div);
Ping. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel