summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2006-10-24 08:52:51 +0000
committerMichael Niedermayer <michaelni@gmx.at>2006-10-24 08:52:51 +0000
commit8d42cf7496e5b332461a07f9ec6ec20fe15d8cb6 (patch)
treefd1e44f3a613756836c8497f9ba1073f5f0a18e4
parent62412b8d286eb28215f06c904d6a649dfa47d66a (diff)
common subexpression elimination
Originally committed as revision 6784 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/jpeg_ls.c41
1 files changed, 14 insertions, 27 deletions
diff --git a/libavcodec/jpeg_ls.c b/libavcodec/jpeg_ls.c
index b4119c4758..8dabcc06a8 100644
--- a/libavcodec/jpeg_ls.c
+++ b/libavcodec/jpeg_ls.c
@@ -248,10 +248,9 @@ static inline int ls_get_code_runterm(GetBitContext *gb, JLSState *state, int RI
int k, ret, temp, map;
int Q = 365 + RItype;
- if(!RItype)
- temp = state->A[Q];
- else
- temp = state->A[Q] + (state->N[Q] >> 1);
+ temp= state->A[Q];
+ if(RItype)
+ temp += state->N[Q] >> 1;
for(k = 0; (state->N[Q] << k) < temp; k++);
@@ -355,17 +354,6 @@ static inline void ls_decode_line(JLSState *state, MJpegDecodeContext *s, void *
else
pred = Rb + err;
}
-
- if(state->near){
- if(pred < -state->near)
- pred += state->range * state->twonear;
- else if(pred > state->maxval + state->near)
- pred -= state->range * state->twonear;
- pred = clip(pred, 0, state->maxval);
- }
-
- W(dst, x, pred);
- x += stride;
} else { /* regular mode */
int context, sign;
@@ -389,17 +377,17 @@ static inline void ls_decode_line(JLSState *state, MJpegDecodeContext *s, void *
/* we have to do something more for near-lossless coding */
pred += err;
- if(state->near) {
- if(pred < -state->near)
- pred += state->range * state->twonear;
- else if(pred > state->maxval + state->near)
- pred -= state->range * state->twonear;
- pred = clip(pred, 0, state->maxval);
- }
-
- W(dst, x, pred);
- x += stride;
}
+ if(state->near){
+ if(pred < -state->near)
+ pred += state->range * state->twonear;
+ else if(pred > state->maxval + state->near)
+ pred -= state->range * state->twonear;
+ pred = clip(pred, 0, state->maxval);
+ }
+
+ W(dst, x, pred);
+ x += stride;
}
}
@@ -677,7 +665,6 @@ static inline void ls_encode_line(JLSState *state, PutBitContext *pb, void *last
if(state->run_index[comp] > 0)
state->run_index[comp]--;
- x += stride;
} else { /* regular mode */
int context;
@@ -708,8 +695,8 @@ static inline void ls_encode_line(JLSState *state, PutBitContext *pb, void *last
}
ls_encode_regular(state, pb, context, err);
- x += stride;
}
+ x += stride;
}
}