diff --git a/fftools/ffmpeg_dec.c b/fftools/ffmpeg_dec.c index 3722a87bc5..85bf8dc536 100644 --- a/fftools/ffmpeg_dec.c +++ b/fftools/ffmpeg_dec.c @@ -509,6 +509,9 @@ static int transcode_subtitles(InputStream *ist, const AVPacket *pkt, return ret; } + frame->width = ist->dec_ctx->width; + frame->height = ist->dec_ctx->height; + ret = tq_send(d->queue_out, 0, frame); if (ret < 0) av_frame_unref(frame); diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index acc8596836..60e09866af 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -1791,6 +1791,9 @@ int ifilter_sub2video(InputFilter *ifilter, const AVFrame *frame) return av_buffersrc_add_frame(ifp->filter, NULL); } + ifp->width = frame->width ? frame->width : ifp->width; + ifp->height = frame->height ? frame->height : ifp->height; + sub2video_update(ifp, INT64_MIN, (const AVSubtitle*)frame->buf[0]->data); } else if (frame) { AVFrame *tmp = av_frame_clone(frame);