[FFmpeg-devel] [PATCH 2/2] avfilter/vf_uspp: Fix leak of packet side data

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Fri Mar 12 16:24:07 EET 2021


The uspp filter uses a special option ("no_bitstream") of
the Snow encoder to suppress it from generating output.
The filter therefore did not unref the packet after usage,
believing it to be blank. But this is wrong, as the Snow encoder
attaches quality stats side data to the packet.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
If there were a fate test for this filter, this would have been found
and fixed long ago.

 libavfilter/vf_uspp.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavfilter/vf_uspp.c b/libavfilter/vf_uspp.c
index b77edeb244..523e47c811 100644
--- a/libavfilter/vf_uspp.c
+++ b/libavfilter/vf_uspp.c
@@ -257,6 +257,7 @@ static void filter(USPPContext *p, uint8_t *dst[3], uint8_t *src[3],
             av_log(p->avctx_enc[i], AV_LOG_ERROR, "Encoding failed\n");
             continue;
         }
+        av_packet_unref(&pkt);
 
         p->frame_dec = p->avctx_enc[i]->coded_frame;
 
-- 
2.27.0



More information about the ffmpeg-devel mailing list