Opened 5 months ago

Closed 4 months ago

#6960 closed defect (fixed)

In drawtext filter, option fix_bounds does not do anything

Reported by: Gyan Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords: drawtext
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


Summary of the bug:

The boolean option fix_bounds in the drawtext filter does not bound the text when enabled.

How to reproduce:

% ffplay -f lavfi "color,drawtext=fontfile=/path/to/font:fontcolor=white:x=-100:y=-100:fix_bounds=1:text='Can you see me now?'"

The no-op commit e496c45 from Libav introduced an option which allowed the user to relocate text to fit within the frame if it was going out of bounds.

For some reason, when the merge commit b479e01 was applied, the option was added but the code fragment (shown below) which implemented it, was not. So the option was dead on arrival, and has remained impotent.

    if (dtext->fix_bounds) {
        if (dtext->x < 0) dtext->x = 0;
        if (dtext->y < 0) dtext->y = 0;
        if ((unsigned)dtext->x + (unsigned)dtext->w > inlink->w)
            dtext->x = inlink->w - dtext->w;
        if ((unsigned)dtext->y + (unsigned)dtext->h > inlink->h)
            dtext->y = inlink->h - dtext->h;

Patch sent to ffmpeg-devel with new implementation that respects the text styling elements like shadow or box. Default value changed to false so that filter outcome doesn't change in existing scripts.

Change History (2)

comment:1 Changed 5 months ago by Gyan

  • Summary changed from In drawtext filter,option fix_bounds does not do anything to In drawtext filter, option fix_bounds does not do anything

comment:2 Changed 4 months ago by cehoyos

  • Keywords drawtext added
  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.