diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2006-10-24 10:13:26 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2006-10-24 10:13:26 +0000 |
commit | 54fe115921ac6451055fee469889d18a66fa8bea (patch) | |
tree | fbe9d9c9a532c26b37d042801b8ba3d2a23753f8 | |
parent | 46d9fe622d6d50bb9e83ccdb0a97ce2ed9a79280 (diff) | |
download | ffmpeg-54fe115921ac6451055fee469889d18a66fa8bea.tar.gz |
reverse my last change, it was wrong and broken
Originally committed as revision 6788 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/jpeg_ls.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libavcodec/jpeg_ls.c b/libavcodec/jpeg_ls.c index cb99b5f519..c0ce742c53 100644 --- a/libavcodec/jpeg_ls.c +++ b/libavcodec/jpeg_ls.c @@ -532,7 +532,7 @@ static inline void ls_encode_regular(JLSState *state, PutBitContext *pb, int Q, */ 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 @@ static inline void ls_encode_runterm(JLSState *state, PutBitContext *pb, int RIt 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) |