summaryrefslogtreecommitdiff
path: root/vp9/decoder/vp9_idct_blk.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@google.com>2013-02-21 10:04:40 -0800
committerRonald S. Bultje <rbultje@google.com>2013-02-21 10:07:36 -0800
commit35524e223147f457cf2591062a4329fc411a4d35 (patch)
tree7c1fd8392dd7f877e7d6a129449f5f15972510f5 /vp9/decoder/vp9_idct_blk.c
parent048f59370329c0ad78a1e81e0bb8484ed18c736b (diff)
downloadlibvpx-35524e223147f457cf2591062a4329fc411a4d35.tar
libvpx-35524e223147f457cf2591062a4329fc411a4d35.tar.gz
libvpx-35524e223147f457cf2591062a4329fc411a4d35.tar.bz2
libvpx-35524e223147f457cf2591062a4329fc411a4d35.zip
Remove "eobs" array in MACROBLOCKD.
The information is a duplicate of "eob" in BLOCKD. Change-Id: Ia6416273bd004611da801e4bfa6e2d328d6f02a3
Diffstat (limited to 'vp9/decoder/vp9_idct_blk.c')
-rw-r--r--vp9/decoder/vp9_idct_blk.c61
1 files changed, 28 insertions, 33 deletions
diff --git a/vp9/decoder/vp9_idct_blk.c b/vp9/decoder/vp9_idct_blk.c
index 85bbdc6c7..6e55e45ae 100644
--- a/vp9/decoder/vp9_idct_blk.c
+++ b/vp9/decoder/vp9_idct_blk.c
@@ -16,13 +16,12 @@ void vp9_dequant_idct_add_y_block_4x4_inplace_c(int16_t *q,
const int16_t *dq,
uint8_t *dst,
int stride,
- uint16_t *eobs,
MACROBLOCKD *xd) {
int i, j;
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
- if (*eobs++ > 1) {
+ if (xd->block[i * 4 + j].eob > 1) {
xd->itxm_add(q, dq, dst, dst, stride, stride);
} else {
xd->dc_only_itxm_add(q[0]*dq[0], dst, dst, stride, stride);
@@ -40,12 +39,12 @@ void vp9_dequant_idct_add_y_block_4x4_inplace_c(int16_t *q,
void vp9_dequant_idct_add_y_block_c(int16_t *q, const int16_t *dq,
uint8_t *pre,
uint8_t *dst,
- int stride, uint16_t *eobs) {
+ int stride, MACROBLOCKD *xd) {
int i, j;
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
- if (*eobs++ > 1)
+ if (xd->block[i * 4 + j].eob > 1)
vp9_dequant_idct_add_c(q, dq, pre, dst, 16, stride);
else {
vp9_dc_only_idct_add_c(q[0]*dq[0], pre, dst, 16, stride);
@@ -65,12 +64,12 @@ void vp9_dequant_idct_add_y_block_c(int16_t *q, const int16_t *dq,
void vp9_dequant_idct_add_uv_block_c(int16_t *q, const int16_t *dq,
uint8_t *pre, uint8_t *dstu,
uint8_t *dstv, int stride,
- uint16_t *eobs) {
+ MACROBLOCKD *xd) {
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
- if (*eobs++ > 1)
+ if (xd->block[16 + i * 2 + j].eob > 1)
vp9_dequant_idct_add_c(q, dq, pre, dstu, 8, stride);
else {
vp9_dc_only_idct_add_c(q[0]*dq[0], pre, dstu, 8, stride);
@@ -88,7 +87,7 @@ void vp9_dequant_idct_add_uv_block_c(int16_t *q, const int16_t *dq,
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
- if (*eobs++ > 1)
+ if (xd->block[20 + i * 2 + j].eob > 1)
vp9_dequant_idct_add_c(q, dq, pre, dstv, 8, stride);
else {
vp9_dc_only_idct_add_c(q[0]*dq[0], pre, dstv, 8, stride);
@@ -109,13 +108,12 @@ void vp9_dequant_idct_add_uv_block_4x4_inplace_c(int16_t *q, const int16_t *dq,
uint8_t *dstu,
uint8_t *dstv,
int stride,
- uint16_t *eobs,
MACROBLOCKD *xd) {
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
- if (*eobs++ > 1) {
+ if (xd->block[16 + i * 2 + j].eob > 1) {
xd->itxm_add(q, dq, dstu, dstu, stride, stride);
} else {
xd->dc_only_itxm_add(q[0]*dq[0], dstu, dstu, stride, stride);
@@ -131,7 +129,7 @@ void vp9_dequant_idct_add_uv_block_4x4_inplace_c(int16_t *q, const int16_t *dq,
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
- if (*eobs++ > 1) {
+ if (xd->block[20 + i * 2 + j].eob > 1) {
xd->itxm_add(q, dq, dstv, dstv, stride, stride);
} else {
xd->dc_only_itxm_add(q[0]*dq[0], dstv, dstv, stride, stride);
@@ -150,78 +148,75 @@ void vp9_dequant_idct_add_y_block_8x8_inplace_c(int16_t *q,
const int16_t *dq,
uint8_t *dst,
int stride,
- uint16_t *eobs,
MACROBLOCKD *xd) {
- vp9_dequant_idct_add_8x8_c(q, dq, dst, dst, stride, stride, xd->eobs[0]);
+ vp9_dequant_idct_add_8x8_c(q, dq, dst, dst, stride, stride, xd->block[0].eob);
vp9_dequant_idct_add_8x8_c(&q[64], dq, dst + 8,
- dst + 8, stride, stride, xd->eobs[4]);
+ dst + 8, stride, stride, xd->block[4].eob);
vp9_dequant_idct_add_8x8_c(&q[128], dq, dst + 8 * stride,
dst + 8 * stride, stride, stride,
- xd->eobs[8]);
+ xd->block[8].eob);
vp9_dequant_idct_add_8x8_c(&q[192], dq, dst + 8 * stride + 8,
dst + 8 * stride + 8, stride, stride,
- xd->eobs[12]);
+ xd->block[12].eob);
}
void vp9_dequant_idct_add_y_block_8x8_c(int16_t *q, const int16_t *dq,
uint8_t *pre,
uint8_t *dst,
- int stride, uint16_t *eobs,
- MACROBLOCKD *xd) {
+ int stride, MACROBLOCKD *xd) {
uint8_t *origdest = dst;
uint8_t *origpred = pre;
- vp9_dequant_idct_add_8x8_c(q, dq, pre, dst, 16, stride, xd->eobs[0]);
+ vp9_dequant_idct_add_8x8_c(q, dq, pre, dst, 16, stride, xd->block[0].eob);
vp9_dequant_idct_add_8x8_c(&q[64], dq, origpred + 8,
- origdest + 8, 16, stride, xd->eobs[4]);
+ origdest + 8, 16, stride, xd->block[4].eob);
vp9_dequant_idct_add_8x8_c(&q[128], dq, origpred + 8 * 16,
- origdest + 8 * stride, 16, stride, xd->eobs[8]);
+ origdest + 8 * stride, 16, stride,
+ xd->block[8].eob);
vp9_dequant_idct_add_8x8_c(&q[192], dq, origpred + 8 * 16 + 8,
origdest + 8 * stride + 8, 16, stride,
- xd->eobs[12]);
+ xd->block[12].eob);
}
void vp9_dequant_idct_add_uv_block_8x8_c(int16_t *q, const int16_t *dq,
uint8_t *pre,
uint8_t *dstu,
uint8_t *dstv,
- int stride, uint16_t *eobs,
- MACROBLOCKD *xd) {
- vp9_dequant_idct_add_8x8_c(q, dq, pre, dstu, 8, stride, xd->eobs[16]);
+ int stride, MACROBLOCKD *xd) {
+ vp9_dequant_idct_add_8x8_c(q, dq, pre, dstu, 8, stride, xd->block[16].eob);
q += 64;
pre += 64;
- vp9_dequant_idct_add_8x8_c(q, dq, pre, dstv, 8, stride, xd->eobs[20]);
+ vp9_dequant_idct_add_8x8_c(q, dq, pre, dstv, 8, stride, xd->block[20].eob);
}
void vp9_dequant_idct_add_uv_block_8x8_inplace_c(int16_t *q, const int16_t *dq,
uint8_t *dstu,
uint8_t *dstv,
int stride,
- uint16_t *eobs,
MACROBLOCKD *xd) {
vp9_dequant_idct_add_8x8_c(q, dq, dstu, dstu, stride, stride,
- xd->eobs[16]);
+ xd->block[16].eob);
q += 64;
vp9_dequant_idct_add_8x8_c(q, dq, dstv, dstv, stride, stride,
- xd->eobs[20]);
+ xd->block[20].eob);
}
void vp9_dequant_idct_add_y_block_lossless_c(int16_t *q, const int16_t *dq,
uint8_t *pre,
uint8_t *dst,
- int stride, uint16_t *eobs) {
+ int stride, MACROBLOCKD *xd) {
int i, j;
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
- if (*eobs++ > 1)
+ if (xd->block[i * 4 + j].eob > 1)
vp9_dequant_idct_add_lossless_c(q, dq, pre, dst, 16, stride);
else {
vp9_dc_only_inv_walsh_add_c(q[0]*dq[0], pre, dst, 16, stride);
@@ -243,12 +238,12 @@ void vp9_dequant_idct_add_uv_block_lossless_c(int16_t *q, const int16_t *dq,
uint8_t *dstu,
uint8_t *dstv,
int stride,
- uint16_t *eobs) {
+ MACROBLOCKD *xd) {
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
- if (*eobs++ > 1)
+ if (xd->block[16 + i * 2 + j].eob > 1)
vp9_dequant_idct_add_lossless_c(q, dq, pre, dstu, 8, stride);
else {
vp9_dc_only_inv_walsh_add_c(q[0]*dq[0], pre, dstu, 8, stride);
@@ -266,7 +261,7 @@ void vp9_dequant_idct_add_uv_block_lossless_c(int16_t *q, const int16_t *dq,
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
- if (*eobs++ > 1)
+ if (xd->block[20 + i * 2 + j].eob > 1)
vp9_dequant_idct_add_lossless_c(q, dq, pre, dstv, 8, stride);
else {
vp9_dc_only_inv_walsh_add_c(q[0]*dq[0], pre, dstv, 8, stride);