Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Bœsch <u@pkh.me>2016-02-21 14:41:49 +0300
committerClément Bœsch <u@pkh.me>2016-02-26 23:53:34 +0300
commitfa2df3a40124bf1d0dc11999f5a578d40a29d553 (patch)
tree9870a6c2f8ad3c4ffa5cec1f133bce43fe420444 /libavfilter/vf_subtitles.c
parent6433618dc01cd0f38c590d741891d5ce508cfec7 (diff)
lavfi/ass: use ass_process_chunk() instead of ass_process_data()
Diffstat (limited to 'libavfilter/vf_subtitles.c')
-rw-r--r--libavfilter/vf_subtitles.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libavfilter/vf_subtitles.c b/libavfilter/vf_subtitles.c
index 63b22c3721..9e550022b2 100644
--- a/libavfilter/vf_subtitles.c
+++ b/libavfilter/vf_subtitles.c
@@ -393,6 +393,8 @@ static av_cold int init_subtitles(AVFilterContext *ctx)
}
if (ass->charenc)
av_dict_set(&codec_opts, "sub_charenc", ass->charenc, 0);
+ if (LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57,25,100))
+ av_dict_set(&codec_opts, "sub_text_format", "ass", 0);
ret = avcodec_open2(dec_ctx, dec, &codec_opts);
if (ret < 0)
goto end;
@@ -436,11 +438,17 @@ static av_cold int init_subtitles(AVFilterContext *ctx)
av_log(ctx, AV_LOG_WARNING, "Error decoding: %s (ignored)\n",
av_err2str(ret));
} else if (got_subtitle) {
+ const int64_t start_time = av_rescale_q(sub.pts, AV_TIME_BASE_Q, av_make_q(1, 1000));
+ const int64_t duration = sub.end_display_time;
for (i = 0; i < sub.num_rects; i++) {
char *ass_line = sub.rects[i]->ass;
if (!ass_line)
break;
- ass_process_data(ass->track, ass_line, strlen(ass_line));
+ if (LIBAVCODEC_VERSION_INT < AV_VERSION_INT(57,25,100))
+ ass_process_data(ass->track, ass_line, strlen(ass_line));
+ else
+ ass_process_chunk(ass->track, ass_line, strlen(ass_line),
+ start_time, duration);
}
}
}