From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id D4A9F4CA3D
	for <ffmpegdev@gitmailbox.com>; Sat, 12 Apr 2025 07:24:00 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EF56F68C637;
	Sat, 12 Apr 2025 10:23:13 +0300 (EEST)
Received: from vidala.pars.ee (vidala.pars.ee [116.203.72.101])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3ACAF68C497
 for <ffmpeg-devel@ffmpeg.org>; Sat, 12 Apr 2025 10:23:01 +0300 (EEST)
DKIM-Signature: v=1; a=rsa-sha256; s=202405r; d=lynne.ee; c=relaxed/relaxed;
 h=Message-ID:Date:Subject:To:From; t=1744442580; bh=HjYdg62WSU8T/vSLKlmkEne
 zIF2KLOsEZChV5O/xbnQ=; b=dRRsBKanoT61u587i/4I/Fg5wPj3Vo/4NW3HcNs+RyREHK1WEO
 4gMgi1/Tj0syyQS7oxWBusv8j4EQ6tzFQ9q3oLssGUnjvvMcNq5x2tMfxNJG7qrppze6LLDUAXU
 XyDVxaT66wcTXcZNqFI2wORt/8PPlKhyBUirM3NAED+ijNeTSgCTV47uNnm0BjZZ1bZzlBdDaLH
 xO24+cQ5Fi64leW6HYsA99fjLgjXYRXlGSnO3qwUj1BuVQaiUEfKclmrARH7GOZTV4IUdGKMjs3
 THBtFH30io+/MqeFxVfUmjUsFF52I1/ishHxZDxSpo8sZ+9kKm11eXhpJZojtPcHiEg==;
DKIM-Signature: v=1; a=ed25519-sha256; s=202405e; d=lynne.ee; c=relaxed/relaxed;
 h=Message-ID:Date:Subject:To:From; t=1744442580; bh=HjYdg62WSU8T/vSLKlmkEne
 zIF2KLOsEZChV5O/xbnQ=; b=vDYiCUzCX7v9mSZEL7diCEfDxU/3VGz5+LJ7iamSTzot4wfTZu
 YtHb5f10bLgScQBlHwsKou2MijmY4Kw0grBA==;
From: Lynne <dev@lynne.ee>
To: ffmpeg-devel@ffmpeg.org
Date: Sat, 12 Apr 2025 09:22:36 +0200
Message-ID: <20250412072256.77815-5-dev@lynne.ee>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <20250412072256.77815-1-dev@lynne.ee>
References: <20250412072256.77815-1-dev@lynne.ee>
MIME-Version: 1.0
Subject: [FFmpeg-devel] [PATCH 05/18] vulkan_ffv1: optimize symbol reader
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: Lynne <dev@lynne.ee>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/20250412072256.77815-5-dev@lynne.ee/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

This was the fastest variant tested.
---
 libavcodec/vulkan/ffv1_dec.comp | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/libavcodec/vulkan/ffv1_dec.comp b/libavcodec/vulkan/ffv1_dec.comp
index f9ffe1cee1..7d3150ed63 100644
--- a/libavcodec/vulkan/ffv1_dec.comp
+++ b/libavcodec/vulkan/ffv1_dec.comp
@@ -78,13 +78,11 @@ int get_isymbol(inout RangeCoder c, uint64_t state)
 
     state += 21;
 
-    int a = 1 << e;
-    int i;
-    for (i = e - 1; i >= 9; i--)
-        a |= int(get_rac(c, state + 9)) << i;  // 22..31
-
-    for (; i >= 0; i--)
-        a |= int(get_rac(c, state + i)) << i;  // 22..31
+    int a = 1;
+    for (int i = e - 1; i >= 0; i--) {
+        a <<= 1;
+        a |= int(get_rac(c, state + min(i, 9)));  // 22..31
+    }
 
     return get_rac(c, state - 11 + min(e, 10)) ? -a : a;
 }
-- 
2.47.2
_______________________________________________
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".