aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2025-05-02 15:27:52 +0200
committerLynne <dev@lynne.ee>2025-05-20 19:53:01 +0900
commit52595025c5aab5986b39ea9276c959ea6f801b78 (patch)
tree1239e7f5512a48d19a9ce8d39d3d705d225c8d48
parent7c0a8c07ce75143bcaf1d2996fadcf4bd4630a39 (diff)
downloadffmpeg-52595025c5aab5986b39ea9276c959ea6f801b78.tar.gz
ffv1enc_vulkan: minor EC optimizations
-rw-r--r--libavcodec/vulkan/rangecoder.comp19
1 files 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);