Commit e5b99df0 authored by John Stebbins's avatar John Stebbins Committed by Philip Langdale

lavc/movtextdec: only write fontsize, fontID tags if not default

Signed-off-by: 's avatarPhilip Langdale <philipl@overt.org>
parent d3c012ff
...@@ -51,8 +51,9 @@ ...@@ -51,8 +51,9 @@
#define RGB_TO_BGR(c) (((c) & 0xff) << 16 | ((c) & 0xff00) | (((c) >> 16) & 0xff)) #define RGB_TO_BGR(c) (((c) & 0xff) << 16 | ((c) & 0xff00) | (((c) >> 16) & 0xff))
typedef struct { typedef struct {
uint16_t fontID;
char *font; char *font;
int fontsize; uint8_t fontsize;
int color; int color;
int back_color; int back_color;
uint8_t bold; uint8_t bold;
...@@ -146,7 +147,6 @@ static int mov_text_tx3g(AVCodecContext *avctx, MovTextContext *m) ...@@ -146,7 +147,6 @@ static int mov_text_tx3g(AVCodecContext *avctx, MovTextContext *m)
uint8_t *tx3g_ptr = avctx->extradata; uint8_t *tx3g_ptr = avctx->extradata;
int i, box_size, font_length; int i, box_size, font_length;
int8_t v_align, h_align; int8_t v_align, h_align;
int style_fontID;
StyleBox s_default; StyleBox s_default;
m->count_f = 0; m->count_f = 0;
...@@ -192,7 +192,7 @@ static int mov_text_tx3g(AVCodecContext *avctx, MovTextContext *m) ...@@ -192,7 +192,7 @@ static int mov_text_tx3g(AVCodecContext *avctx, MovTextContext *m)
// StyleRecord // StyleRecord
tx3g_ptr += 4; tx3g_ptr += 4;
// fontID // fontID
style_fontID = AV_RB16(tx3g_ptr); m->d.fontID = AV_RB16(tx3g_ptr);
tx3g_ptr += 2; tx3g_ptr += 2;
// face-style-flags // face-style-flags
s_default.style_flag = *tx3g_ptr++; s_default.style_flag = *tx3g_ptr++;
...@@ -252,7 +252,7 @@ static int mov_text_tx3g(AVCodecContext *avctx, MovTextContext *m) ...@@ -252,7 +252,7 @@ static int mov_text_tx3g(AVCodecContext *avctx, MovTextContext *m)
tx3g_ptr = tx3g_ptr + font_length; tx3g_ptr = tx3g_ptr + font_length;
} }
for (i = 0; i < m->ftab_entries; i++) { for (i = 0; i < m->ftab_entries; i++) {
if (style_fontID == m->ftab[i]->fontID) if (m->d.fontID == m->ftab[i]->fontID)
m->d.font = m->ftab[i]->font; m->d.font = m->ftab[i]->font;
} }
return 0; return 0;
...@@ -385,7 +385,9 @@ static int text_to_ass(AVBPrint *buf, const char *text, const char *text_end, ...@@ -385,7 +385,9 @@ static int text_to_ass(AVBPrint *buf, const char *text, const char *text_end,
av_bprintf(buf, "{\\i%d}", m->s[entry]->italic); av_bprintf(buf, "{\\i%d}", m->s[entry]->italic);
if (m->s[entry]->underline ^ m->d.underline) if (m->s[entry]->underline ^ m->d.underline)
av_bprintf(buf, "{\\u%d}", m->s[entry]->underline); av_bprintf(buf, "{\\u%d}", m->s[entry]->underline);
if (m->s[entry]->fontsize != m->d.fontsize)
av_bprintf(buf, "{\\fs%d}", m->s[entry]->fontsize); av_bprintf(buf, "{\\fs%d}", m->s[entry]->fontsize);
if (m->s[entry]->style_fontID != m->d.fontID)
for (i = 0; i < m->ftab_entries; i++) { for (i = 0; i < m->ftab_entries; i++) {
if (m->s[entry]->style_fontID == m->ftab[i]->fontID) if (m->s[entry]->style_fontID == m->ftab[i]->fontID)
av_bprintf(buf, "{\\fn%s}", m->ftab[i]->font); av_bprintf(buf, "{\\fn%s}", m->ftab[i]->font);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment