mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-21 14:26:59 +00:00
lavc/movtextdec: only write fontsize, fontID tags if not default
Signed-off-by: Philip Langdale <philipl@overt.org>
This commit is contained in:
parent
d3c012ff42
commit
e5b99df096
@ -51,8 +51,9 @@
|
||||
#define RGB_TO_BGR(c) (((c) & 0xff) << 16 | ((c) & 0xff00) | (((c) >> 16) & 0xff))
|
||||
|
||||
typedef struct {
|
||||
uint16_t fontID;
|
||||
char *font;
|
||||
int fontsize;
|
||||
uint8_t fontsize;
|
||||
int color;
|
||||
int back_color;
|
||||
uint8_t bold;
|
||||
@ -146,7 +147,6 @@ static int mov_text_tx3g(AVCodecContext *avctx, MovTextContext *m)
|
||||
uint8_t *tx3g_ptr = avctx->extradata;
|
||||
int i, box_size, font_length;
|
||||
int8_t v_align, h_align;
|
||||
int style_fontID;
|
||||
StyleBox s_default;
|
||||
|
||||
m->count_f = 0;
|
||||
@ -192,7 +192,7 @@ static int mov_text_tx3g(AVCodecContext *avctx, MovTextContext *m)
|
||||
// StyleRecord
|
||||
tx3g_ptr += 4;
|
||||
// fontID
|
||||
style_fontID = AV_RB16(tx3g_ptr);
|
||||
m->d.fontID = AV_RB16(tx3g_ptr);
|
||||
tx3g_ptr += 2;
|
||||
// face-style-flags
|
||||
s_default.style_flag = *tx3g_ptr++;
|
||||
@ -252,7 +252,7 @@ static int mov_text_tx3g(AVCodecContext *avctx, MovTextContext *m)
|
||||
tx3g_ptr = tx3g_ptr + font_length;
|
||||
}
|
||||
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;
|
||||
}
|
||||
return 0;
|
||||
@ -385,11 +385,13 @@ static int text_to_ass(AVBPrint *buf, const char *text, const char *text_end,
|
||||
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)
|
||||
av_bprintf(buf, "{\\fn%s}", m->ftab[i]->font);
|
||||
}
|
||||
if (m->s[entry]->fontsize != m->d.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++) {
|
||||
if (m->s[entry]->style_fontID == m->ftab[i]->fontID)
|
||||
av_bprintf(buf, "{\\fn%s}", m->ftab[i]->font);
|
||||
}
|
||||
}
|
||||
if (text_pos == m->s[entry]->style_end) {
|
||||
if (style_active) {
|
||||
|
Loading…
Reference in New Issue
Block a user