You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
avfilter/vf_subtitles: pass storage size to libass
Due to a quirk of the ASS format some tags depend on the exact storage resolution of the video, so tell libass via ass_set_storage_size. Reviewed-by: Soft Works <softworkz@hotmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
@@ -147,9 +147,13 @@ static int config_input(AVFilterLink *inlink)
|
|||||||
ff_draw_init(&ass->draw, inlink->format, ass->alpha ? FF_DRAW_PROCESS_ALPHA : 0);
|
ff_draw_init(&ass->draw, inlink->format, ass->alpha ? FF_DRAW_PROCESS_ALPHA : 0);
|
||||||
|
|
||||||
ass_set_frame_size (ass->renderer, inlink->w, inlink->h);
|
ass_set_frame_size (ass->renderer, inlink->w, inlink->h);
|
||||||
if (ass->original_w && ass->original_h)
|
if (ass->original_w && ass->original_h) {
|
||||||
ass_set_pixel_aspect(ass->renderer, (double)inlink->w / inlink->h /
|
ass_set_pixel_aspect(ass->renderer, (double)inlink->w / inlink->h /
|
||||||
((double)ass->original_w / ass->original_h));
|
((double)ass->original_w / ass->original_h));
|
||||||
|
ass_set_storage_size(ass->renderer, ass->original_w, ass->original_h);
|
||||||
|
} else
|
||||||
|
ass_set_storage_size(ass->renderer, inlink->w, inlink->h);
|
||||||
|
|
||||||
if (ass->shaping != -1)
|
if (ass->shaping != -1)
|
||||||
ass_set_shaper(ass->renderer, ass->shaping);
|
ass_set_shaper(ass->renderer, ass->shaping);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user