summaryrefslogtreecommitdiff
path: root/libavfilter/vf_uspp.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-03-12 15:07:33 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-03-12 19:05:37 +0100
commit6e2db67801c9975fae6f55c40f615d87b9a74a15 (patch)
tree832c9f5105d4cd8ad75fdf0c7f547dfb7cee52ea /libavfilter/vf_uspp.c
parent0858853241925d0a45f58a4724f203d284a70f00 (diff)
downloadffmpeg-6e2db67801c9975fae6f55c40f615d87b9a74a15.tar.gz
avfilter/vf_uspp: Fix leak of packet side data
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. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavfilter/vf_uspp.c')
-rw-r--r--libavfilter/vf_uspp.c1
1 files changed, 1 insertions, 0 deletions
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;