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
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".