summaryrefslogtreecommitdiffstats
path: root/libass/ass_render_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_render_api.c')
-rw-r--r--libass/ass_render_api.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/libass/ass_render_api.c b/libass/ass_render_api.c
index babc442..80af81f 100644
--- a/libass/ass_render_api.c
+++ b/libass/ass_render_api.c
@@ -57,26 +57,16 @@ void ass_set_frame_size(ASS_Renderer *priv, int w, int h)
if (priv->settings.frame_width != w || priv->settings.frame_height != h) {
priv->settings.frame_width = w;
priv->settings.frame_height = h;
- if (priv->settings.aspect == 0.)
- priv->settings.aspect = ((double) w) / h;
- if (priv->settings.storage_aspect == 0.)
- priv->settings.storage_aspect = ((double) w) / h;
ass_reconfigure(priv);
}
}
void ass_set_storage_size(ASS_Renderer *priv, int w, int h)
{
- if (!w || !h) {
- ass_msg(priv->library, MSGL_WARN,
- "ass_set_storage_size: ignoring zero storage dimensions");
- return;
- }
if (priv->settings.storage_width != w ||
priv->settings.storage_height != h) {
priv->settings.storage_width = w;
priv->settings.storage_height = h;
- priv->settings.storage_aspect = ((double) w) / h;
ass_reconfigure(priv);
}
}
@@ -111,9 +101,9 @@ void ass_set_use_margins(ASS_Renderer *priv, int use)
void ass_set_aspect_ratio(ASS_Renderer *priv, double dar, double sar)
{
- if (priv->settings.aspect != dar || priv->settings.storage_aspect != sar) {
- priv->settings.aspect = dar;
- priv->settings.storage_aspect = sar;
+ double par = dar / sar;
+ if (priv->settings.par != par) {
+ priv->settings.par = par;
ass_reconfigure(priv);
}
}