aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-01-12 23:32:57 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-01-13 18:55:46 +0100
commitbbd977162590db4b29a5532e3e7102e054ff3ae0 (patch)
treec916bb8955830b7751ac5a3b55e30b734151e32b /libavcodec
parentda144c2ddd8cb002540c219dce9ef4303d2b4ee5 (diff)
downloadffmpeg-bbd977162590db4b29a5532e3e7102e054ff3ae0.tar.gz
avcodec/diracdec: Factor +2 out of the inner loop
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/diracdec.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index fe879bb726..bbe6d87bc9 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -517,7 +517,7 @@ static inline int coeff_unpack_golomb(GetBitContext *gb, int qfactor, int qoffse
coeff = ret - 1;
}
if (coeff) {
- coeff = (coeff * qfactor + qoffset + 2) >> 2;
+ coeff = (coeff * qfactor + qoffset) >> 2;
sign = SHOW_SBITS(re, gb, 1);
LAST_SKIP_BITS(re, gb, 1);
coeff = (coeff ^ sign) - sign;
@@ -548,7 +548,7 @@ static inline int coeff_unpack_golomb(GetBitContext *gb, int qfactor, int qoffse
} \
coeff = dirac_get_arith_uint(c, pred_ctx, CTX_COEFF_DATA); \
if (coeff) { \
- coeff = (coeff * qfactor + qoffset + 2) >> 2; \
+ coeff = (coeff * qfactor + qoffset) >> 2; \
sign = dirac_get_arith_bit(c, SIGN_CTX(sign_pred)); \
coeff = (coeff ^ -sign) + sign; \
} \
@@ -600,9 +600,9 @@ static inline void codeblock(DiracContext *s, SubBand *b,
qfactor = qscale_tab[b->quant];
/* TODO: context pointer? */
if (!s->num_refs)
- qoffset = qoffset_intra_tab[b->quant];
+ qoffset = qoffset_intra_tab[b->quant] + 2;
else
- qoffset = qoffset_inter_tab[b->quant];
+ qoffset = qoffset_inter_tab[b->quant] + 2;
buf = b->ibuf + top * b->stride;
if (is_arith) {
@@ -776,7 +776,7 @@ static void decode_subband(DiracContext *s, GetBitContext *gb, int quant,
int bottom = b1->height *(slice_y+1) / s->num_y;
int qfactor = qscale_tab[quant & 0x7f];
- int qoffset = qoffset_intra_tab[quant & 0x7f];
+ int qoffset = qoffset_intra_tab[quant & 0x7f] + 2;
uint8_t *buf1 = b1->ibuf + top * b1->stride;
uint8_t *buf2 = b2 ? b2->ibuf + top * b2->stride: NULL;