mirror of https://git.ffmpeg.org/ffmpeg.git
drawtext: Move the strftime expansion in a separate function
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
parent
fe026ba960
commit
98c9ade985
|
@ -521,23 +521,10 @@ static inline int is_newline(uint32_t c)
|
||||||
return c == '\n' || c == '\r' || c == '\f' || c == '\v';
|
return c == '\n' || c == '\r' || c == '\f' || c == '\v';
|
||||||
}
|
}
|
||||||
|
|
||||||
static int dtext_prepare_text(AVFilterContext *ctx)
|
static int expand_strftime(DrawTextContext *s)
|
||||||
{
|
{
|
||||||
DrawTextContext *s = ctx->priv;
|
|
||||||
uint32_t code = 0, prev_code = 0;
|
|
||||||
int x = 0, y = 0, i = 0, ret;
|
|
||||||
int text_height, baseline;
|
|
||||||
char *text = s->text;
|
|
||||||
uint8_t *p;
|
|
||||||
int str_w = 0, len;
|
|
||||||
int y_min = 32000, y_max = -32000;
|
|
||||||
FT_Vector delta;
|
|
||||||
Glyph *glyph = NULL, *prev_glyph = NULL;
|
|
||||||
Glyph dummy = { 0 };
|
|
||||||
int width = ctx->inputs[0]->w;
|
|
||||||
int height = ctx->inputs[0]->h;
|
|
||||||
time_t now = time(0);
|
|
||||||
struct tm ltime;
|
struct tm ltime;
|
||||||
|
time_t now = time(0);
|
||||||
uint8_t *buf = s->expanded_text;
|
uint8_t *buf = s->expanded_text;
|
||||||
int buf_size = s->expanded_text_size;
|
int buf_size = s->expanded_text_size;
|
||||||
|
|
||||||
|
@ -555,9 +542,34 @@ static int dtext_prepare_text(AVFilterContext *ctx)
|
||||||
|
|
||||||
if (!buf)
|
if (!buf)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
text = s->expanded_text = buf;
|
s->expanded_text = buf;
|
||||||
s->expanded_text_size = buf_size;
|
s->expanded_text_size = buf_size;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int dtext_prepare_text(AVFilterContext *ctx)
|
||||||
|
{
|
||||||
|
DrawTextContext *s = ctx->priv;
|
||||||
|
uint32_t code = 0, prev_code = 0;
|
||||||
|
int x = 0, y = 0, i = 0, ret;
|
||||||
|
int text_height, baseline;
|
||||||
|
char *text;
|
||||||
|
uint8_t *p;
|
||||||
|
int str_w = 0, len;
|
||||||
|
int y_min = 32000, y_max = -32000;
|
||||||
|
FT_Vector delta;
|
||||||
|
Glyph *glyph = NULL, *prev_glyph = NULL;
|
||||||
|
Glyph dummy = { 0 };
|
||||||
|
int width = ctx->inputs[0]->w;
|
||||||
|
int height = ctx->inputs[0]->h;
|
||||||
|
|
||||||
|
ret = expand_strftime(s);
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
text = s->expanded_text ? s->expanded_text : s->text;
|
||||||
|
|
||||||
if ((len = strlen(text)) > s->nb_positions) {
|
if ((len = strlen(text)) > s->nb_positions) {
|
||||||
FT_Vector *p = av_realloc(s->positions,
|
FT_Vector *p = av_realloc(s->positions,
|
||||||
len * sizeof(*s->positions));
|
len * sizeof(*s->positions));
|
||||||
|
|
Loading…
Reference in New Issue