From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id B1EFC483EB for ; Fri, 31 May 2024 17:48:46 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3222868D0AD; Fri, 31 May 2024 20:48:23 +0300 (EEST) Received: from mail1.khirnov.net (quelana.khirnov.net [94.230.150.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BECD168D5B4 for ; Fri, 31 May 2024 20:48:14 +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=ZcLn9Xuj; dkim-atps=neutral Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id 589A24DD8 for ; Fri, 31 May 2024 19:48:14 +0200 (CEST) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id uuskxs-p8PI7 for ; Fri, 31 May 2024 19:48:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=khirnov.net; s=mail; t=1717177692; bh=ORawDCNWPT763geEf9/OZpjar7J7JhRSeEU7b7pCy80=; h=From:To:Subject:Date:In-Reply-To:References:From; b=ZcLn9XujHLM18tlbL3sljB0NPTaAzbY3Cn0AkKxvPgSpXhBxaUNqCVh5KZSeLR1Z3 S+yUiZV/uA19LncOe5zzwlZma8+S/e0yf7CkWKoyQPhJVIvpVm2/GguF3nkvB0qmMU JieygZ7Hjko3356kNzOFDlf98pOjGYGcwT9IAvagOgkqUA0HSjmA8yOJMbA0yyptBE c9F80ZcYfWspu/tU/OFGPXdc2iqTIzaandyi3mcH7sdPTCLcSAoMzHxYiJeQ42t/xZ 9b+1+2OvKWuIdHBT9jaoNjDUnvyA3rqm4wrT1FJ3HeyE3SF/Aq+EVUqa/sb56F0dDA Y9+piKmObSc8g== 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 5C9F24DD7 for ; Fri, 31 May 2024 19:48:12 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id D46A33A2BDD for ; Fri, 31 May 2024 19:48:06 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Fri, 31 May 2024 19:47:41 +0200 Message-ID: <20240531174804.17572-3-anton@khirnov.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240531174804.17572-1-anton@khirnov.net> References: <20240531174804.17572-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 03/11] lavc/hevcdec: include first row in SliceHeader.offset/size 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Will be useful in the following commit. --- libavcodec/hevcdec.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index d3715f9de7..42fd33961b 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -975,8 +975,8 @@ static int hls_slice_header(HEVCContext *s) av_freep(&sh->offset); av_freep(&sh->size); sh->entry_point_offset = av_malloc_array(sh->num_entry_point_offsets, sizeof(unsigned)); - sh->offset = av_malloc_array(sh->num_entry_point_offsets, sizeof(int)); - sh->size = av_malloc_array(sh->num_entry_point_offsets, sizeof(int)); + sh->offset = av_malloc_array(sh->num_entry_point_offsets + 1, sizeof(int)); + sh->size = av_malloc_array(sh->num_entry_point_offsets + 1, sizeof(int)); if (!sh->entry_point_offset || !sh->offset || !sh->size) { sh->num_entry_point_offsets = 0; av_log(s->avctx, AV_LOG_ERROR, "Failed to allocate memory\n"); @@ -2608,10 +2608,10 @@ static int hls_decode_entry_wpp(AVCodecContext *avctxt, void *hevc_lclist, int ret; if(ctb_row) { - ret = init_get_bits8(&lc->gb, s->data + s->sh.offset[ctb_row - 1], s->sh.size[ctb_row - 1]); + ret = init_get_bits8(&lc->gb, s->data + s->sh.offset[ctb_row], s->sh.size[ctb_row]); if (ret < 0) goto error; - ff_init_cabac_decoder(&lc->cc, s->data + s->sh.offset[(ctb_row)-1], s->sh.size[ctb_row - 1]); + ff_init_cabac_decoder(&lc->cc, s->data + s->sh.offset[ctb_row], s->sh.size[ctb_row]); } while(more_data && ctb_addr_ts < s->ps.sps->ctb_size) { @@ -2738,8 +2738,8 @@ static int hls_slice_data_wpp(HEVCContext *s, const H2645NAL *nal) cmpt++; } } - s->sh.size[i - 1] = s->sh.entry_point_offset[i] - cmpt; - s->sh.offset[i - 1] = offset; + s->sh.size[i] = s->sh.entry_point_offset[i] - cmpt; + s->sh.offset[i] = offset; } @@ -2748,8 +2748,11 @@ static int hls_slice_data_wpp(HEVCContext *s, const H2645NAL *nal) av_log(s->avctx, AV_LOG_ERROR, "entry_point_offset table is corrupted\n"); return AVERROR_INVALIDDATA; } - s->sh.size[s->sh.num_entry_point_offsets - 1] = length - offset; - s->sh.offset[s->sh.num_entry_point_offsets - 1] = offset; + s->sh.size [s->sh.num_entry_point_offsets] = length - offset; + s->sh.offset[s->sh.num_entry_point_offsets] = offset; + + s->sh.offset[0] = s->sh.data_offset; + s->sh.size[0] = s->sh.offset[1] - s->sh.offset[0]; s->data = data; -- 2.43.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".