[vlc-commits] codec: ttml: fix double rebase (cell to percent)
Francois Cartegnie
git at videolan.org
Tue Dec 12 11:47:46 CET 2017
vlc/vlc-3.0 | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Mon Dec 11 15:33:43 2017 +0100| [41c7abb6d3c09d4e8ec527b58abda7aeb2ae5dbe] | committer: Francois Cartegnie
codec: ttml: fix double rebase (cell to percent)
(cherry picked from commit e2ba02c8d1e7974fb65fddffb7372b5081b3f558)
> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=41c7abb6d3c09d4e8ec527b58abda7aeb2ae5dbe
---
modules/codec/ttml/substtml.c | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/modules/codec/ttml/substtml.c b/modules/codec/ttml/substtml.c
index 9656aa7560..2feabd41db 100644
--- a/modules/codec/ttml/substtml.c
+++ b/modules/codec/ttml/substtml.c
@@ -215,8 +215,7 @@ static ttml_length_t ttml_read_length( const char *psz )
}
static ttml_length_t ttml_rebase_length( ttml_length_t value,
- ttml_length_t reference,
- unsigned i_cell_resolution )
+ ttml_length_t reference )
{
if( value.unit == TTML_UNIT_PERCENT )
{
@@ -225,7 +224,7 @@ static ttml_length_t ttml_rebase_length( ttml_length_t value,
}
else if( value.unit == TTML_UNIT_CELL )
{
- value.i_value *= reference.i_value / i_cell_resolution;
+ value.i_value *= reference.i_value;
value.unit = reference.unit;
}
// pixels as-is
@@ -353,7 +352,7 @@ static void FillTextStyle( const char *psz_attr, const char *psz_val,
}
static void FillRegionStyle( const char *psz_attr, const char *psz_val,
- ttml_context_t *p_ctx, ttml_region_t *p_region )
+ ttml_region_t *p_region )
{
if( !strcasecmp( "tts:displayAlign", psz_attr ) )
{
@@ -383,8 +382,8 @@ static void FillRegionStyle( const char *psz_attr, const char *psz_val,
if ( x.unit != TTML_UNIT_UNKNOWN && y.unit != TTML_UNIT_UNKNOWN )
{
ttml_length_t base = { 100.0, TTML_UNIT_PERCENT };
- x = ttml_rebase_length( x, base, p_ctx->i_cell_resolution_h );
- y = ttml_rebase_length( y, base, p_ctx->i_cell_resolution_v );
+ x = ttml_rebase_length( x, base );
+ y = ttml_rebase_length( y, base );
if( psz_attr[4] == 'o' )
{
p_region->updt.origin.x = x.i_value / 100.0;
@@ -435,8 +434,7 @@ static void ComputeTTMLStyles( ttml_context_t *p_ctx, const vlc_dictionary_t *p_
* Default value conversion must also not depend on attribute presence */
text_style_t *p_text_style = p_ttml_style->font_style;
ttml_length_t len = p_ttml_style->font_size;
- len = ttml_rebase_length( len, p_ctx->root_extent_h,
- p_ctx->i_cell_resolution_v );
+ len = ttml_rebase_length( len, p_ctx->root_extent_h );
if( len.unit == TTML_UNIT_CELL )
p_text_style->f_font_relsize = 100.0 * len.i_value /
(p_ctx->i_cell_resolution_v / TTML_LINE_TO_HEIGHT_RATIO);
@@ -743,7 +741,7 @@ static ttml_region_t *GetTTMLRegion( ttml_context_t *p_ctx, const char *psz_regi
p_entry != NULL; p_entry = p_entry->p_next )
{
FillRegionStyle( p_entry->psz_key, p_entry->p_value,
- p_ctx, p_region );
+ p_region );
}
}
}
More information about the vlc-commits
mailing list