#define DCT1D(d0, d1, d2, d3, s0, s1, s2, s3, OP) \
OP(d0, 5 * ((s0) + (s1) + (s2)) + 2 * (s3)); \
OP(d1, 5 * ((s0) - (s2) - (s3)) + 2 * (s1)); \
- OP(d2, 5 * ((s0) - (s2) + (s3)) - 2 * (s3)); \
+ OP(d2, 5 * ((s0) - (s2) + (s3)) - 2 * (s1)); \
OP(d3, 5 * ((s0) - (s1) + (s2)) - 2 * (s3)); \
#define COL_OP(a, b) a = b
-#define ROW_OP(a, b) a = av_clip_uint8((((b) + 0x20) >> 6) + 0x80)
+#define ROW_OP(a, b) a = ((b) + 0x20) >> 6
static void tscc2_idct4_put(int *in, int q[3], uint8_t *dst, int stride)
{
}
dc = (dc + prev_dc) & 0xFF;
prev_dc = dc;
- c->block[0] = dc - 0x80;
+ c->block[0] = dc;
nc = get_vlc2(gb, c->nc_vlc[vlc_set].table, 9, 1);
if (nc == -1)
if (!size) {
int skip_row = 1, j, off = i * c->mb_width;
for (j = 0; j < c->mb_width; j++) {
- if (c->slice_quants[off + i] == 1 ||
- c->slice_quants[off + i] == 2) {
+ if (c->slice_quants[off + j] == 1 ||
+ c->slice_quants[off + j] == 2) {
skip_row = 0;
break;
}