From 27d4249fadbada099ece60fc6d7ddc3603c10df6 Mon Sep 17 00:00:00 2001 From: James Almer Date: Sun, 11 Mar 2018 13:53:04 -0300 Subject: [PATCH] avcodec/chomp: move the reference in the bsf internal buffer There's no need to allocate a new packet for it. Reviewed-by: Mark Thompson Signed-off-by: James Almer --- libavcodec/chomp_bsf.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/libavcodec/chomp_bsf.c b/libavcodec/chomp_bsf.c index cc94380535..3ba45f3e06 100644 --- a/libavcodec/chomp_bsf.c +++ b/libavcodec/chomp_bsf.c @@ -23,20 +23,16 @@ #include "bsf.h" #include "internal.h" -static int chomp_filter(AVBSFContext *ctx, AVPacket *out) +static int chomp_filter(AVBSFContext *ctx, AVPacket *pkt) { - AVPacket *in; int ret; - ret = ff_bsf_get_packet(ctx, &in); + ret = ff_bsf_get_packet_ref(ctx, pkt); if (ret < 0) return ret; - while (in->size > 0 && !in->data[in->size - 1]) - in->size--; - - av_packet_move_ref(out, in); - av_packet_free(&in); + while (pkt->size > 0 && !pkt->data[pkt->size - 1]) + pkt->size--; return 0; }