diff options
author | Dmitry Kovalev <dkovalev@google.com> | 2013-08-19 15:47:24 -0700 |
---|---|---|
committer | Dmitry Kovalev <dkovalev@google.com> | 2013-08-19 15:47:24 -0700 |
commit | 82d4d9a008f9581c4ae7baad3d3fbe89a4a748a0 (patch) | |
tree | 904b735f3a66b8d8c0fddda20486afec039bd948 /vp9/decoder/vp9_detokenize.c | |
parent | 2e3478a5933254256a2634dee427daf577cf3039 (diff) | |
download | libvpx-82d4d9a008f9581c4ae7baad3d3fbe89a4a748a0.tar libvpx-82d4d9a008f9581c4ae7baad3d3fbe89a4a748a0.tar.gz libvpx-82d4d9a008f9581c4ae7baad3d3fbe89a4a748a0.tar.bz2 libvpx-82d4d9a008f9581c4ae7baad3d3fbe89a4a748a0.zip |
Passing plane_bsize to foreach_transformed_block_visitor.
Updating all foreach_transformed_block_visitor functions to work with
plane block size instead of general block. Removing a lot of duplicated
code.
Change-Id: I6a9069e27528c611f5a648e1da0c5a5fd17f1bb4
Diffstat (limited to 'vp9/decoder/vp9_detokenize.c')
-rw-r--r-- | vp9/decoder/vp9_detokenize.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/vp9/decoder/vp9_detokenize.c b/vp9/decoder/vp9_detokenize.c index 5bd0142c8..190b1756c 100644 --- a/vp9/decoder/vp9_detokenize.c +++ b/vp9/decoder/vp9_detokenize.c @@ -249,10 +249,9 @@ struct decode_block_args { int *eobtotal; }; -static void decode_block(int plane, int block, BLOCK_SIZE_TYPE bsize, +static void decode_block(int plane, int block, BLOCK_SIZE_TYPE plane_bsize, TX_SIZE tx_size, void *argv) { const struct decode_block_args* const arg = argv; - const int bw = b_width_log2(bsize); // find the maximum eob for this transform size, adjusted by segment MACROBLOCKD *xd = &arg->pbi->mb; @@ -262,7 +261,7 @@ static void decode_block(int plane, int block, BLOCK_SIZE_TYPE bsize, const int ss_txfrm_size = tx_size << 1; const int seg_eob = get_eob(seg, segment_id, 16 << ss_txfrm_size); const int off = block >> ss_txfrm_size; - const int mod = bw - tx_size - pd->subsampling_x; + const int mod = b_width_log2(plane_bsize) - tx_size; const int aoff = (off & ((1 << mod) - 1)) << tx_size; const int loff = (off >> mod) << tx_size; const int tx_size_in_blocks = 1 << tx_size; @@ -274,8 +273,8 @@ static void decode_block(int plane, int block, BLOCK_SIZE_TYPE bsize, tx_size, pd->dequant, A, L); if (xd->mb_to_right_edge < 0 || xd->mb_to_bottom_edge < 0) { - set_contexts_on_border(xd, bsize, plane, tx_size_in_blocks, eob, aoff, loff, - A, L); + set_contexts_on_border(xd, plane_bsize, plane, tx_size_in_blocks, eob, + aoff, loff, A, L); } else { int pt; for (pt = 0; pt < tx_size_in_blocks; pt++) |