[FFmpeg-cvslog] fftools/ffmpeg_filter: honor -reinit_filters 0 even on changed display matrix

Marton Balint git at videolan.org
Mon Jan 8 00:01:40 EET 2024


ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Fri Dec 29 16:33:30 2023 +0100| [324be730fce5d0e96bcdec9ec5d09551ec7ffd60] | committer: Marton Balint

fftools/ffmpeg_filter: honor -reinit_filters 0 even on changed display matrix

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>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=324be730fce5d0e96bcdec9ec5d09551ec7ffd60
---

 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 7b8d6a5a38..1a58ec278a 100644
--- a/fftools/ffmpeg_filter.c
+++ b/fftools/ffmpeg_filter.c
@@ -2622,13 +2622,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)))
@@ -2636,6 +2629,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)



More information about the ffmpeg-cvslog mailing list