From patchwork Thu Feb 4 19:09:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 25394 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 9AB68448077 for ; Thu, 4 Feb 2021 21:10:46 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6FE766881E8; Thu, 4 Feb 2021 21:10:46 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 18A84680571 for ; Thu, 4 Feb 2021 21:10:39 +0200 (EET) Received: by mail-qk1-f172.google.com with SMTP id d85so4445072qkg.5 for ; Thu, 04 Feb 2021 11:10:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=WE7UV5PnqnGiE4CMRlpM7EfmnGDupaC9MjZ0yxNv14k=; b=l/q6Z9WhX6HfWvvt/T/6YuN07Ii2WO7gYYv4jzfL3NmfO4pNdoa1nIkY6Y+q2IUmQM xVON4GzL5MiMnaq5TXwjfTviuBewbjRkgV5yobk+r3j2zD7mz47TdP/VBoIM0ZdqV3B5 8Hpz2f5G/ke8w5XYtT3W2uVaave3npTnB7dxGXYhzUtCrltyt0vh7XdTJOSsph/C5eCi Tn1UqhTu0xyTaDZyZYhxmvKWvS/k0aA5d89X/0gyxUZpLsaTifufFNJKQm/K0f1oq8kt idxNyxAO8SQ70t8gOLL1FYoBaYc0Oq4S2vwe13mdvtmkB1c4njIy2K4e0r7EYcbE/gNG vnrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WE7UV5PnqnGiE4CMRlpM7EfmnGDupaC9MjZ0yxNv14k=; b=Mz6r53TNRF570XHciTWys0t9Fw99au9q1I9z248MQL/ErMRzgagyHZay4Bax+7Q5kr XGPfZ4qASfwxiI1wiPZxuGfjzjM+0BOW0qZWghx36vRD0WYS4ovbERH0GjZNjF6g4IHa 64zur8SB2+d+gcq3twMSNuqinBwgMmDCSQWS/G/iBIQH1p9f+WG1REoQvIoelTMIDsil ubSNClO6foUUqm7DWtqrEDcdKv4h0awKKRQ+r52QmsKCbuXQzdgerStmN8e0q1rwR4QK 6RS61FJW/qchZJDH6lljNnEzd9eWlenNulN8Ys+lAuf6K3dQjK7etncBiYenWqG+ngSb lu0w== X-Gm-Message-State: AOAM531qqAuCAR16JTwtzWhDrGEvzzXSgTMAX1N27AAlXqqCO9FxlUg5 ZXEfo3LSfMAio4borTM9ir1BP+/z7nE= X-Google-Smtp-Source: ABdhPJzl4mspw41zlt8sSZ4uSjfgmcs/6latiDuygCiEiJjwvbXeoeP6M2XY7Kw/UcKxGF3Z054gOA== X-Received: by 2002:a05:620a:15ab:: with SMTP id f11mr636751qkk.498.1612465837301; Thu, 04 Feb 2021 11:10:37 -0800 (PST) Received: from localhost.localdomain ([181.23.64.183]) by smtp.gmail.com with ESMTPSA id t14sm5889291qkt.50.2021.02.04.11.10.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Feb 2021 11:10:36 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 4 Feb 2021 16:09:17 -0300 Message-Id: <20210204191005.48190-3-jamrial@gmail.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210204191005.48190-1-jamrial@gmail.com> References: <20210204191005.48190-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 02/50] avcodec/cri: use av_packet_alloc() to allocate packets X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: James Almer --- libavcodec/cri.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/libavcodec/cri.c b/libavcodec/cri.c index efbccf4fee..8aadab7703 100644 --- a/libavcodec/cri.c +++ b/libavcodec/cri.c @@ -37,6 +37,7 @@ typedef struct CRIContext { AVCodecContext *jpeg_avctx; // wrapper context for MJPEG + AVPacket *jpkt; // encoded JPEG tile AVFrame *jpgframe; // decoded JPEG tile GetByteContext gb; @@ -56,6 +57,10 @@ static av_cold int cri_decode_init(AVCodecContext *avctx) if (!s->jpgframe) return AVERROR(ENOMEM); + s->jpkt = av_packet_alloc(); + if (!s->jpkt) + return AVERROR(ENOMEM); + codec = avcodec_find_decoder(AV_CODEC_ID_MJPEG); if (!codec) return AVERROR_BUG; @@ -342,13 +347,11 @@ skip: unsigned offset = 0; for (int tile = 0; tile < 4; tile++) { - AVPacket jpkt; - - av_init_packet(&jpkt); - jpkt.data = (uint8_t *)s->data + offset; - jpkt.size = s->tile_size[tile]; + av_packet_unref(s->jpkt); + s->jpkt->data = (uint8_t *)s->data + offset; + s->jpkt->size = s->tile_size[tile]; - ret = avcodec_send_packet(s->jpeg_avctx, &jpkt); + ret = avcodec_send_packet(s->jpeg_avctx, s->jpkt); if (ret < 0) { av_log(avctx, AV_LOG_ERROR, "Error submitting a packet for decoding\n"); return ret; @@ -412,6 +415,7 @@ static av_cold int cri_decode_close(AVCodecContext *avctx) CRIContext *s = avctx->priv_data; av_frame_free(&s->jpgframe); + av_packet_free(&s->jpkt); avcodec_free_context(&s->jpeg_avctx); return 0;