From patchwork Fri Mar 5 16:33:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 26122 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 E8A1C44B9E2 for ; Fri, 5 Mar 2021 18:35:43 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CFD5B68AA8E; Fri, 5 Mar 2021 18:35:43 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E4B6068AA48 for ; Fri, 5 Mar 2021 18:35:38 +0200 (EET) Received: by mail-qt1-f177.google.com with SMTP id 18so2182001qty.3 for ; Fri, 05 Mar 2021 08:35:38 -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=/apqkQ1LNM+vezThWD9E8qTvOypI1BZrE6LKDqIGEZs=; b=HwnGhgirfuLhaPGxiqOKyUERX0szPjmeEX7FutFP49mYfcWkxeEcbAIrieD80ek6Ry QvN5N0MVxNaWNOh9fEMJ3Z1EVyJlkQ+BACoIrAr+wy7yKtfJr+WXvAkwLU8ADGD9uWvl 48lHXJXT9wbSKXDA6WyfN4F1i5juE+12D5z+rKIO9pCA4twFI37TIQaRvKwlmUVDmgek VO6HBRR4IgMJfPDjoHW846yIqA9oICqv8YymqnkNGtTIWxY9UBJr2lncZZk2i7MrrPWx PsI053+JpIR4IbLwH6icWEjDVK1ncPnL3deMxya0JbI4sTrh1sl4eU9YkVk7H7rO1JoJ ItCA== 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=/apqkQ1LNM+vezThWD9E8qTvOypI1BZrE6LKDqIGEZs=; b=EtzWNeWgHDQg/pHnmzQvXOeV2SM9+RSi4AZTe9ZQfKMdLHwKU4Gqz5W2W1TJZI/dBT YLImSz3IL+dlgIC2Awpc5SMhQ/339zH8Qq4ZxR3zD1D4/5zXR97aJLAaBQMUkRFtifCL X2h4w23sVypxWLh1YlpK+kk1A4VzQGEbUDoNu5ojoQKEY1MOOnzednDLV2UOWM0pAYS7 gSBebslKvygdadRa97g4OTHUN/E3PWipArBIWbXBPGG2jvVvqDu5/kVDiQbCGcZh9CFY m5qEyVolY+N9aJw/zYxHJZLaIKSBckH870hSKYPdigA1xq5PSQnBVAPLuGe+bj8vyqMj 8aJQ== X-Gm-Message-State: AOAM533a8MkSOFpWvvmYm8v0nYlsVURf0pe4saUx5lDCeH6RoBY17q+D ILDdgp102qDD0qjvk/Cobi3Yl1FYjEXrlA== X-Google-Smtp-Source: ABdhPJzpjKlyFIsthxhy7Kf/j0p63SsKzCR78YWOFgU6WIa3B0LAdxWZhZT50txo9nmsQxsAXtmiSw== X-Received: by 2002:ac8:7656:: with SMTP id i22mr9894931qtr.39.1614962137443; Fri, 05 Mar 2021 08:35:37 -0800 (PST) Received: from localhost.localdomain ([181.23.89.132]) by smtp.gmail.com with ESMTPSA id b10sm2168494qtt.23.2021.03.05.08.35.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Mar 2021 08:35:36 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 5 Mar 2021 13:33:00 -0300 Message-Id: <20210305163339.63164-10-jamrial@gmail.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210305163339.63164-1-jamrial@gmail.com> References: <20210305163339.63164-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 09/48] avcodec/tiff: use av_packet_alloc() to allocate AVPackets 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/tiff.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c index d1e908fd43..17a593e379 100644 --- a/libavcodec/tiff.c +++ b/libavcodec/tiff.c @@ -58,6 +58,7 @@ typedef struct TiffContext { /* JPEG decoding for DNG */ AVCodecContext *avctx_mjpeg; // wrapper context for MJPEG + AVPacket *jpkt; // encoded JPEG tile AVFrame *jpgframe; // decoded JPEG tile int get_subimage; @@ -877,7 +878,6 @@ static int dng_decode_jpeg(AVCodecContext *avctx, AVFrame *frame, int tile_byte_count, int dst_x, int dst_y, int w, int h) { TiffContext *s = avctx->priv_data; - AVPacket jpkt; uint8_t *dst_data, *src_data; uint32_t dst_offset; /* offset from dst buffer in pixels */ int is_single_comp, is_u16, pixel_size; @@ -887,9 +887,9 @@ static int dng_decode_jpeg(AVCodecContext *avctx, AVFrame *frame, return AVERROR_INVALIDDATA; /* Prepare a packet and send to the MJPEG decoder */ - av_init_packet(&jpkt); - jpkt.data = (uint8_t*)s->gb.buffer; - jpkt.size = tile_byte_count; + av_packet_unref(s->jpkt); + s->jpkt->data = (uint8_t*)s->gb.buffer; + s->jpkt->size = tile_byte_count; if (s->is_bayer) { MJpegDecodeContext *mjpegdecctx = s->avctx_mjpeg->priv_data; @@ -898,7 +898,7 @@ static int dng_decode_jpeg(AVCodecContext *avctx, AVFrame *frame, mjpegdecctx->bayer = 1; } - ret = avcodec_send_packet(s->avctx_mjpeg, &jpkt); + ret = avcodec_send_packet(s->avctx_mjpeg, s->jpkt); if (ret < 0) { av_log(avctx, AV_LOG_ERROR, "Error submitting a packet for decoding\n"); return ret; @@ -2157,7 +2157,8 @@ static av_cold int tiff_init(AVCodecContext *avctx) /* Allocate JPEG frame */ s->jpgframe = av_frame_alloc(); - if (!s->jpgframe) + s->jpkt = av_packet_alloc(); + if (!s->jpgframe || !s->jpkt) return AVERROR(ENOMEM); /* Prepare everything needed for JPEG decoding */ @@ -2193,6 +2194,7 @@ static av_cold int tiff_end(AVCodecContext *avctx) av_freep(&s->fax_buffer); s->fax_buffer_size = 0; av_frame_free(&s->jpgframe); + av_packet_free(&s->jpkt); avcodec_free_context(&s->avctx_mjpeg); return 0; }