[FFmpeg-cvslog] ffv1enc_vulkan: minor EC optimizations
Lynne
git at videolan.org
Tue May 20 13:53:28 EEST 2025
ffmpeg | branch: master | Lynne <dev at lynne.ee> | Fri May 2 15:27:52 2025 +0200| [52595025c5aab5986b39ea9276c959ea6f801b78] | committer: Lynne
ffv1enc_vulkan: minor EC optimizations
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=52595025c5aab5986b39ea9276c959ea6f801b78
---
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);
More information about the ffmpeg-cvslog
mailing list