# HG changeset patch # User greg # Date 1265736984 0 # Node ID 595410bd114eaf27cecdae054ee4e78f1b55af9f # Parent c529adc9c384ee12bc74a4699eb3fd729b7f60d0 libass: fix PAR correction diff -r c529adc9c384 -r 595410bd114e libmpcodecs/vf_ass.c --- a/libmpcodecs/vf_ass.c Tue Feb 09 08:46:07 2010 +0000 +++ b/libmpcodecs/vf_ass.c Tue Feb 09 17:36:24 2010 +0000 @@ -95,9 +95,9 @@ if (vf->priv->ass_priv) { ass_configure(vf->priv->ass_priv, vf->priv->outw, vf->priv->outh, 0); #if defined(LIBASS_VERSION) && LIBASS_VERSION >= 0x00908000 - ass_set_aspect_ratio(vf->priv->ass_priv, ((double)d_width) / d_height, ((double)width) / height); + ass_set_aspect_ratio(vf->priv->ass_priv, 1, 1); #else - ass_set_aspect_ratio(vf->priv->ass_priv, ((double)d_width) / d_height); + ass_set_aspect_ratio(vf->priv->ass_priv, 1); #endif } diff -r c529adc9c384 -r 595410bd114e libmpcodecs/vf_vo.c --- a/libmpcodecs/vf_vo.c Tue Feb 09 08:46:07 2010 +0000 +++ b/libmpcodecs/vf_vo.c Tue Feb 09 17:36:24 2010 +0000 @@ -148,10 +148,11 @@ mp_eosd_res_t res; memset(&res, 0, sizeof(res)); if (video_out->control(VOCTRL_GET_EOSD_RES, &res) == VO_TRUE) { + double dar = (double) (res.w - res.ml - res.mr) / (res.h - res.mt - res.mb); ass_set_frame_size(vf->priv->ass_priv, res.w, res.h); ass_set_margins(vf->priv->ass_priv, res.mt, res.mb, res.ml, res.mr); #if defined(LIBASS_VERSION) && LIBASS_VERSION >= 0x00908000 - ass_set_aspect_ratio(vf->priv->ass_priv, (double)res.w / res.h, (double)res.srcw/res.srch); + ass_set_aspect_ratio(vf->priv->ass_priv, dar, (double)res.srcw/res.srch); #else ass_set_aspect_ratio(vf->priv->ass_priv, (double)res.w / res.h); #endif