From: Michael Niedermayer <mich...@niedermayer.cc> This theoretically is faster and might be useful on some low end embeded systems Inspired-by: Compns reply Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> --- ffplay.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/ffplay.c b/ffplay.c index cc61dde..dee8596 100644 --- a/ffplay.c +++ b/ffplay.c @@ -346,6 +346,7 @@ static int nb_vfilters = 0; static char *afilters = NULL; #endif static int autorotate = 1; +static int scale_subtitlies = 1; /* current context */ static int is_full_screen; @@ -2178,12 +2179,17 @@ static int subtitle_thread(void *arg) { int in_w = sp->sub.rects[i]->w; int in_h = sp->sub.rects[i]->h; - int subw = is->subdec.avctx->width ? is->subdec.avctx->width : is->viddec_width; - int subh = is->subdec.avctx->height ? is->subdec.avctx->height : is->viddec_height; - int out_w = is->viddec_width ? in_w * is->viddec_width / subw : in_w; - int out_h = is->viddec_height ? in_h * is->viddec_height / subh : in_h; + int subw = is->subdec.avctx->width; + int subh = is->subdec.avctx->height; + int out_w = in_w; + int out_h = in_h; AVPicture newpic; + if (subw && subh && is->viddec_width && is->viddec_height && scale_subtitlies) { + out_w = in_w * is->viddec_width / subw; + out_h = in_h * is->viddec_height / subh; + } + //can not use avpicture_alloc as it is not compatible with avsubtitle_free() av_image_fill_linesizes(newpic.linesize, AV_PIX_FMT_YUVA420P, out_w); newpic.data[0] = av_malloc(newpic.linesize[0] * out_h); @@ -3586,6 +3592,7 @@ static const OptionDef options[] = { { "scodec", HAS_ARG | OPT_STRING | OPT_EXPERT, { &subtitle_codec_name }, "force subtitle decoder", "decoder_name" }, { "vcodec", HAS_ARG | OPT_STRING | OPT_EXPERT, { &video_codec_name }, "force video decoder", "decoder_name" }, { "autorotate", OPT_BOOL, { &autorotate }, "automatically rotate video", "" }, + { "scale_subtitlies", OPT_BOOL, { &scale_subtitlies }, "rescale subtitles depending on video size", "" }, { NULL, }, }; -- 1.7.9.5 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel