[vlc-commits] [Git][videolan/vlc][master] codec: libass: pass storage size to libass
    Jean-Baptiste Kempf (@jbk) 
    gitlab at videolan.org
       
    Thu Apr  7 20:37:16 UTC 2022
    
    
  
Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC
Commits:
2608eb5c by Oneric at 2022-04-07T20:22:24+00:00
codec: libass: pass storage size to libass
Due to a quirk in the ASS format some tags do depend on the exact
storage size of the video not just the pixel aspect ratio, so tell
libass via ass_set_storage_size to achieve correct rendering.
For ASS, storage size refers to the size the video is encoded in (stored
at) with codec-level crop applied; further transforms like e.g.
anamorphic de-squeezing or container-level crop must not be applied.
This matches the used fmt_src values despite them being named
visible_{width,height} and the existing PAR calculation already relies
on this.
Fixes https://code.videolan.org/videolan/vlc/-/issues/26634
- - - - -
1 changed file:
- modules/codec/libass.c
Changes:
=====================================
modules/codec/libass.c
=====================================
@@ -436,6 +436,9 @@ static int SubpictureValidate( subpicture_t *p_subpic,
     if( b_fmt_src || b_fmt_dst )
     {
         ass_set_frame_size( p_sys->p_renderer, fmt.i_visible_width, fmt.i_visible_height );
+#if LIBASS_VERSION > 0x01010000
+        ass_set_storage_size( p_sys->p_renderer, p_fmt_src->i_visible_width, p_fmt_src->i_visible_height );
+#endif
         const double src_ratio = (double)p_fmt_src->i_visible_width / p_fmt_src->i_visible_height;
         const double dst_ratio = (double)p_fmt_dst->i_visible_width / p_fmt_dst->i_visible_height;
         ass_set_aspect_ratio( p_sys->p_renderer, dst_ratio / src_ratio, 1 );
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/2608eb5c82d82c209126d5d1af0dcfe48b6b9cee
-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/2608eb5c82d82c209126d5d1af0dcfe48b6b9cee
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
    
    
More information about the vlc-commits
mailing list