[FFmpeg-devel] [PATCH 05/16] ffv1enc_vulkan: minor EC optimizations
Lynne
dev at lynne.ee
Wed May 14 22:02:34 EEST 2025
---
libavcodec/vulkan/rangecoder.comp | 19 ++++++-------------
1 file changed, 6 insertions(+), 13 deletions(-)
diff --git a/libavcodec/vulkan/rangecoder.comp b/libavcodec/vulkan/rangecoder.comp
index badc65293f..9e2c5fbecf 100644
--- a/libavcodec/vulkan/rangecoder.comp
+++ b/libavcodec/vulkan/rangecoder.comp
@@ -109,14 +109,10 @@ void put_rac_direct(inout RangeCoder c, inout uint8_t state, bool bit)
#endif
int diff = c.range - range1;
- if (bit) {
- c.low += diff;
- c.range = range1;
- } else {
- c.range = diff;
- }
+ c.low += bit ? diff : 0;
+ c.range = bit ? range1 : diff;
- if (c.range < 0x100)
+ if (expectEXT(c.range < 0x100, false))
renorm_encoder(c);
state = zero_one_state[(uint(bit) << 8) + state];
@@ -139,12 +135,9 @@ void put_rac_equi(inout RangeCoder c, bool bit)
debugPrintfEXT("Error: range1 <= 0");
#endif
- if (bit) {
- c.low += c.range - range1;
- c.range = range1;
- } else {
- c.range -= range1;
- }
+ int diff = c.range - range1;
+ c.low += bit ? diff : 0;
+ c.range = bit ? range1 : diff;
if (expectEXT(c.range < 0x100, false))
renorm_encoder(c);
--
2.49.0.395.g12beb8f557c
More information about the ffmpeg-devel
mailing list