From patchwork Wed Nov 18 13:05:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gil Pedersen X-Patchwork-Id: 23685 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:c00a:0:0:0:0:0 with SMTP id c10csp248172ybf; Wed, 18 Nov 2020 05:05:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJwot6SQ3qgVoByP+BA3BCHNoDPNcwUjORRiAfFvW1qtLbE/c8ti7NjG2cHWTHuTTgAM0TQu X-Received: by 2002:adf:f382:: with SMTP id m2mr4907664wro.426.1605704755946; Wed, 18 Nov 2020 05:05:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605704755; cv=none; d=google.com; s=arc-20160816; b=L1I6ndyEoboA8CZjmRaxohWKDaUP068qFBMDWql8HDHM+MJtdUaQkptVoUjiioXl/Z UIxt1AMVhKqMI2uplyUV1/cRupU6na9FO19ebDXCfsho5kcHBsH8D4+w6GbnAJ6Yez+z 0UJwYhkQkuaqn4zAN1jb7obsUsJMdFb3dq/PDS7UfLmjj25hnuURM/FeeTu688lA3ZvA BqalmPkKkY2Hw5OfFaX/BmrEUsbEy5QTr43a1UuLX+WQzm7vuwXZADTZEUqb2pwaOcKo jRWzNeAw2RohEb1Eo1c+TMw1tz/Y0R5d8P29WcV7Zs962mtQ4l9fwlLXSduv53Gno5Fv XKzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:delivered-to; bh=aI2ghA+HPDxmmtplwR8Ild8rr7DTH4Qfy35kgTBCosY=; b=fyV1ZIX75hiJbKlnRX7CRv43QoABy6gyq7HiczF7Wh0OP2WCJoGO7tGdXRyE5lBCUu FNs2V/Vm66DIi+DYD26SDKigE5mZzhfOCyXuIOuU7997+Oxz/IXVRa5SEhNDqEvqMo+l I4URsHNqGuQYsbdPvSCTHkW3o5K3aJ6CbRlziIOKEARkRKG1U68sdQnVfDv0T8I9L8hH x8qwy3ArZ7lhIxR3JGrahjAKJE2jowdEDZvHglfn8+6vA+26PePpZV1pMoxyk2Qmp+VS XjMRVOGDPgEA+iUTw4+I3lUQWBl+WItBoBgBNqqkWPIiYQDVhfWKntVWUXPjmOWnScZw gCrA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 35si22407356wrn.502.2020.11.18.05.05.55; Wed, 18 Nov 2020 05:05:55 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1AB2168B435; Wed, 18 Nov 2020 15:05:50 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 432BB6897F4 for ; Wed, 18 Nov 2020 15:05:43 +0200 (EET) Received: by mail-wr1-f54.google.com with SMTP id p8so2149060wrx.5 for ; Wed, 18 Nov 2020 05:05:43 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=jnWT73wk7je30Zh55qpd8jLrBijNWFgB7X4MA9Oer14=; b=RCu/BQuxuTD08zkpVN4NXKoBpMfKP0++Jl9hupOVw6ffQmh0fRIgdV/bjHiQLS+iB7 IwYOHNK44cpX8zNXNR2vMSXJXzusxw/+JELeFh3HrBl8OPAg6j4B+Y/lJVUXVPF9AdaX Z2gigM6Qko3CBW0F6UlmbaQqwsf6Fb+XnCFVGW1ia5R4I7I85jRWKtAGuxAVTKUd3JOt pOtpdItQm5yB8KvNofIR56gtqEsBcKwGCEkX2CnyHmbCqHITDyOodLLh4AB+yU0kjCYW 24Fj5RtUBsHrJnjwD1UfVwb/s1s6HDMjnJpfGrBrZvbKFI5vVpEPlKP7Vg7hro+fs5tT u/dA== X-Gm-Message-State: AOAM5328rGvzk6hrBZNZJWwFs/1MbCpyf+3fv+c5ZSPWB4/BIR0+H6pC 17WpYNH3kWoAYhUaknFmapO191GW6T5Wcvb8 X-Received: by 2002:adf:f783:: with SMTP id q3mr4565348wrp.88.1605704742377; Wed, 18 Nov 2020 05:05:42 -0800 (PST) Received: from ov04.ovh.net ([2001:41d0:303:c09e::]) by smtp.gmail.com with ESMTPSA id y16sm31757320wrt.25.2020.11.18.05.05.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Nov 2020 05:05:41 -0800 (PST) From: Gil Pedersen To: ffmpeg-devel@ffmpeg.org Date: Wed, 18 Nov 2020 13:05:12 +0000 Message-Id: <20201118130517.585-2-git@gpost.dk> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201118130517.585-1-git@gpost.dk> References: <20201118130517.585-1-git@gpost.dk> Subject: [FFmpeg-devel] [PATCH 1/6] avcodec/cbs_av1: use av_buffer_replace() to simplify code 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 Cc: Gil Pedersen MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: BfGSwR9sQg4s Content-Length: 2635 Signed-off-by: Gil Pedersen --- libavcodec/cbs_av1.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c index 9badfe31e4..cf680aed6c 100644 --- a/libavcodec/cbs_av1.c +++ b/libavcodec/cbs_av1.c @@ -896,12 +896,11 @@ static int cbs_av1_read_unit(CodedBitstreamContext *ctx, if (err < 0) return err; - av_buffer_unref(&priv->sequence_header_ref); - priv->sequence_header = NULL; - - priv->sequence_header_ref = av_buffer_ref(unit->content_ref); - if (!priv->sequence_header_ref) - return AVERROR(ENOMEM); + err = av_buffer_replace(&priv->sequence_header_ref, unit->content_ref); + if (err < 0) { + priv->sequence_header = NULL; + return err; + } priv->sequence_header = &obu->obu.sequence_header; } break; @@ -1039,12 +1038,11 @@ static int cbs_av1_write_obu(CodedBitstreamContext *ctx, if (err < 0) return err; - av_buffer_unref(&priv->sequence_header_ref); - priv->sequence_header = NULL; - - priv->sequence_header_ref = av_buffer_ref(unit->content_ref); - if (!priv->sequence_header_ref) - return AVERROR(ENOMEM); + err = av_buffer_replace(&priv->sequence_header_ref, unit->content_ref); + if (err < 0) { + priv->sequence_header = NULL; + return err; + } priv->sequence_header = &obu->obu.sequence_header; } break; From patchwork Wed Nov 18 13:05:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gil Pedersen X-Patchwork-Id: 23684 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:c00a:0:0:0:0:0 with SMTP id c10csp253202ybf; Wed, 18 Nov 2020 05:12:36 -0800 (PST) X-Google-Smtp-Source: ABdhPJznc4QnYiVn4jRa/d8R+taVPFyKTdCIrQEliM0iPa99xGTrvjRFfXagCCgn6V7mUgRZP5Mu X-Received: by 2002:a5d:438f:: with SMTP id i15mr4802352wrq.121.1605705156550; Wed, 18 Nov 2020 05:12:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605705156; cv=none; d=google.com; s=arc-20160816; b=jNG8pGQVgt8Kgw5vR7WKtkFq90MQ2AyJYEYDT8scW1sr/ng4iyPFvo3X4WKoNK/vR0 fG80AUIuFkYzTnQmG9WjzyH75qhTCVKpOjcU/3OD8igdgzLo9nqo5QZ+rsrl5SZxxNZT tV7uwhfJ+peHxUcjAbKenAGFDuIu8D/UykbLzVovterWcsQkh5TTS8A87er3o/TXaaNC Ez4E2ERHP1rlvSqA585FEE5IzcIB8lwC6Xa1kciVh0iANf67zZO1HXHkr8S1BFcq+xE2 LQftSdSmFoGAotZbsoQO6c342/IgcOu8X5paa6qUcYPh9ru/On9CHs7rV4iqN281xq+e NKgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:delivered-to; bh=nMNClBAfmer0x96JyVVaa1KLZ3vyqsCwt/NqkKyZP4w=; b=lYLgBL5aJqBCt+IoV1BKoNOEbqUL1BvefD5J4ih+88MFW4mu74LS4yMHqdYjzyw4px SoESSvgxCkQFMsMX8iTqrpXb9HVEURvImwTLl36oLoS71rxJy8NiO31q1iWZEkyzO6em qcBm8j0egNkU2CzOn+/7KwlvuvipkB9KBdYQHGdW+ui602oipI70wYSu9hzHVWnqyQ69 e8HAlTpnJRJFzOa4uz74/gjUOM4BM8ATDFlZwmpv7lZNE1AU5+5CGbhfQzhkIoSzN53f Azcgx8zPRXcbk73OIQMZpt5qrv/IlUZTWPueOWT/716eROFqhJLF5YqXrQ1aWaQ9h83H 8M3g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m11si1954783wmg.5.2020.11.18.05.12.36; Wed, 18 Nov 2020 05:12:36 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2AEC568B5B2; Wed, 18 Nov 2020 15:12:35 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D23FE68B591 for ; Wed, 18 Nov 2020 15:12:28 +0200 (EET) Received: by mail-wm1-f54.google.com with SMTP id w24so2689483wmi.0 for ; Wed, 18 Nov 2020 05:12:28 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=06wO883SIDzCy2YMKFIo30F1QHXt20o7OawtSdRYjLY=; b=niId4BDJfRl6ISnCXH/QSkCU8/2PDTgsiLsFVG9tBLacc4BO0WsTnZpCj8WEZi7D0g 6JABXc8o1Xofp8o/8PKoE27kegJmCC13ERl4cqNSI1bnaGWPJuS+f/4SqoqFo9Hu5Z97 1Ct+MFH23NCnPg2U2dNG2TF6T810Q+Ga1FnXDZo8zOBdRP2yTJnKHyM4qtB9TexwuSw6 vDpoZkd/Kd/Z5LQPHW2S4abQEX23XGw1VHJpzRh+6C5X1wr2RQxDy2CnrTamwnH1IuIE 3c3CFR0AjnfrmlCZY4SRlLKXtprk275Exjcrn4f0Dp3ciNW89QYHatPDeTOMdtATJm/c IRRQ== X-Gm-Message-State: AOAM530uK3zrmj8GGFsUPVRM/QFz9L57kVeUCavm5y09WpBias27gcYv oCQnt5NAk5GKY/0JDzoudL3jCZA0JFiCIzzT X-Received: by 2002:a7b:cb13:: with SMTP id u19mr4356995wmj.89.1605704743288; Wed, 18 Nov 2020 05:05:43 -0800 (PST) Received: from ov04.ovh.net ([2001:41d0:303:c09e::]) by smtp.gmail.com with ESMTPSA id y16sm31757320wrt.25.2020.11.18.05.05.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Nov 2020 05:05:42 -0800 (PST) From: Gil Pedersen To: ffmpeg-devel@ffmpeg.org Date: Wed, 18 Nov 2020 13:05:13 +0000 Message-Id: <20201118130517.585-3-git@gpost.dk> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201118130517.585-1-git@gpost.dk> References: <20201118130517.585-1-git@gpost.dk> Subject: [FFmpeg-devel] [PATCH 2/6] avcodec/cbs_h2645: use av_buffer_replace() to simplify code 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 Cc: Gil Pedersen MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: L/gC1vnf5K9l Content-Length: 1771 Signed-off-by: Gil Pedersen --- libavcodec/cbs_h2645.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libavcodec/cbs_h2645.c b/libavcodec/cbs_h2645.c index b6d77dd17f..09841af5e6 100644 --- a/libavcodec/cbs_h2645.c +++ b/libavcodec/cbs_h2645.c @@ -665,11 +665,10 @@ static int cbs_h26 ## h26n ## _replace_ ## ps_var(CodedBitstreamContext *ctx, \ return err; \ if (priv->ps_var[id] == priv->active_ ## ps_var) \ priv->active_ ## ps_var = NULL ; \ - av_buffer_unref(&priv->ps_var ## _ref[id]); \ + err = av_buffer_replace(&priv->ps_var ## _ref[id], unit->content_ref); \ av_assert0(unit->content_ref); \ - priv->ps_var ## _ref[id] = av_buffer_ref(unit->content_ref); \ - if (!priv->ps_var ## _ref[id]) \ - return AVERROR(ENOMEM); \ + if (err < 0) \ + return err; \ priv->ps_var[id] = (H26 ## h26n ## Raw ## ps_name *)priv->ps_var ## _ref[id]->data; \ if (!unit->content_ref) \ memcpy(priv->ps_var[id], ps_var, sizeof(*ps_var)); \ From patchwork Wed Nov 18 13:05:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gil Pedersen X-Patchwork-Id: 23686 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:c00a:0:0:0:0:0 with SMTP id c10csp248295ybf; Wed, 18 Nov 2020 05:06:05 -0800 (PST) X-Google-Smtp-Source: ABdhPJwPmS7VrwJy4E3pnFlFD1PFF06mV7namuzxFsbHYyUXr65kvvkNGzelH1YInvoKd2AkTXMr X-Received: by 2002:a1c:9695:: with SMTP id y143mr4339245wmd.70.1605704765776; Wed, 18 Nov 2020 05:06:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605704765; cv=none; d=google.com; s=arc-20160816; b=q75Oh0VxBMvX9tTNzS2qra5OkRDT+XIBDocUQJDO/HxTLZ6cgouAHIuPCyRav6adzU jrFtF61nI31Xm2OtU5iC8VElG1otPtYS17RDwjeQfCYO2CI2ZbaVW1+P8Qx1MyvOIF59 FVWolmHheGs1EPf6sHG5mydIt7LmxUQ1YNOXFqzn1UOEvL3lxxo/NW2HSP5IvNOt2LN8 qPfD2uvSfDhUVpuWc9yPFxaRJp44iy6id4PevmU+wd3RJ4VSXeGIZ4ITNMI8LAiUltNO jGAnzq892sD27Rwpo3hANfks6CjuPw1P6zWcRwjj6hKNgnQNJMPC7cnWUffdKN9uYvjT MQBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:delivered-to; bh=cu2ZMWWPuc9PsxxDpgEMXco5GxAsNHSWnwp/XcYy0cY=; b=YYhffv8tRUGR9xj1/ySVu6LJDLOwOOHUKzCL8yQiZe7IsXtOjwIDoMj3J3EaaIrD02 KMk3cqmpeuB/JG5gvnmMxFqVIGhMK9NY19o1ZsnGFKmba48T7KfFPUNoApynKP0/TfU2 vsm2px2BDkcc+zZnCD6bO0vCezClluuPOh0a5BRTZKU4RRzDDMgkT6//j5NJPMUfPpdu vmANNoEZOsyY9ID3YFHGKvDSEyrhp2sgIHPxC4z4Gx1YS5HmMFYSd/Oko2foHqPjqVXS fAWnqxMGovPMakSz24NfpH3wTTPFfhjK9kPMoGY6OmIg4r0kqLUbZwcS/7hWyGd2jux3 goIA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id d6si23162688wrw.425.2020.11.18.05.06.05; Wed, 18 Nov 2020 05:06:05 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9E00A68B591; Wed, 18 Nov 2020 15:05:52 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3B43468B480 for ; Wed, 18 Nov 2020 15:05:45 +0200 (EET) Received: by mail-wr1-f47.google.com with SMTP id d12so2069163wrr.13 for ; Wed, 18 Nov 2020 05:05:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=mVQy1dVdQ5+MrdCBm6K4OitLnz2f2y+Qbs6XqK89bnw=; b=XvsQ5sbWgjBFxaa7ebUrb8uGr86fB+j/CP4XGdYMZK59Rsx1IR6+KAwBV/EqILrMEs p/ReG43QKDHk0GvaEuewhrP2AQTk2vUJsks2DUBSjUElZ/ctTHuT9RoMq+lc4DUy+RBq VYja4Z42Mq3XUeR89vZGr3pfv35KHqhjlZOai65+7+E96z3qEKoaQ/P5Jp8duehxdrdg GmoNAemUizwmXR8o/tvjShGXwvdQ3///fmnlItJHzdFQUPwxxUwXLI4VaxuxLcU45RR7 OYdyKsoURYu/zrlMshC7axK3uNUbZQ9GNUzKlBMxzo0iqaoFLdfrGW8cVAIoqSbr+O4c eHEg== X-Gm-Message-State: AOAM531vODli9n5lEqQkWX0mdhdCb+1IdKAMPDSO8M/kfYa1k536sbBw CUFLIHTRcLZsdW4PlEN0ZXetrNQ5D8cwLptp X-Received: by 2002:a05:6000:1c9:: with SMTP id t9mr4521890wrx.379.1605704744220; Wed, 18 Nov 2020 05:05:44 -0800 (PST) Received: from ov04.ovh.net ([2001:41d0:303:c09e::]) by smtp.gmail.com with ESMTPSA id y16sm31757320wrt.25.2020.11.18.05.05.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Nov 2020 05:05:43 -0800 (PST) From: Gil Pedersen To: ffmpeg-devel@ffmpeg.org Date: Wed, 18 Nov 2020 13:05:14 +0000 Message-Id: <20201118130517.585-4-git@gpost.dk> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201118130517.585-1-git@gpost.dk> References: <20201118130517.585-1-git@gpost.dk> Subject: [FFmpeg-devel] [PATCH 3/6] avcodec/h264_parser: use av_buffer_replace() to simplify code 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 Cc: Gil Pedersen MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: phQNxbOwqb9Y Content-Length: 1694 Signed-off-by: Gil Pedersen --- libavcodec/h264_parser.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c index aacd44cf3b..f39924595e 100644 --- a/libavcodec/h264_parser.c +++ b/libavcodec/h264_parser.c @@ -360,12 +360,12 @@ static inline int parse_nal_units(AVCodecParserContext *s, goto fail; } - av_buffer_unref(&p->ps.pps_ref); - p->ps.pps = NULL; - p->ps.sps = NULL; - p->ps.pps_ref = av_buffer_ref(p->ps.pps_list[pps_id]); - if (!p->ps.pps_ref) + ret = av_buffer_replace(&p->ps.pps_ref, p->ps.pps_list[pps_id]); + if (ret < 0) { + p->ps.pps = NULL; + p->ps.sps = NULL; goto fail; + } p->ps.pps = (const PPS*)p->ps.pps_ref->data; p->ps.sps = p->ps.pps->sps; sps = p->ps.sps; From patchwork Wed Nov 18 13:05:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gil Pedersen X-Patchwork-Id: 23688 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:c00a:0:0:0:0:0 with SMTP id c10csp248460ybf; Wed, 18 Nov 2020 05:06:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJyLkhwNl5VimXMjvtTQ6DfftXbC8xpNI2tv8chvckp3RmtAZgVrVkMwquN9RzScQXpEUPl3 X-Received: by 2002:a1c:5605:: with SMTP id k5mr4085474wmb.99.1605704777182; Wed, 18 Nov 2020 05:06:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605704777; cv=none; d=google.com; s=arc-20160816; b=K+WPkBk5Vc+ErpaVjaCWpgG92hFmN3HnAJQj0eIa6I4Ykc1QynCJk8zFkzug8I0P1n FgfZEnqOpwgMo+hLRhU3dSgpB1aYtdr5ArDLSQh3Bf5F0XPojAoXMhCaekLACdgt46UE PJgKa3ToYWQNIpRs7zoNJbOsbmqLrWyYGxoULfTnEzXQVwLlYkpFcPHAp5OWz5rdoNMS 0UWf2uFQ/MDGF3LvSUxTC+TsXzYEY1sEetC0DFOtcxnI403YwtX2ypiAGRxGFdjAmmjW iafJ3R01ddPfsWw4JPMvFj6Sp4cD/bcvJ5b0qcLjqx9e8DtPUaHlAvlaleRFpiVj1BiV uUyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:delivered-to; bh=JW5oye4J7Vq9FQfz2VrS12WoQb80VI+1uFWF6cqGRuA=; b=TzGOSiAv3SJQN6I/BeLuSdX+4atrv+8aaxW2fENCssL+xz/BI8iNhxgpBNFZjeUJR9 DXvap0Yghc7HR+Vv8t51+o0ha6aMCNJAnthT6crL5U56qAlFiuO3FuOtqIyKQAuhFBbG pL1Gj2hUFh0PsSqEs/UxBHmNkoxqQQx23nmbiI91J7LGUD5q7KVyfEUOUEJGBp887aat HnnDSyofgt2/ApOXXfeyRybDqmeq8axVWVVjCgIDrACFvabhVt8rBmb24MaiEf2mKihD 3k69IMRJGmzbVQKwkS2HDlf1rC5FnNFYcvoJb7q5+KoJnr3LYddqLCzS3Q51IVK9DLil xQ+A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l9si1888076wmf.122.2020.11.18.05.06.16; Wed, 18 Nov 2020 05:06:17 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BF00468B5C3; Wed, 18 Nov 2020 15:05:54 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1609E6897F4 for ; Wed, 18 Nov 2020 15:05:46 +0200 (EET) Received: by mail-wr1-f65.google.com with SMTP id m6so2122242wrg.7 for ; Wed, 18 Nov 2020 05:05:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=hy6LsDa/RcbYhnseDz9Ai4oBCxmJMAgHH2UnZyIJXuM=; b=nB09BGdYh9+ewjJpUmbceP4l7XQ6La1CxxYNdHTZt8CmhAkj9Wn4Rg5RA1AHBItHYW /2bYF1Q3hqD7e0Dw6DrkACUPn+xT4Wn9qpiz/ksW+o5L0cUc1NC5f1f5T5bDebZFbqbg xZg4G7RgYba0H0N5rTUzLGjazymXu9Zz3X9p2QIDzHiYGJ0lG66u1PpI4lCJcc+pew6c tksGrVJaX/pTgSPs/I9sCQUIamhJH124npgOz3bvrzuIwEjDDR7cKYX7qFQu2Fdt4tgq fnQd5pDUuhsqowYhZfW9Mgkg1DMs9jVJ0Wbp9GV0Gm2CN9tmv6B9ZWMVufNK2DI3hUgx sU7A== X-Gm-Message-State: AOAM532bEsG38b7Z3dcIz5V1AZQ4Z13jzhpBJws7QVSNOyDjaZB/6JTF vucpv2G4MHsbaurPdU985rwIqPrQs2fUVOVF X-Received: by 2002:adf:f2d2:: with SMTP id d18mr5046975wrp.302.1605704745236; Wed, 18 Nov 2020 05:05:45 -0800 (PST) Received: from ov04.ovh.net ([2001:41d0:303:c09e::]) by smtp.gmail.com with ESMTPSA id y16sm31757320wrt.25.2020.11.18.05.05.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Nov 2020 05:05:44 -0800 (PST) From: Gil Pedersen To: ffmpeg-devel@ffmpeg.org Date: Wed, 18 Nov 2020 13:05:15 +0000 Message-Id: <20201118130517.585-5-git@gpost.dk> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201118130517.585-1-git@gpost.dk> References: <20201118130517.585-1-git@gpost.dk> Subject: [FFmpeg-devel] [PATCH 4/6] avcodec/h264_slice: use av_buffer_replace() to simplify code 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 Cc: Gil Pedersen MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Ox1OHG7qVI5u Content-Length: 1581 Signed-off-by: Gil Pedersen --- libavcodec/h264_slice.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index fa7a639053..b937ebebcf 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -1018,11 +1018,11 @@ static int h264_init_ps(H264Context *h, const H264SliceContext *sl, int first_sl int needs_reinit = 0, must_reinit, ret; if (first_slice) { - av_buffer_unref(&h->ps.pps_ref); - h->ps.pps = NULL; - h->ps.pps_ref = av_buffer_ref(h->ps.pps_list[sl->pps_id]); - if (!h->ps.pps_ref) - return AVERROR(ENOMEM); + ret = av_buffer_replace(&h->ps.pps_ref, h->ps.pps_list[sl->pps_id]); + if (ret < 0) { + h->ps.pps = NULL; + return ret; + } h->ps.pps = (const PPS*)h->ps.pps_ref->data; } From patchwork Wed Nov 18 13:05:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gil Pedersen X-Patchwork-Id: 23682 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:c00a:0:0:0:0:0 with SMTP id c10csp248762ybf; Wed, 18 Nov 2020 05:06:43 -0800 (PST) X-Google-Smtp-Source: ABdhPJzwSyJx1gTqSG+kfOwcreMrXfFx5DBQzgT1BBOtwHMI3YTcM/AXMqPcCkeogL5/0kXYnK+p X-Received: by 2002:a1c:544c:: with SMTP id p12mr4320318wmi.146.1605704803435; Wed, 18 Nov 2020 05:06:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605704803; cv=none; d=google.com; s=arc-20160816; b=BZZIidvp0Fd9jptMBgsyvFTXDRlk3nLdCllAryYgd0d98ZGZwvpJw73+rwkK7T7Hew H5Bov9KEDueRv3SiVuxGDCsx6gD8j7csBfTuEo/yKTqlLkJj9xab+VhfNDqWV2jVJSga 9RQicqL/55UG6nq8Be52hW9mRwwrIEimwKAln7MWbVVEXHnrm+VE4OfpQ7bz7rCH2rA7 26+sH16TUogHuPvsiLAPZp/70BGnv/gfBQ1RdysUBUlhqy8F5wBLNvxFdw8OdWvEnQiM bATQB6Basy0VhKbA6BwXkva5+gvTK/1YlM2E0duAJ8XBeDblQfIQhqFxbrugUqj1lk1X cTiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:delivered-to; bh=Af32GBKqWM3WSuRT4p1ov4dHW41FPw837LVhXKBQgdc=; b=0TzBXs03jyD4k83aY7Y1g5MiikXOIBtUl1rvqLj7kPflvoEq/i4IgB8aldKYQKk2P9 sc+hgEhU4WBewGkCf/EjhAysFGvG9yqaZ9e35HrHUjqYyMTaZgQ2iQo0h8aKXact2hef 60Vv9i2K+hTMMPWsdFHDUaMn9A0WiGNF/URgBglnWbCq/5r5x5H42A97kCXGgwHVNMb3 arvRjJkuFJiz/Qc7di79NZjRxMzgLx/pHRL+K8fe9zkp8+RYbuRmp8Rdg57MK3OrG52O Q69Ek/5cyFiLfFwBPq9vn0eoKt6iv+7wJPldeMZOTwyn67HGeU39tmVlQ1eKOfFv2gBx REVA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v10si22787176wrr.159.2020.11.18.05.06.42; Wed, 18 Nov 2020 05:06:43 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0039868B5D7; Wed, 18 Nov 2020 15:05:58 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 031ED689FB5 for ; Wed, 18 Nov 2020 15:05:50 +0200 (EET) Received: by mail-wm1-f68.google.com with SMTP id s13so2655485wmh.4 for ; Wed, 18 Nov 2020 05:05:49 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=8wugntXnIQ7rRKebcNPvtfXlXxUS7cFTkVQxL936a2Y=; b=OKBWTsIfcW/wRs5CImmHe1fhZll9XgCcXoxsZC0KNYkDRXIMeHFr97pVaSMpN3TvlD VwhkoGAr+ep1js6Lsx+hrs0rC8Sg4iafIl5ELjI8ct9jxu5frsDlj2XGSjYoMAcq4rDB qx/VzahirvundehXJCW/U8YCVl6Mc5EMdxGDiLomxdG/Ygrqrv++tC54Ej4cPvffhjZJ CLh/3AW9DCEHeke3UyES3bqSOqtLlaZ8MHb+eaA0N7M1RjXtMutWyqFvxSynT9CqDUKi lVvmZxS6z7pX1+ak0sAZJrh4jVj+uiZRD5AP99gM8wvHXJ+PazNBDSltDMJ+/Rt8lvLh V95g== X-Gm-Message-State: AOAM533LYZk45KaHEaty/YnI27UiuJxXgCLQyVRKuXWUy5A3logY50aI Mh0tGVl0mpT7Wa3jPjg1eUedJkRx2mVv7s4f X-Received: by 2002:a7b:c157:: with SMTP id z23mr4289930wmi.70.1605704746286; Wed, 18 Nov 2020 05:05:46 -0800 (PST) Received: from ov04.ovh.net ([2001:41d0:303:c09e::]) by smtp.gmail.com with ESMTPSA id y16sm31757320wrt.25.2020.11.18.05.05.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Nov 2020 05:05:45 -0800 (PST) From: Gil Pedersen To: ffmpeg-devel@ffmpeg.org Date: Wed, 18 Nov 2020 13:05:16 +0000 Message-Id: <20201118130517.585-6-git@gpost.dk> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201118130517.585-1-git@gpost.dk> References: <20201118130517.585-1-git@gpost.dk> Subject: [FFmpeg-devel] [PATCH 5/6] avcodec/wavpack: use av_buffer_replace() to simplify code 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 Cc: Gil Pedersen MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: SM+TwvwjaHnp Content-Length: 1532 Signed-off-by: Gil Pedersen --- libavcodec/wavpack.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c index f77548e5a5..58122c948c 100644 --- a/libavcodec/wavpack.c +++ b/libavcodec/wavpack.c @@ -1024,13 +1024,12 @@ static int update_thread_context(AVCodecContext *dst, const AVCodecContext *src) return ret; } - av_buffer_unref(&fdst->dsd_ref); fdst->dsdctx = NULL; fdst->dsd_channels = 0; + ret = av_buffer_replace(&fdst->dsd_ref, fsrc->dsd_ref); + if (ret < 0) + return ret; if (fsrc->dsd_ref) { - fdst->dsd_ref = av_buffer_ref(fsrc->dsd_ref); - if (!fdst->dsd_ref) - return AVERROR(ENOMEM); fdst->dsdctx = (DSDContext*)fdst->dsd_ref->data; fdst->dsd_channels = fsrc->dsd_channels; } From patchwork Wed Nov 18 13:05:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gil Pedersen X-Patchwork-Id: 23687 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:c00a:0:0:0:0:0 with SMTP id c10csp248542ybf; Wed, 18 Nov 2020 05:06:26 -0800 (PST) X-Google-Smtp-Source: ABdhPJyMPMa1LZB/1YMZJp7Q3dSNwV/2wkzSIdmNidTSkdE4e1OEVde5MgdIIAqMvkZOVc6SJu9g X-Received: by 2002:adf:fa10:: with SMTP id m16mr4703856wrr.194.1605704786093; Wed, 18 Nov 2020 05:06:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605704786; cv=none; d=google.com; s=arc-20160816; b=OGiyevpTQ1TFhvaj7dKqAeQcqya+jlle6JIrWi6iBJ6ICVAW9ALZBQohhY/LOJJmm1 vL+MS0z4JutVPY39AXrejIK1SprlKKDgKQpALUj2tJujzwCSJxHdannDkJDgDb0/nL2y c78+m9KwRCHkzKzJu5/nxUQfx1mmq3WEYcmSPoP0rm78QmrbLW0dIfCVIaQpmFqkvCZS A3n6IYUcHcVpaytN46ztik0N+P54PtyZjOteiLomUXUuNXIxPBp93AaqxRQ732rBHTru ZsXjCO+Fp7sfFjz3pO7N9FrByXBmmn3TlMEHzaaRH/FBxB4Kbbp1juCbmagTWWU+IywW NhLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:delivered-to; bh=IX98x8oMu+tif6wwK19YVEo5QO+hgH66gCXY3Plu1K8=; b=H3gezOipdd6CpKXMLYD8ROoxeMJKnviMX3DFiChm4s/zPmzm7auH+46e1DKvCiN6fB IjcBhTGK0AmQlkSztfraVqfKnLpRt583XEwhNLiqyJO7+nv21/r1xxTIC58X6JPi2UXm 38H4oa/vnMlCEs6/P0WWFC9LDrzBMxj/iqG9SLC1+ovvLd+o5Q080x1cYQmIZBP7zEHL xGPhaHrZIXy3YZk28F8fcGVCtkJziVnTdwvM1OMSPAaq/Uuja0o16mdUW41XY9vmJg60 O9MtUiyup30BLhK/+q9o/y81Z9gz0TezshSdeYPYg7NEFZtQv2FPMzewZQm5Wbqv2tKL p3Cw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l3si22881557wrp.231.2020.11.18.05.06.25; Wed, 18 Nov 2020 05:06:26 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 698EB689FB5; Wed, 18 Nov 2020 15:05:55 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C2841689FB5 for ; Wed, 18 Nov 2020 15:05:47 +0200 (EET) Received: by mail-wm1-f65.google.com with SMTP id 1so2661283wme.3 for ; Wed, 18 Nov 2020 05:05:47 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=SVvE2kacYixY/1cZu3inoHgj+HWNJi9ny6f6CNgLy6I=; b=XHWaMK4eObJHl/RVbS89l1PJke/veYi5hOBk8NhoSCoGDjE2tUQlR7n6Y5ivYh19A6 skn2Wk0J9FNITTrB966NYOyzb5ZzZc2ldQ5APgNWIT1GtvpgxeHn15v7NwPYx2htScGS nMd8fJS7+ptAU/+0hb6HmeirWZAEgJVS0wcOP26TQFdUvjkSNjDXiSM74D2qDGd06O8b TuGiWZyJ6okp/8f85MdoPFlp8jbtGdKtAk6/5pBlgKUgOqRteldxkwpEL5YIoBPiwIyk bnRDuMchIooTughBsBwJbXGB1+dR4A3QMTMviRijKMFHWArrvKfn9+E/hFB1u0wobDcz NP/w== X-Gm-Message-State: AOAM532oClYzHp2rdJouTbmPe8YkT/cl4xOsoT1C+HVrKSe6UVNFB3qt vhGdI2DePTPBosqjMhvK4XTzSkztRXXwHC+K X-Received: by 2002:a1c:452:: with SMTP id 79mr2592570wme.5.1605704747134; Wed, 18 Nov 2020 05:05:47 -0800 (PST) Received: from ov04.ovh.net ([2001:41d0:303:c09e::]) by smtp.gmail.com with ESMTPSA id y16sm31757320wrt.25.2020.11.18.05.05.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Nov 2020 05:05:46 -0800 (PST) From: Gil Pedersen To: ffmpeg-devel@ffmpeg.org Date: Wed, 18 Nov 2020 13:05:17 +0000 Message-Id: <20201118130517.585-7-git@gpost.dk> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201118130517.585-1-git@gpost.dk> References: <20201118130517.585-1-git@gpost.dk> Subject: [FFmpeg-devel] [PATCH 6/6] avutil/frame: use av_buffer_replace() to simplify code 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 Cc: Gil Pedersen MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Gmk6kOBPC/hQ Content-Length: 3818 Also fixes potential leaks in failing av_frame_ref(). Signed-off-by: Gil Pedersen --- libavutil/frame.c | 37 ++++++++++++------------------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/libavutil/frame.c b/libavutil/frame.c index 3ab1aa3242..b019779b1a 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -349,7 +349,7 @@ int av_frame_get_buffer(AVFrame *frame, int align) static int frame_copy_props(AVFrame *dst, const AVFrame *src, int force_copy) { - int i; + int ret, i; dst->key_frame = src->key_frame; dst->pict_type = src->pict_type; @@ -426,31 +426,18 @@ FF_DISABLE_DEPRECATION_WARNINGS dst->qscale_table = NULL; dst->qstride = 0; dst->qscale_type = 0; - av_buffer_unref(&dst->qp_table_buf); - if (src->qp_table_buf) { - dst->qp_table_buf = av_buffer_ref(src->qp_table_buf); - if (dst->qp_table_buf) { - dst->qscale_table = dst->qp_table_buf->data; - dst->qstride = src->qstride; - dst->qscale_type = src->qscale_type; - } + av_buffer_replace(&dst->qp_table_buf, src->qp_table_buf); + if (dst->qp_table_buf) { + dst->qscale_table = dst->qp_table_buf->data; + dst->qstride = src->qstride; + dst->qscale_type = src->qscale_type; } FF_ENABLE_DEPRECATION_WARNINGS #endif - av_buffer_unref(&dst->opaque_ref); - av_buffer_unref(&dst->private_ref); - if (src->opaque_ref) { - dst->opaque_ref = av_buffer_ref(src->opaque_ref); - if (!dst->opaque_ref) - return AVERROR(ENOMEM); - } - if (src->private_ref) { - dst->private_ref = av_buffer_ref(src->private_ref); - if (!dst->private_ref) - return AVERROR(ENOMEM); - } - return 0; + ret = av_buffer_replace(&dst->opaque_ref, src->opaque_ref); + ret |= av_buffer_replace(&dst->private_ref, src->private_ref); + return ret; } int av_frame_ref(AVFrame *dst, const AVFrame *src) @@ -469,17 +456,17 @@ int av_frame_ref(AVFrame *dst, const AVFrame *src) ret = frame_copy_props(dst, src, 0); if (ret < 0) - return ret; + goto fail; /* duplicate the frame data if it's not refcounted */ if (!src->buf[0]) { ret = av_frame_get_buffer(dst, 0); if (ret < 0) - return ret; + goto fail; ret = av_frame_copy(dst, src); if (ret < 0) - av_frame_unref(dst); + goto fail; return ret; }