[FFmpeg-devel] [PATCH 07/23] lavc/movtextdec: add alpha default to ass header colors
Philip Langdale
philipl at overt.org
Tue Apr 7 02:59:22 EEST 2020
On Mon, 6 Apr 2020 11:52:02 -0600
John Stebbins <jstebbins at jetheaddev.com> wrote:
> ---
> libavcodec/movtextdec.c | 14 ++++++++++----
> tests/ref/fate/sub-movtext | 2 +-
> 2 files changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/libavcodec/movtextdec.c b/libavcodec/movtextdec.c
> index 2481c71af6..eb9c7f5755 100644
> --- a/libavcodec/movtextdec.c
> +++ b/libavcodec/movtextdec.c
> @@ -55,7 +55,9 @@ typedef struct {
> const char *font;
> uint8_t fontsize;
> int color;
> + uint8_t alpha;
> int back_color;
> + uint8_t back_alpha;
> uint8_t bold;
> uint8_t italic;
> uint8_t underline;
> @@ -186,7 +188,9 @@ static int mov_text_tx3g(AVCodecContext *avctx,
> MovTextContext *m) }
> // Background Color
> m->d.back_color = AV_RB24(tx3g_ptr);
> - tx3g_ptr += 4;
> + tx3g_ptr += 3;
> + m->d.back_alpha = AV_RB8(tx3g_ptr);
> + tx3g_ptr += 1;
> // BoxRecord
> tx3g_ptr += 8;
> // StyleRecord
> @@ -203,7 +207,9 @@ static int mov_text_tx3g(AVCodecContext *avctx,
> MovTextContext *m) m->d.fontsize = *tx3g_ptr++;
> // Primary color
> m->d.color = AV_RB24(tx3g_ptr);
> - tx3g_ptr += 4;
> + tx3g_ptr += 3;
> + m->d.alpha = AV_RB8(tx3g_ptr);
> + tx3g_ptr += 1;
> // FontRecord
> // FontRecord Size
> tx3g_ptr += 4;
> @@ -463,8 +469,8 @@ static int mov_text_init(AVCodecContext *avctx) {
> ret = mov_text_tx3g(avctx, m);
> if (ret == 0) {
> return ff_ass_subtitle_header(avctx, m->d.font,
> m->d.fontsize,
> - RGB_TO_BGR(m->d.color),
> - RGB_TO_BGR(m->d.back_color),
> + (255 - m->d.alpha) << 24 |
> RGB_TO_BGR(m->d.color),
> + (255 - m->d.back_alpha) << 24 |
> RGB_TO_BGR(m->d.back_color), m->d.bold, m->d.italic, m->d.underline,
> ASS_DEFAULT_BORDERSTYLE, m->d.alignment);
> } else
> diff --git a/tests/ref/fate/sub-movtext b/tests/ref/fate/sub-movtext
> index 94ed22d318..6047060918 100644
> --- a/tests/ref/fate/sub-movtext
> +++ b/tests/ref/fate/sub-movtext
> @@ -6,7 +6,7 @@ PlayResY: 288
>
> [V4+ Styles]
> Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour,
> OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut,
> ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow,
> Alignment, MarginL, MarginR, MarginV, Encoding -Style:
> Default,Serif,18,&Hffffff,&Hffffff,&H0,&H0,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,0
> +Style:
> Default,Serif,18,&Hffffff,&Hffffff,&Hff000000,&Hff000000,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,0
> [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR,
> MarginV, Effect, Text
LGTM.
--phil
More information about the ffmpeg-devel
mailing list