ffmpeg | branch: master | Lynne <d...@lynne.ee> | Fri Apr 4 05:49:31 2025 +0000| [defebd74c094f72af253b776882fc07b71a7db3c] | committer: Lynne
vulkan_ffv1: slightly optimize the range decoder GPUs have cmovs as standard. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=defebd74c094f72af253b776882fc07b71a7db3c --- 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); _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".