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 B8E3D4BD76 for ; Tue, 16 Jul 2024 18:14:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 708BE68DAD2; Tue, 16 Jul 2024 21:14:05 +0300 (EEST) Received: from mail1.khirnov.net (quelana.khirnov.net [94.230.150.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 04BD268D86A for ; Tue, 16 Jul 2024 21:13:59 +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=cdo+3mmo; dkim-atps=neutral Received: from localhost (mail1.khirnov.net [IPv6:::1]) by mail1.khirnov.net (Postfix) with ESMTP id 8E1654E0B for ; Tue, 16 Jul 2024 19:16:35 +0200 (CEST) Received: from mail1.khirnov.net ([IPv6:::1]) by localhost (mail1.khirnov.net [IPv6:::1]) (amavis, port 10024) with ESMTP id lZ8tFsm7jK5J for ; Tue, 16 Jul 2024 19:16:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=khirnov.net; s=mail; t=1721150189; bh=zDZ5ug9he1z5Xq2jAKo0iS/OJOmTFo5noTrhSEAt+ek=; h=From:To:Subject:Date:In-Reply-To:References:From; b=cdo+3mmoILe5P3JoPN4/fQUpgFV4DKN3ThUaz19WLjvc0AbI7+9y4gkX8+uLaCk9j 89rZkr8N/YXaLJQb/LuOT3Uw0ewGKwzCoSIy41My7n0zAqqsR8sn71n7utTgITeL5Q HZO0JTp1p9QCBnS3MlWH0zpPFPO5fVUNpMflHdht+JjSeUfuMu1+TZeI5ThEO9JzNp gotGPAW4eP2R2z9c4TiZ8TLyqpmSRVTkKwVhksam8LnAizCvIaVJg6WsEbqnfEb6eD 9nwrvL1uTrw5QY+Sw45ENgd6YfFMSksi7Yo1bZrmCB9EgoyHyL+ReOWIkVOqDwBESS C8qmIliIX6ocw== 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 B3A694DFE for ; Tue, 16 Jul 2024 19:16:27 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id 274F53A2D03 for ; Tue, 16 Jul 2024 19:16:21 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Tue, 16 Jul 2024 19:11:36 +0200 Message-ID: <20240716171155.31838-21-anton@khirnov.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240716171155.31838-1-anton@khirnov.net> References: <20240716171155.31838-1-anton@khirnov.net> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 21/39] lavc/ffv1: move ac_byte_count to per-slice context 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: --- libavcodec/ffv1.h | 2 +- libavcodec/ffv1dec.c | 6 +++--- libavcodec/ffv1enc.c | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libavcodec/ffv1.h b/libavcodec/ffv1.h index bee7b75614..ae81940073 100644 --- a/libavcodec/ffv1.h +++ b/libavcodec/ffv1.h @@ -85,6 +85,7 @@ typedef struct FFV1SliceContext { PutBitContext pb; RangeCoder c; + int ac_byte_count; ///< number of bytes used for AC coding uint64_t rc_stat[256][2]; uint64_t (*rc_stat2[MAX_QUANT_TABLES])[32][2]; } FFV1SliceContext; @@ -109,7 +110,6 @@ typedef struct FFV1Context { const AVFrame *cur_enc_frame; int plane_count; int ac; ///< 1=range coder <-> 0=golomb rice - int ac_byte_count; ///< number of bytes used for AC coding int16_t quant_tables[MAX_QUANT_TABLES][MAX_CONTEXT_INPUTS][256]; int context_count[MAX_QUANT_TABLES]; uint8_t state_transition[256]; diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c index e0344c996b..4dc1f4b1cf 100644 --- a/libavcodec/ffv1dec.c +++ b/libavcodec/ffv1dec.c @@ -322,10 +322,10 @@ static int decode_slice(AVCodecContext *c, void *arg) if (f->ac == AC_GOLOMB_RICE) { if (f->version == 3 && f->micro_version > 1 || f->version > 3) get_rac(&sc->c, (uint8_t[]) { 129 }); - fs->ac_byte_count = f->version > 2 || (!x && !y) ? sc->c.bytestream - sc->c.bytestream_start - 1 : 0; + sc->ac_byte_count = f->version > 2 || (!x && !y) ? sc->c.bytestream - sc->c.bytestream_start - 1 : 0; init_get_bits(&gb, - sc->c.bytestream_start + fs->ac_byte_count, - (sc->c.bytestream_end - sc->c.bytestream_start - fs->ac_byte_count) * 8); + sc->c.bytestream_start + sc->ac_byte_count, + (sc->c.bytestream_end - sc->c.bytestream_start - sc->ac_byte_count) * 8); } av_assert1(width && height); diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index e3d094141c..3a6a0e6d90 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -1059,10 +1059,10 @@ retry: encode_slice_header(f, fs, sc); } if (f->ac == AC_GOLOMB_RICE) { - fs->ac_byte_count = f->version > 2 || (!x && !y) ? ff_rac_terminate(&sc->c, f->version > 2) : 0; + sc->ac_byte_count = f->version > 2 || (!x && !y) ? ff_rac_terminate(&sc->c, f->version > 2) : 0; init_put_bits(&sc->pb, - sc->c.bytestream_start + fs->ac_byte_count, - sc->c.bytestream_end - sc->c.bytestream_start - fs->ac_byte_count); + sc->c.bytestream_start + sc->ac_byte_count, + sc->c.bytestream_end - sc->c.bytestream_start - sc->ac_byte_count); } if (f->colorspace == 0 && c->pix_fmt != AV_PIX_FMT_YA8) { -- 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".