summaryrefslogtreecommitdiff
path: root/vp8/decoder/idct_blk.c
diff options
context:
space:
mode:
Diffstat (limited to 'vp8/decoder/idct_blk.c')
-rw-r--r--vp8/decoder/idct_blk.c29
1 files changed, 14 insertions, 15 deletions
diff --git a/vp8/decoder/idct_blk.c b/vp8/decoder/idct_blk.c
index 44a223157..2015d5255 100644
--- a/vp8/decoder/idct_blk.c
+++ b/vp8/decoder/idct_blk.c
@@ -30,13 +30,10 @@ void vp8_dequant_dc_idct_add_y_block_c
{
for (j = 0; j < 4; j++)
{
- if (*eobs++ <= 1)
- {
- vp8_dc_only_idct_add_c (dc[0], pre, dst, 16, stride);
- }
-
- else
+ if (*eobs++ > 1)
vp8_dequant_dc_idct_add_c (q, dq, pre, dst, 16, stride, dc[0]);
+ else
+ vp8_dc_only_idct_add_c (dc[0], pre, dst, 16, stride);
q += 16;
pre += 4;
@@ -59,13 +56,14 @@ void vp8_dequant_idct_add_y_block_c
{
for (j = 0; j < 4; j++)
{
- if (*eobs++ <= 1)
+ if (*eobs++ > 1)
+ vp8_dequant_idct_add_c (q, dq, pre, dst, 16, stride);
+ else
{
vp8_dc_only_idct_add_c (q[0]*dq[0], pre, dst, 16, stride);
((int *)q)[0] = 0;
}
- else
- vp8_dequant_idct_add_c (q, dq, pre, dst, 16, stride);
+
q += 16;
pre += 4;
dst += 4;
@@ -86,13 +84,14 @@ void vp8_dequant_idct_add_uv_block_c
{
for (j = 0; j < 2; j++)
{
- if (*eobs++ <= 1)
+ if (*eobs++ > 1)
+ vp8_dequant_idct_add_c (q, dq, pre, dstu, 8, stride);
+ else
{
vp8_dc_only_idct_add_c (q[0]*dq[0], pre, dstu, 8, stride);
((int *)q)[0] = 0;
}
- else
- vp8_dequant_idct_add_c (q, dq, pre, dstu, 8, stride);
+
q += 16;
pre += 4;
dstu += 4;
@@ -106,14 +105,14 @@ void vp8_dequant_idct_add_uv_block_c
{
for (j = 0; j < 2; j++)
{
- if (*eobs++ <= 1)
+ if (*eobs++ > 1)
+ vp8_dequant_idct_add_c (q, dq, pre, dstv, 8, stride);
+ else
{
vp8_dc_only_idct_add_c (q[0]*dq[0], pre, dstv, 8, stride);
((int *)q)[0] = 0;
}
- else
- vp8_dequant_idct_add_c (q, dq, pre, dstv, 8, stride);
q += 16;
pre += 4;
dstv += 4;