From patchwork Sat Sep 12 22:33:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 22310 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 20610449C01 for ; Sun, 13 Sep 2020 01:33:40 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 08E3068BB70; Sun, 13 Sep 2020 01:33:40 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f66.google.com (mail-ed1-f66.google.com [209.85.208.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 84C3268BB50 for ; Sun, 13 Sep 2020 01:33:33 +0300 (EEST) Received: by mail-ed1-f66.google.com with SMTP id w1so14065232edr.3 for ; Sat, 12 Sep 2020 15:33:33 -0700 (PDT) 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; bh=dUKAUF5YhFBRWqxR3/gWGNdYm9RvCRRsHCAoVgDdfjA=; b=DjO45JWfAVY3dVKWJmR46PpVPGD3IH32HSPnXV6b2NY19rbvafcXt0n2iu2+a2HKfp 5GKRGZE0GHHvB5R8gQLY3w/FRNK3dvCOdtfOo+nw03p6292YLrxLrzRpCz0Py3osooLh ock38PwgM8ZB83iiEbFV+VvipQWZygGTyPlS6/QRzzgJFO+cdK/Sb5NmtpaIPKDCILZi K0BL1IT5fYPjPFuRoWQ9PK3F8T59xsgII2RonNKWE4QJSgllMvZpF+9q8L83CqICilMv rYzZpa1frZ87FcXHo+8oarDAysGc8w3LT0SIh6Bj9bvQtbzyvQcoFLV9x2AM/6f5JGWT 9/MA== 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; bh=dUKAUF5YhFBRWqxR3/gWGNdYm9RvCRRsHCAoVgDdfjA=; b=i6ItppeXmDZyKYb0J+yDTOfD1f0MN/yFiNNNJ1KG6qT/pbLWeX811cXG9MIITqr8R4 qWqZnSBpFTYMfZX/1D5zmjNRboyppNuRqdE6eYwaASB36poVdnDM0TuNfBdsHYI1sm0w nsmwCzAHHWOV7QHyAP+BffBu67BLRQ5kWqpKRSE53ulYD7Jwah5YQFmFdCN4daiqxB12 IsYCyN8t2YdRlaqlABHhc3EnZl5C0MhO4P43fDO8vburxQ75ucpBrEILKM48/FJQV41q b5x8luD1RvwCcZ9ovs8R6mNndrJ1QrCU3FqU1fmTh1rC359ZcxVmw9psI7O2sbhH0IDx HgxQ== X-Gm-Message-State: AOAM5317BeXh0q4fr0VnivF1/VPZGjae9qROB/H/HfahAcLYHihaR3ti RdPGXwJOUgfmZNXlBN7MNcSHFVGE7DVxkg== X-Google-Smtp-Source: ABdhPJxwZoBAhmVpH1z0ynv2eyQfFQxGNV1jAForoqpy+r3EzRf5cegkU+UcqeUUsLpXqcH7WqbyBg== X-Received: by 2002:aa7:d747:: with SMTP id a7mr9963325eds.304.1599950012767; Sat, 12 Sep 2020 15:33:32 -0700 (PDT) Received: from localhost.localdomain ([94.250.162.52]) by smtp.gmail.com with ESMTPSA id j14sm5541843edr.91.2020.09.12.15.33.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Sep 2020 15:33:32 -0700 (PDT) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Sun, 13 Sep 2020 00:33:21 +0200 Message-Id: <20200912223321.21856-2-onemda@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200912223321.21856-1-onemda@gmail.com> References: <20200912223321.21856-1-onemda@gmail.com> Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/adxdec: add support for new extradata in packet sidedata 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Paul B Mahol --- libavcodec/adxdec.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/libavcodec/adxdec.c b/libavcodec/adxdec.c index 40ed8e5ba7..81ffc8b296 100644 --- a/libavcodec/adxdec.c +++ b/libavcodec/adxdec.c @@ -103,6 +103,22 @@ static int adx_decode_frame(AVCodecContext *avctx, void *data, const uint8_t *buf = avpkt->data; const uint8_t *buf_end = buf + avpkt->size; int num_blocks, ch, ret; + int new_extradata_size; + uint8_t *new_extradata; + + new_extradata = av_packet_get_side_data(avpkt, AV_PKT_DATA_NEW_EXTRADATA, + &new_extradata_size); + if (new_extradata && new_extradata_size > 0) { + int header_size; + if ((ret = ff_adx_decode_header(avctx, new_extradata, + new_extradata_size, &header_size, + c->coeff)) < 0) { + av_log(avctx, AV_LOG_ERROR, "error parsing new ADX extradata\n"); + return AVERROR_INVALIDDATA; + } + + c->eof = 0; + } if (c->eof) { *got_frame_ptr = 0;