From patchwork Fri Jun 7 13:01:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 49652 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:c209:0:b0:460:55fa:d5ed with SMTP id d9csp1010248vqo; Fri, 7 Jun 2024 06:06:34 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVfQ3MmnBTifw7k8dCV5JoAT8jFX8tTIMI3pnjkaI2UnnfeImOTfbR6zta3IARDzAPFbPk1R6EPv1RyBMotZq+NIQfROjDDTS7hFA== X-Google-Smtp-Source: AGHT+IGg4ZAgXAW/ctUoQGEs4RM4A1MjWuK1anBpMbOVnaNxEvxHerBaa6Lsp4q0y3q9Dkm9w574 X-Received: by 2002:a17:906:4090:b0:a6e:c5c0:ba42 with SMTP id a640c23a62f3a-a6ec5c0bb34mr78458166b.30.1717765594056; Fri, 07 Jun 2024 06:06:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1717765594; cv=none; d=google.com; s=arc-20160816; b=CEBoXuXzyaSdpJ/gQf4O3iv8vN94Bgq6leP0eCWs/1xqsUxsmGyu4f8n63/R2M3b6L N58llBRPx7o6E3JPIJZrER9w3HmhAuDeBB9PWl/HoS2blnWqtTDmmqtidPNjA4A8wshy 4KHxbDmOwpdDSbTEde6xd3XfZ1LLbBp2oUB5jRXYLIZgUmQ+HAoPgJ1D7UU+UTH1VfNd 7dPcM4C88vYD8Bdtz36bZOyhN7TKBafyO01Bhx9otBOOm2fYgY7PNkv6t8k6nn2EuJAI PnXDn1tNgJc3oL2e6TYrxqqVkBSXIHhsQN1DR7xZrHm5Op+dOuE6lsIvc8HhpOQIbPYY prgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=Aw+8vqIs0Dsm/j1AyQ+UOt11l4PVeM2m3wZ3GD/Woh8=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=JZvDg3i30b6Bu9GX7B7sp/YbReG52ZhwjjJBJLBa17AJhj8PosCQPzmATttGx1UWRI kjfhUGMgEFu2b/I78Gi9yMIlieXvptXpRE1z0lVIwsFHyvEpbNsbtCJy72ahCFra6FJ3 g1bz8cJpg516riioMLU9tPbzEa02mBbQitG+Bz4G3P5iWRS3SqFKe5XAp1x0JzeVO07l RFHNHbLmBQWPFz3NQlPXzUtwyMR2F/I4oV9Di+4dwgcat3cItxHQPiFowf4P8VDj8E6f qGDlga8LUU2tnZcR0Nwla5Zltj/DC1hkSy1E+HHX8pDvDPXyyWyWKI1/HClqEcGk58a6 SLlg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@khirnov.net header.s=mail header.b=TrdWSmLE; 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 a640c23a62f3a-a6c8bd0e898si119930766b.343.2024.06.07.06.06.32; Fri, 07 Jun 2024 06:06:34 -0700 (PDT) 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=@khirnov.net header.s=mail header.b=TrdWSmLE; 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 75D9968D7E3; Fri, 7 Jun 2024 16:04:09 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail1.khirnov.net (quelana.khirnov.net [94.230.150.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8655668D76C for ; Fri, 7 Jun 2024 16:03:50 +0300 (EEST) Authentication-Results: mail1.khirnov.net; dkim=pass (2048-bit key; unprotected) header.d=khirnov.net header.i=@khirnov.net header.a=rsa-sha256 header.s=mail header.b=TrdWSmLE; dkim-atps=neutral Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id 470DD4DE3 for ; Fri, 7 Jun 2024 15:03:50 +0200 (CEST) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id tp2SJhRviBs8 for ; Fri, 7 Jun 2024 15:03:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=khirnov.net; s=mail; t=1717765422; bh=+tiLtGTGNwhZjSk8jdnmjPQFCInfASPgcoedArX747Y=; h=From:To:Subject:Date:In-Reply-To:References:From; b=TrdWSmLEaw4O6DJaR9uY9oJtU67A0UHnT4Ue6xhSuWFwKFBYgWjvyBN5SWNLdC05q qR7Nsv1Y7xUNsrOAjsnZkw+kHYNidRZjWM8HUhAE9Y97oZFg0Yobh5wNQcwmiWMTzu FvlU0CG3yJ+fCOPJ1brJkS3lUWTdjwywRdXk/cBw+LLM+T5oIw7M38GHf12Lz7Q2/2 zsg5gJH7U8Qcoo9M1wVehzNLQKLR7/9ssPOu3B1wc/YsIDyfccat3+Ekjgvvk3zjo3 +aQs/1jyUhvD+LYEwbEMu7qu+hJ5K8dQTGMeCo/HbZIt2n5tEPiWFpkinuOogXjyGr Bwn2E4PVcad7Q== Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail1.khirnov.net (Postfix) with ESMTPS id 7CD9E4E09 for ; Fri, 7 Jun 2024 15:03:42 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id 93F043A1A42 for ; Fri, 07 Jun 2024 15:03:35 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Fri, 7 Jun 2024 15:01:23 +0200 Message-ID: <20240607130135.9088-27-anton@khirnov.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240607130135.9088-1-anton@khirnov.net> References: <20240607130135.9088-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 27/39] lavc/hevcdec: move per-slice local_ctx setup out of hls_slice_header() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: r058zQrX6NTd Into decode_slice_data(). This is a step towards constifying HEVCContext in hls_slice_header(). --- libavcodec/hevc/hevcdec.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c index bbcaa350c7..cda52e05ef 100644 --- a/libavcodec/hevc/hevcdec.c +++ b/libavcodec/hevc/hevcdec.c @@ -1014,14 +1014,7 @@ static int hls_slice_header(HEVCContext *s, GetBitContext *gb) return AVERROR_INVALIDDATA; } - s->local_ctx[0].first_qp_group = !s->sh.dependent_slice_segment_flag; - - if (!pps->cu_qp_delta_enabled_flag) - s->local_ctx[0].qp_y = s->sh.slice_qp; - s->slice_initialized = 1; - s->local_ctx[0].tu.cu_qp_offset_cb = 0; - s->local_ctx[0].tu.cu_qp_offset_cr = 0; return 0; } @@ -2818,6 +2811,14 @@ static int decode_slice_data(HEVCContext *s, const H2645NAL *nal, GetBitContext } } + s->local_ctx[0].first_qp_group = !s->sh.dependent_slice_segment_flag; + + if (!pps->cu_qp_delta_enabled_flag) + s->local_ctx[0].qp_y = s->sh.slice_qp; + + s->local_ctx[0].tu.cu_qp_offset_cb = 0; + s->local_ctx[0].tu.cu_qp_offset_cr = 0; + if (s->avctx->active_thread_type == FF_THREAD_SLICE && s->sh.num_entry_point_offsets > 0 && pps->num_tile_rows == 1 && pps->num_tile_columns == 1)