GPUs have cmovs as standard. --- libavcodec/vulkan/rangecoder.comp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/libavcodec/vulkan/rangecoder.comp b/libavcodec/vulkan/rangecoder.comp index 4272b2a42f..ba8a6cfd9d 100644 --- a/libavcodec/vulkan/rangecoder.comp +++ b/libavcodec/vulkan/rangecoder.comp @@ -219,7 +219,7 @@ void refill(inout RangeCoder c) c.range <<= 8; c.low <<= 8; if (c.bytestream < c.bytestream_end) { - c.low += u8buf(c.bytestream).v; + c.low |= u8buf(c.bytestream).v; c.bytestream++; } else { overread++; @@ -234,11 +234,10 @@ bool get_rac(inout RangeCoder c, uint64_t state) int ranged = c.range + range1; bool bit = c.low >= ranged; - int bv = bit ? 0xFFFFFFFF : 0; - sb.v = zero_one_state[(bv & 0x100) + val]; + sb.v = zero_one_state[val + (bit ? 256 : 0)]; - c.low = c.low - (bv & ranged); - c.range = (ranged & ~bv) - (range1 & bv); + c.low = c.low - (bit ? ranged : 0); + c.range = (bit ? 0 : ranged) - (bit ? range1 : 0); if (c.range < 0x100) refill(c); -- 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".