diff options
author | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-04-21 10:42:10 +0000 |
---|---|---|
committer | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-04-21 10:42:10 +0000 |
commit | d5f828f3479989465de4285565ed6e6a1217a256 (patch) | |
tree | eb46b49a1184816a9d888ee4a4c57c3c472dc382 /libass | |
parent | 36fcf863ead8ee4f1e9a95c2d825f5359b5cfad0 (diff) | |
download | mpv-d5f828f3479989465de4285565ed6e6a1217a256.tar.bz2 mpv-d5f828f3479989465de4285565ed6e6a1217a256.tar.xz |
Scale camera distance.
Otherwise perspective does not look the same in fullscreen.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23051 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass')
-rw-r--r-- | libass/ass_render.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c index 501cd73416..f0c62a66bb 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -1582,6 +1582,7 @@ static inline void transform_point_3d(double *a, double *m, double *b) * Result is returned in v. */ static inline void transform_vector_3d(FT_Vector* v, double *m) { + const double camera = 2500 * frame_context.border_scale; // camera distance double a[4], b[4]; a[0] = d6_to_double(v->x); a[1] = d6_to_double(v->y); @@ -1597,9 +1598,9 @@ static inline void transform_vector_3d(FT_Vector* v, double *m) { Camera is always located in (org_x, org_y, -2500). This means that different subtitle events can be displayed at the same time using different cameras. */ - b[0] *= 2500; - b[1] *= 2500; - b[3] = 8 * b[2] + 2500; + b[0] *= camera; + b[1] *= camera; + b[3] = 8 * b[2] + camera; if (b[3] < 0.001 && b[3] > -0.001) b[3] = b[3] < 0. ? -0.001 : 0.001; v->x = double_to_d6(b[0] / b[3]); |