vf_drawtext: drop text wrapping feature
Or in other word, do not go to the next line when the text cannot be rendered within the frame. The rationale is that wrapping is hard to manage, as it depends on the position of the text, thus making hard/impossible to compute the size occupied by the rendered text, and makes the filter behavior unpredictible with moving text (implemented in a pending patch). Also the current wrapping code is very limited (for example it splits words in the middle), and correctly handling wrapping requires much more complexity (alignment, gravity, word parsing etc.), while drawtext is meant to be only a thin wrapper around libfreetype, so such advanced features don't belong here.
This commit is contained in:
parent
d7d587db62
commit
163854bca0
@ -30,7 +30,7 @@
|
||||
|
||||
#define LIBAVFILTER_VERSION_MAJOR 2
|
||||
#define LIBAVFILTER_VERSION_MINOR 43
|
||||
#define LIBAVFILTER_VERSION_MICRO 3
|
||||
#define LIBAVFILTER_VERSION_MICRO 4
|
||||
|
||||
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
||||
LIBAVFILTER_VERSION_MINOR, \
|
||||
|
@ -654,12 +654,6 @@ static int draw_text(AVFilterContext *ctx, AVFilterBufferRef *picref,
|
||||
x += delta.x >> 6;
|
||||
}
|
||||
|
||||
if (x + glyph->bbox.xMax >= width) {
|
||||
str_w = FFMAX(str_w, x - dtext->x);
|
||||
y += text_height;
|
||||
x = dtext->x;
|
||||
}
|
||||
|
||||
/* save position */
|
||||
dtext->positions[i].x = x + glyph->bitmap_left;
|
||||
dtext->positions[i].y = y - glyph->bitmap_top + y_max;
|
||||
|
Loading…
Reference in New Issue
Block a user