Cloning a packet whose source is going to be unreferenced immediately afterwards is wasteful.
Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> --- libavcodec/libxevd.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/libavcodec/libxevd.c b/libavcodec/libxevd.c index 4bcf2585cc..0553ebfb06 100644 --- a/libavcodec/libxevd.c +++ b/libavcodec/libxevd.c @@ -286,17 +286,14 @@ static int libxevd_receive_frame(AVCodecContext *avctx, AVFrame *frame) XEVD_STAT stat; XEVD_BITB bitb; int nalu_size; - AVPacket* pkt_au; + AVPacket *pkt_au = av_packet_alloc(); imgb = NULL; - pkt_au = av_packet_clone(pkt); if (!pkt_au) { - av_log(avctx, AV_LOG_ERROR, "Cannot clone AVPacket\n"); av_packet_unref(pkt); return AVERROR(ENOMEM); } - - av_packet_unref(pkt); + FFSWAP(AVPacket*, pkt_au, xectx->pkt); // get all nal units from AU while(pkt_au->size > (bs_read_pos + XEVD_NAL_UNIT_LENGTH_BYTE)) { -- 2.40.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".