@ -55,9 +55,9 @@ typedef struct {
int fontsize ;
int color ;
int back_color ;
int bold ;
int italic ;
int underline ;
u int8_ t bold ;
u int8_ t italic ;
u int8_ t underline ;
int alignment ;
} MovTextDefault ;
@ -70,6 +70,9 @@ typedef struct {
uint16_t style_start ;
uint16_t style_end ;
uint8_t style_flag ;
uint8_t bold ;
uint8_t italic ;
uint8_t underline ;
uint8_t fontsize ;
uint16_t style_fontID ;
} StyleBox ;
@ -313,6 +316,9 @@ static int decode_styl(const uint8_t *tsmb, MovTextContext *m, AVPacket *avpkt)
m - > s_temp - > style_fontID = AV_RB16 ( tsmb ) ;
tsmb + = 2 ;
m - > s_temp - > style_flag = AV_RB8 ( tsmb ) ;
m - > s_temp - > bold = ! ! ( m - > s_temp - > style_flag & STYLE_FLAG_BOLD ) ;
m - > s_temp - > italic = ! ! ( m - > s_temp - > style_flag & STYLE_FLAG_ITALIC ) ;
m - > s_temp - > underline = ! ! ( m - > s_temp - > style_flag & STYLE_FLAG_UNDERLINE ) ;
tsmb + + ;
m - > s_temp - > fontsize = AV_RB8 ( tsmb ) ;
av_dynarray_add ( & m - > s , & m - > count_s , m - > s_temp ) ;
@ -373,12 +379,12 @@ static int text_to_ass(AVBPrint *buf, const char *text, const char *text_end,
if ( ( m - > box_flags & STYL_BOX ) & & entry < m - > style_entries ) {
if ( text_pos = = m - > s [ entry ] - > style_start ) {
style_active = 1 ;
if ( m - > s [ entry ] - > style_flag & STYLE_FLAG_BOLD )
av_bprintf ( buf , " { \\ b1} " ) ;
if ( m - > s [ entry ] - > style_flag & STYLE_FLAG_ITALIC )
av_bprintf ( buf , " { \\ i1} " ) ;
if ( m - > s [ entry ] - > style_flag & STYLE_FLAG_UNDERLINE )
av_bprintf ( buf , " { \\ u1} " ) ;
if ( m - > s [ entry ] - > bold ^ m - > d . bold )
av_bprintf ( buf , " { \\ b%d} " , m - > s [ entry ] - > bold ) ;
if ( m - > s [ entry ] - > italic ^ m - > d . italic )
av_bprintf ( buf , " { \\ i%d} " , m - > s [ entry ] - > italic ) ;
if ( m - > s [ entry ] - > underline ^ m - > d . underline )
av_bprintf ( buf , " { \\ u%d} " , m - > s [ entry ] - > underline ) ;
av_bprintf ( buf , " { \\ fs%d} " , m - > s [ entry ] - > fontsize ) ;
for ( i = 0 ; i < m - > ftab_entries ; i + + ) {
if ( m - > s [ entry ] - > style_fontID = = m - > ftab [ i ] - > fontID )