Răsfoiți Sursa

fftools/ffmpeg_filter: also remove display matrix side data from buffered frames

Some frames may be buffered before a complex filtergraph can be configured.
This change ensures the side data removal in the cases where autorotation is
enabled also applies to them.

Fixes ticket #11487

Signed-off-by: James Almer <jamrial@gmail.com>
James Almer 8 luni în urmă
părinte
comite
01f63ef0b4
1 a modificat fișierele cu 4 adăugiri și 0 ștergeri
  1. 4 0
      fftools/ffmpeg_filter.c

+ 4 - 0
fftools/ffmpeg_filter.c

@@ -2041,6 +2041,10 @@ static int configure_filtergraph(FilterGraph *fg, FilterGraphThread *fgt)
             if (ifp->type_src == AVMEDIA_TYPE_SUBTITLE) {
                 sub2video_frame(&ifp->ifilter, tmp, !fgt->graph);
             } else {
+                if (ifp->type_src == AVMEDIA_TYPE_VIDEO) {
+                    if (ifp->displaymatrix_applied)
+                        av_frame_remove_side_data(tmp, AV_FRAME_DATA_DISPLAYMATRIX);
+                }
                 ret = av_buffersrc_add_frame(ifp->filter, tmp);
             }
             av_frame_free(&tmp);