summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2013-10-07 12:26:26 +0200
committerJames Zern <jzern@google.com>2013-10-21 14:56:32 +0200
commit27aec502ae10fa2012498711facd6d6f476ddc60 (patch)
tree0ca96642f57d63b3d4ee7a661bb58a6ae56e85fe /vp9
parent2f5b7ad6ca5d80affe3a7dafb0f0c97db075d282 (diff)
downloadlibvpx-27aec502ae10fa2012498711facd6d6f476ddc60.tar
libvpx-27aec502ae10fa2012498711facd6d6f476ddc60.tar.gz
libvpx-27aec502ae10fa2012498711facd6d6f476ddc60.tar.bz2
libvpx-27aec502ae10fa2012498711facd6d6f476ddc60.zip
vp9_decode_tokens: limit scope of function params
replace VP9D_COMP usage with the (slightly) more targeted VP9_COMMON/MACROBLCKD/struct segmentation structures. Change-Id: Iabb3616e231417b0e17b7e4b384ea63167a81745
Diffstat (limited to 'vp9')
-rw-r--r--vp9/decoder/vp9_decodframe.c2
-rw-r--r--vp9/decoder/vp9_detokenize.c18
-rw-r--r--vp9/decoder/vp9_detokenize.h4
3 files changed, 15 insertions, 9 deletions
diff --git a/vp9/decoder/vp9_decodframe.c b/vp9/decoder/vp9_decodframe.c
index 30e9e5ded..38e9011ce 100644
--- a/vp9/decoder/vp9_decodframe.c
+++ b/vp9/decoder/vp9_decodframe.c
@@ -169,7 +169,7 @@ static int decode_tokens(VP9D_COMP *pbi, BLOCK_SIZE bsize, vp9_reader *r) {
cm->base_qindex));
// TODO(dkovalev) if (!vp9_reader_has_error(r))
- return vp9_decode_tokens(pbi, r, bsize);
+ return vp9_decode_tokens(cm, xd, &cm->seg, r, bsize);
}
}
diff --git a/vp9/decoder/vp9_detokenize.c b/vp9/decoder/vp9_detokenize.c
index 63e5252cf..2f5b1369c 100644
--- a/vp9/decoder/vp9_detokenize.c
+++ b/vp9/decoder/vp9_detokenize.c
@@ -208,7 +208,9 @@ static int decode_coefs(VP9_COMMON *cm, const MACROBLOCKD *xd,
}
struct decode_block_args {
- VP9D_COMP *pbi;
+ VP9_COMMON *cm;
+ MACROBLOCKD *xd;
+ struct segmentation *seg;
vp9_reader *r;
int *eobtotal;
};
@@ -218,8 +220,8 @@ static void decode_block(int plane, int block, BLOCK_SIZE plane_bsize,
const struct decode_block_args* const arg = argv;
// find the maximum eob for this transform size, adjusted by segment
- MACROBLOCKD *xd = &arg->pbi->mb;
- struct segmentation *seg = &arg->pbi->common.seg;
+ MACROBLOCKD *xd = arg->xd;
+ const struct segmentation *seg = arg->seg;
struct macroblockd_plane* pd = &xd->plane[plane];
const int segment_id = xd->mi_8x8[0]->mbmi.segment_id;
const int seg_eob = get_tx_eob(seg, segment_id, tx_size);
@@ -229,7 +231,7 @@ static void decode_block(int plane, int block, BLOCK_SIZE plane_bsize,
pt = get_entropy_context(tx_size, pd->above_context + aoff,
pd->left_context + loff);
- eob = decode_coefs(&arg->pbi->common, xd, arg->r, block,
+ eob = decode_coefs(arg->cm, xd, arg->r, block,
pd->plane_type, seg_eob, BLOCK_OFFSET(pd->qcoeff, block),
tx_size, pd->dequant, pt);
@@ -239,9 +241,11 @@ static void decode_block(int plane, int block, BLOCK_SIZE plane_bsize,
*arg->eobtotal += eob;
}
-int vp9_decode_tokens(VP9D_COMP *pbi, vp9_reader *r, BLOCK_SIZE bsize) {
+int vp9_decode_tokens(VP9_COMMON *cm, MACROBLOCKD *xd,
+ struct segmentation *seg,
+ vp9_reader *r, BLOCK_SIZE bsize) {
int eobtotal = 0;
- struct decode_block_args args = {pbi, r, &eobtotal};
- foreach_transformed_block(&pbi->mb, bsize, decode_block, &args);
+ struct decode_block_args args = {cm, xd, seg, r, &eobtotal};
+ foreach_transformed_block(xd, bsize, decode_block, &args);
return eobtotal;
}
diff --git a/vp9/decoder/vp9_detokenize.h b/vp9/decoder/vp9_detokenize.h
index cf07c5629..0fb4c3cc9 100644
--- a/vp9/decoder/vp9_detokenize.h
+++ b/vp9/decoder/vp9_detokenize.h
@@ -15,6 +15,8 @@
#include "vp9/decoder/vp9_onyxd_int.h"
#include "vp9/decoder/vp9_dboolhuff.h"
-int vp9_decode_tokens(VP9D_COMP* pbi, vp9_reader *r, BLOCK_SIZE bsize);
+int vp9_decode_tokens(VP9_COMMON *cm, MACROBLOCKD *xd,
+ struct segmentation *seg,
+ vp9_reader *r, BLOCK_SIZE bsize);
#endif // VP9_DECODER_VP9_DETOKENIZE_H_