#include "libavutil/opt.h"
#include "libavutil/imgutils.h"
#include "libavutil/pixdesc.h"
-#include "libavutil/timer.h"
#include "avcodec.h"
#include "get_bits.h"
#include "internal.h"
if (bits == 8)
diff = (int8_t)diff;
else {
- diff += 1 << (bits - 1);
- diff = av_mod_uintp2(diff, bits);
- diff -= 1 << (bits - 1);
+ diff = sign_extend(diff, bits);
}
return diff;
count++;
if (drift <= -count) {
- if (state->bias > -128)
- state->bias--;
+ state->bias = FFMAX(state->bias - 1, -128);
- drift += count;
- if (drift <= -count)
- drift = -count + 1;
+ drift = FFMAX(drift + count, -count + 1);
} else if (drift > 0) {
- if (state->bias < 127)
- state->bias++;
+ state->bias = FFMIN(state->bias + 1, 127);
- drift -= count;
- if (drift > 0)
- drift = 0;
+ drift = FFMIN(drift - count, 0);
}
state->drift = drift;