Commit 54fe1159 authored by Michael Niedermayer's avatar Michael Niedermayer

reverse my last change, it was wrong and broken

Originally committed as revision 6788 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 46d9fe62
...@@ -532,7 +532,7 @@ static inline void ls_encode_regular(JLSState *state, PutBitContext *pb, int Q, ...@@ -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){ static inline void ls_encode_runterm(JLSState *state, PutBitContext *pb, int RItype, int err, int limit_add){
int k; int k;
int val; int val, map;
int Q = 365 + RItype; int Q = 365 + RItype;
int temp; int temp;
...@@ -540,13 +540,14 @@ static inline void ls_encode_runterm(JLSState *state, PutBitContext *pb, int RIt ...@@ -540,13 +540,14 @@ static inline void ls_encode_runterm(JLSState *state, PutBitContext *pb, int RIt
if(RItype) if(RItype)
temp += state->N[Q] >> 1; temp += state->N[Q] >> 1;
for(k = 0; (state->N[Q] << k) < temp; k++); for(k = 0; (state->N[Q] << k) < temp; k++);
if(!k && (2 * state->B[Q] < state->N[Q])) map = 0;
err= -err; if(!k && err && (2 * state->B[Q] < state->N[Q]))
map = 1;
if(err < 0) if(err < 0)
val = - (2 * err) - 1 - RItype; val = - (2 * err) - 1 - RItype + map;
else else
val = 2 * err - RItype; val = 2 * err - RItype - map;
set_ur_golomb_jpegls(pb, val, k, state->limit - limit_add - 1, state->qbpp); set_ur_golomb_jpegls(pb, val, k, state->limit - limit_add - 1, state->qbpp);
if(err < 0) if(err < 0)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment