Mercurial > libavcodec.hg
changeset 4076:aeb514c163ad libavcodec
reverse my last change, it was wrong and broken
author | michael |
---|---|
date | Tue, 24 Oct 2006 10:13:26 +0000 |
parents | 936c35b61bb8 |
children | fc1235327725 |
files | jpeg_ls.c |
diffstat | 1 files changed, 6 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/jpeg_ls.c Tue Oct 24 09:45:21 2006 +0000 +++ b/jpeg_ls.c Tue Oct 24 10:13:26 2006 +0000 @@ -532,7 +532,7 @@ */ static inline void ls_encode_runterm(JLSState *state, PutBitContext *pb, int RItype, int err, int limit_add){ int k; - int val; + int val, map; int Q = 365 + RItype; int temp; @@ -540,13 +540,14 @@ if(RItype) temp += state->N[Q] >> 1; for(k = 0; (state->N[Q] << k) < temp; k++); - if(!k && (2 * state->B[Q] < state->N[Q])) - err= -err; + map = 0; + if(!k && err && (2 * state->B[Q] < state->N[Q])) + map = 1; if(err < 0) - val = - (2 * err) - 1 - RItype; + val = - (2 * err) - 1 - RItype + map; else - val = 2 * err - RItype; + val = 2 * err - RItype - map; set_ur_golomb_jpegls(pb, val, k, state->limit - limit_add - 1, state->qbpp); if(err < 0)