[FFmpeg-cvslog] fftools/ffmpeg: pass subtitle decoder dimensions to sub2video
Anton Khirnov
git at videolan.org
Mon Jun 19 12:11:36 EEST 2023
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Wed Jun 14 18:34:57 2023 +0200| [1617d1a752d5e97d5e74f6c384609c027c884553] | committer: Anton Khirnov
fftools/ffmpeg: pass subtitle decoder dimensions to sub2video
Restores behavior from before 20cacfe4936a8d5b643421b5ca93bb098f6b76dd.
Eventually this should be handled similarly to audio/video - with a
filtergraph reset or a manual scaler.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1617d1a752d5e97d5e74f6c384609c027c884553
---
fftools/ffmpeg_dec.c | 3 +++
fftools/ffmpeg_filter.c | 3 +++
2 files changed, 6 insertions(+)
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);
More information about the ffmpeg-cvslog
mailing list