UPDATE_CACHE(re, gb);
GET_VLC(code, re, gb, vlc_tab, 8, 2);
-#if MIN_CACHE_BITS < 20
- UPDATE_CACHE(re, gb);
-#endif
cb_idx = cb_vector_idx[code];
nnz = cb_idx >> 8 & 15;
bits = SHOW_UBITS(re, gb, nnz) << (32-nnz);
return -1;
}
-#if MIN_CACHE_BITS < 21
- LAST_SKIP_BITS(re, gb, b + 1);
- UPDATE_CACHE(re, gb);
-#else
SKIP_BITS(re, gb, b + 1);
-#endif
b += 4;
n = (1 << b) + SHOW_UBITS(re, gb, b);
LAST_SKIP_BITS(re, gb, b);
if(((int32_t)GET_CACHE(re, &s->gb)) <= (int32_t)0xBFFFFFFF)
goto end;
}
-#if MIN_CACHE_BITS < 19
- UPDATE_CACHE(re, &s->gb);
-#endif
/* now quantify & encode AC coefficients */
for(;;) {
GET_RL_VLC(level, run, re, &s->gb, rl->rl_vlc[0], TEX_VLC_BITS, 2, 0);
}
block[j] = level;
-#if MIN_CACHE_BITS < 19
- UPDATE_CACHE(re, &s->gb);
-#endif
if(((int32_t)GET_CACHE(re, &s->gb)) <= (int32_t)0xBFFFFFFF)
break;
-#if MIN_CACHE_BITS >= 19
UPDATE_CACHE(re, &s->gb);
-#endif
}
end:
LAST_SKIP_BITS(re, &s->gb, 2);
if(((int32_t)GET_CACHE(re, &s->gb)) <= (int32_t)0xBFFFFFFF)
goto end;
}
-#if MIN_CACHE_BITS < 19
- UPDATE_CACHE(re, &s->gb);
-#endif
/* now quantify & encode AC coefficients */
for(;;) {
}
block[j] = level;
-#if MIN_CACHE_BITS < 19
- UPDATE_CACHE(re, &s->gb);
-#endif
if(((int32_t)GET_CACHE(re, &s->gb)) <= (int32_t)0xBFFFFFFF)
break;
-#if MIN_CACHE_BITS >= 19
UPDATE_CACHE(re, &s->gb);
-#endif
}
end:
LAST_SKIP_BITS(re, &s->gb, 2);
if(((int32_t)GET_CACHE(re, &s->gb)) <= (int32_t)0xBFFFFFFF)
goto end;
}
-#if MIN_CACHE_BITS < 19
- UPDATE_CACHE(re, &s->gb);
-#endif
/* now quantify & encode AC coefficients */
for(;;) {
mismatch ^= level;
block[j] = level;
-#if MIN_CACHE_BITS < 19
- UPDATE_CACHE(re, &s->gb);
-#endif
if(((int32_t)GET_CACHE(re, &s->gb)) <= (int32_t)0xBFFFFFFF)
break;
-#if MIN_CACHE_BITS >= 19
UPDATE_CACHE(re, &s->gb);
-#endif
}
end:
LAST_SKIP_BITS(re, &s->gb, 2);
if(((int32_t)GET_CACHE(re, &s->gb)) <= (int32_t)0xBFFFFFFF)
goto end;
}
-#if MIN_CACHE_BITS < 19
- UPDATE_CACHE(re, &s->gb);
-#endif
/* now quantify & encode AC coefficients */
for(;;) {
}
block[j] = level;
-#if MIN_CACHE_BITS < 19
- UPDATE_CACHE(re, &s->gb);
-#endif
if(((int32_t)GET_CACHE(re, &s->gb)) <= (int32_t)0xBFFFFFFF)
break;
-#if MIN_CACHE_BITS >=19
UPDATE_CACHE(re, &s->gb);
-#endif
}
end:
LAST_SKIP_BITS(re, &s->gb, 2);
if(last) i+=192;
} else {
/* second escape */
-#if MIN_CACHE_BITS < 20
- LAST_SKIP_BITS(re, &s->gb, 2);
- UPDATE_CACHE(re, &s->gb);
-#else
SKIP_BITS(re, &s->gb, 2);
-#endif
GET_RL_VLC(level, run, re, &s->gb, rl_vlc, TEX_VLC_BITS, 2, 1);
i+= run + rl->max_run[run>>7][level/qmul] +1; //FIXME opt indexing
level = (level ^ SHOW_SBITS(re, &s->gb, 1)) - SHOW_SBITS(re, &s->gb, 1);
}
} else {
/* first escape */
-#if MIN_CACHE_BITS < 19
- LAST_SKIP_BITS(re, &s->gb, 1);
- UPDATE_CACHE(re, &s->gb);
-#else
SKIP_BITS(re, &s->gb, 1);
-#endif
GET_RL_VLC(level, run, re, &s->gb, rl_vlc, TEX_VLC_BITS, 2, 1);
i+= run;
level = level + rl->max_level[run>>7][(run-1)&63] * qmul;//FIXME opt indexing
#endif
} else {
/* second escape */
-#if MIN_CACHE_BITS < 23
- LAST_SKIP_BITS(re, &s->gb, 2);
- UPDATE_CACHE(re, &s->gb);
-#else
SKIP_BITS(re, &s->gb, 2);
-#endif
GET_RL_VLC(level, run, re, &s->gb, rl_vlc, TEX_VLC_BITS, 2, 1);
i+= run + rl->max_run[run>>7][level/qmul] + run_diff; //FIXME opt indexing
level = (level ^ SHOW_SBITS(re, &s->gb, 1)) - SHOW_SBITS(re, &s->gb, 1);
}
} else {
/* first escape */
-#if MIN_CACHE_BITS < 22
- LAST_SKIP_BITS(re, &s->gb, 1);
- UPDATE_CACHE(re, &s->gb);
-#else
SKIP_BITS(re, &s->gb, 1);
-#endif
GET_RL_VLC(level, run, re, &s->gb, rl_vlc, TEX_VLC_BITS, 2, 1);
i+= run;
level = level + rl->max_level[run>>7][(run-1)&63] * qmul;//FIXME opt indexing