Module: libav
Branch: master
Commit: b4cfb8254eeeb2fc0aa2c0c36a5ede208af47a79

Author:    Mans Rullgard <[email protected]>
Committer: Mans Rullgard <[email protected]>
Date:      Fri Jul 22 00:13:27 2011 +0100

dnxhddec: avoid a branch in 10-bit decode_dct_block()

The minimum weight value is 32 so this test can be skipped for the
10-bit case.  Overall speedup 3-4%.

Signed-off-by: Mans Rullgard <[email protected]>

---

 libavcodec/dnxhddec.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c
index 426be2e..63ccd08 100644
--- a/libavcodec/dnxhddec.c
+++ b/libavcodec/dnxhddec.c
@@ -239,7 +239,7 @@ static av_always_inline void 
dnxhd_decode_dct_block(DNXHDContext *ctx,
         //av_log(ctx->avctx, AV_LOG_DEBUG, "j %d\n", j);
         //av_log(ctx->avctx, AV_LOG_DEBUG, "level %d, weight %d\n", level, 
weight_matrix[i]);
         level = (2*level+1) * qscale * weight_matrix[i];
-        if (weight_matrix[i] != level_bias)
+        if (level_bias < 32 || weight_matrix[i] != level_bias)
             level += level_bias;
         level >>= level_shift;
 

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to