From patchwork Sat Jan 20 21:12:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 7374 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.156.27 with SMTP id q27csp1133809jak; Sat, 20 Jan 2018 13:14:13 -0800 (PST) X-Google-Smtp-Source: AH8x225bpG/Cbbx93X5ZxxQUNx3PM5KHRqgMx5Ao2euxqZ5Ciqa12/r3E+60b2njp92U2y+pmkMo X-Received: by 10.28.152.142 with SMTP id a136mr1770052wme.71.1516482853193; Sat, 20 Jan 2018 13:14:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516482853; cv=none; d=google.com; s=arc-20160816; b=bxByec5cuVLpr1CKbshTDvO7bQLQzVb8+kSKLsxyfLKeWmTcramCkOnp+dmGpIS+AT 1TNPkXjQt/GeO5oaaQgGelXSWCehgTyejuQNrLU154ygGEWF0hrJJLPbPP70GEiAXY8t 0DnsmZgdwY5eeganPttL1JorTW4qKjQCbIpGbNd6ZSxgFNf7z7ga8d1W2ozLBCL0wO00 /rLTJs1JzxT1almwTKgUgSGH8Qv8JVO5ME33goYlt9gBE7/UqgkqKsAT6B+X7itWSma4 qJiX7XsVOzLHCgmszZbf6zhsZtSPpUMzJWVm4qpr/RIdCSV/T84Ejq/WPxy3Iz6GQM41 mCnw== 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:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=nhVmvG/y144zfkRGfTakcbXNeW7bCEew/sS1nDTNEfo=; b=nxjU2g1sWK8qAj4Db9bARsvBCW8z1octnwQgwVJxVU7Groo+eNOh7cQKJf5zDFEhI6 0dV/QKej/2L1H6ZJZl5HQSO/ILaPBZJACKdYxu4oXf6XmF00w80DYUkyl6IlBG4w0foX RlwAWVd0Xr7KYOOeEKyPyXAvgeugmpuDm2NPn+ncWPjzozoitaV1zlbQl/PUcY9iGnpw ROB3bU4IhvxD9wrEa9gFYAmkb+m1eveLmouLF0ehnlPujDsLOnnHMz5X0LYsNxeAu2rA fx0sSzWQ8Yj665HikkPm0DGOJnPvbIB9UeooMcK57LI1z1T711AyOtWHDg1/gNpAmtIL t2aA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Yugm/PDC; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 19si2841970wmx.6.2018.01.20.13.14.12; Sat, 20 Jan 2018 13:14:13 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Yugm/PDC; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5F36668A1E9; Sat, 20 Jan 2018 23:14:09 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f195.google.com (mail-qt0-f195.google.com [209.85.216.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0DBB768A046 for ; Sat, 20 Jan 2018 23:14:03 +0200 (EET) Received: by mail-qt0-f195.google.com with SMTP id o35so12107664qtj.13 for ; Sat, 20 Jan 2018 13:14:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=fukxM6pDJpZqA3sFGh6BpoqfEmU9oU1RoylnCe7A2pY=; b=Yugm/PDC8mIMvFuVmSBClyIvMseyCJLjA+4Yww1aFPcex5fraYhiOKD8YAP+ScXsKw 9+ff8btOWStdi+KVNYauRL3X05Mln7EAVk7ZQIPt++Bev61J5eavP9JCCKN/12nZs9Dq Lyqpjyc40RgLer4mkWyXn50j4DXVzklaPKl1yWJXeNBlO4pwRbENaamLzGQbhCSpS0Hl FVIjCwCDN8V7nWodD/DIPFo1Kz5778xJFVf1tLuObLW33Dj0ypSf75wYCY8nO0Z9E8sW 5Bm6Kg0zHwsIyvK16X0efPKN/FN+Lkbj3LyebTbZ8V20yuSC6nhnFqJDWNBz/XR8WiK5 jC3w== 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; bh=fukxM6pDJpZqA3sFGh6BpoqfEmU9oU1RoylnCe7A2pY=; b=JKb0N1MUJUNYhT3b6yQ8g+oELC4rJv2/1xras/269i0lqZqlKyLEljs2Rv/JVzceLy 7HLlWEhbT1fUo3Q1Nlikij1hznBV4gtBGONidN0WJwpA/jydfzmkzoreAnRtUwppEtzE DU4dFQmtDch8cZ2TV2vssDVk/+VgAsESofQXs6BqdtzpRmQq4cSk13ux4P/K828MdmGH qlHE5rKdfUEHY5xgVwMfBMsbRPwuDQxaL6rpOPtzDDUEGAZi0BX+VzMbkQ2JWW35pLx3 yrscHvXadxP9l3lRmy3o02SVF0z1J/NIAerMM6FBQTxAMbrwzghsCt9e00isp03q7Tjs n3Dw== X-Gm-Message-State: AKwxytc0WRHoIbYvUra9Cq/vsw5L4cOQ+H72+cOQINpKYf39GIj39cqD JG10CAoWcY4Gtk2nvQebpDv7Dg== X-Received: by 10.55.69.83 with SMTP id s80mr3458666qka.43.1516482843023; Sat, 20 Jan 2018 13:14:03 -0800 (PST) Received: from localhost.localdomain ([181.229.225.176]) by smtp.gmail.com with ESMTPSA id c1sm8755313qta.52.2018.01.20.13.14.01 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 20 Jan 2018 13:14:02 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sat, 20 Jan 2018 18:12:49 -0300 Message-Id: <20180120211253.9676-1-jamrial@gmail.com> X-Mailer: git-send-email 2.15.0 Subject: [FFmpeg-devel] [PATCH 1/5] avcodec/hevc_ps: add a function to uninitialize parameter set buffers 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: James Almer --- libavcodec/hevc_ps.c | 16 ++++++++++++++++ libavcodec/hevc_ps.h | 2 ++ 2 files changed, 18 insertions(+) diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c index a4f7ed60f7..b18457296b 100644 --- a/libavcodec/hevc_ps.c +++ b/libavcodec/hevc_ps.c @@ -1704,6 +1704,22 @@ err: return ret; } +void ff_hevc_uninit_parameter_sets(HEVCParamSets *ps) +{ + int i; + + for (i = 0; i < FF_ARRAY_ELEMS(ps->vps_list); i++) + av_buffer_unref(&ps->vps_list[i]); + for (i = 0; i < FF_ARRAY_ELEMS(ps->sps_list); i++) + av_buffer_unref(&ps->sps_list[i]); + for (i = 0; i < FF_ARRAY_ELEMS(ps->pps_list); i++) + av_buffer_unref(&ps->pps_list[i]); + + ps->sps = NULL; + ps->pps = NULL; + ps->vps = NULL; +} + int ff_hevc_compute_poc(const HEVCSPS *sps, int pocTid0, int poc_lsb, int nal_unit_type) { int max_poc_lsb = 1 << sps->log2_max_poc_lsb; diff --git a/libavcodec/hevc_ps.h b/libavcodec/hevc_ps.h index 477ee4299a..871a58acc6 100644 --- a/libavcodec/hevc_ps.h +++ b/libavcodec/hevc_ps.h @@ -421,6 +421,8 @@ int ff_hevc_decode_nal_sps(GetBitContext *gb, AVCodecContext *avctx, int ff_hevc_decode_nal_pps(GetBitContext *gb, AVCodecContext *avctx, HEVCParamSets *ps); +void ff_hevc_uninit_parameter_sets(HEVCParamSets *ps); + int ff_hevc_decode_short_term_rps(GetBitContext *gb, AVCodecContext *avctx, ShortTermRPS *rps, const HEVCSPS *sps, int is_slice_header);