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-requ...@ffmpeg.org with subject "unsubscribe".