[FFmpeg-devel] [PATCH 2/3] fftools/ffmpeg_filter: honor -reinit_filters 0 even on changed display matrix
Marton Balint
cus at passwd.hu
Fri Dec 29 20:50:58 EET 2023
Not sure about honoring it also in case of a hwaccel change, so left that as is
for now.
Signed-off-by: Marton Balint <cus at passwd.hu>
---
fftools/ffmpeg_filter.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
index c1c3014453..680fffb060 100644
--- a/fftools/ffmpeg_filter.c
+++ b/fftools/ffmpeg_filter.c
@@ -2607,13 +2607,6 @@ static int send_frame(FilterGraph *fg, FilterGraphThread *fgt,
break;
}
- if (!ifp->ist->reinit_filters && fgt->graph)
- need_reinit = 0;
-
- if (!!ifp->hw_frames_ctx != !!frame->hw_frames_ctx ||
- (ifp->hw_frames_ctx && ifp->hw_frames_ctx->data != frame->hw_frames_ctx->data))
- need_reinit = 1;
-
if (sd = av_frame_get_side_data(frame, AV_FRAME_DATA_DISPLAYMATRIX)) {
if (!ifp->displaymatrix_present ||
memcmp(sd->data, ifp->displaymatrix, sizeof(ifp->displaymatrix)))
@@ -2621,6 +2614,13 @@ static int send_frame(FilterGraph *fg, FilterGraphThread *fgt,
} else if (ifp->displaymatrix_present)
need_reinit = 1;
+ if (!ifp->ist->reinit_filters && fgt->graph)
+ need_reinit = 0;
+
+ if (!!ifp->hw_frames_ctx != !!frame->hw_frames_ctx ||
+ (ifp->hw_frames_ctx && ifp->hw_frames_ctx->data != frame->hw_frames_ctx->data))
+ need_reinit = 1;
+
if (need_reinit) {
ret = ifilter_parameters_from_frame(ifilter, frame);
if (ret < 0)
--
2.35.3
More information about the ffmpeg-devel
mailing list