summaryrefslogtreecommitdiff
path: root/vp9/common
diff options
context:
space:
mode:
authorJohn Koleszar <jkoleszar@google.com>2013-06-10 06:48:58 -0700
committerJohn Koleszar <jkoleszar@google.com>2013-06-10 11:40:57 -0700
commit717d744a017c828e1a56ba53731917d08cff038a (patch)
treeb583245a1d2000bc5e82152e7bb8428603e15968 /vp9/common
parentde6ec27d1a13301dd101182c954d3ec0b4e0e31d (diff)
downloadlibvpx-717d744a017c828e1a56ba53731917d08cff038a.tar
libvpx-717d744a017c828e1a56ba53731917d08cff038a.tar.gz
libvpx-717d744a017c828e1a56ba53731917d08cff038a.tar.bz2
libvpx-717d744a017c828e1a56ba53731917d08cff038a.zip
Fix use of get_uv_tx_size in loopfilter
Change the argument of get_uv_tx_size() to be an MBMI pointer, so that the correct column's MBMI can be passed to the function. Change-Id: Ied6b8ec33b77cdd353119e8fd2d157811815fc98
Diffstat (limited to 'vp9/common')
-rw-r--r--vp9/common/vp9_blockd.h8
-rw-r--r--vp9/common/vp9_loopfilter.c3
2 files changed, 6 insertions, 5 deletions
diff --git a/vp9/common/vp9_blockd.h b/vp9/common/vp9_blockd.h
index 2156be7b6..e1901d87d 100644
--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -562,8 +562,7 @@ static TX_TYPE get_tx_type_16x16(const MACROBLOCKD *xd, int ib) {
void vp9_setup_block_dptrs(MACROBLOCKD *xd,
int subsampling_x, int subsampling_y);
-static TX_SIZE get_uv_tx_size(const MACROBLOCKD *xd) {
- MB_MODE_INFO *mbmi = &xd->mode_info_context->mbmi;
+static TX_SIZE get_uv_tx_size(const MB_MODE_INFO *mbmi) {
const TX_SIZE size = mbmi->txfm_size;
switch (mbmi->sb_type) {
@@ -639,8 +638,9 @@ static INLINE void foreach_transformed_block_in_plane(
// block and transform sizes, in number of 4x4 blocks log 2 ("*_b")
// 4x4=0, 8x8=2, 16x16=4, 32x32=6, 64x64=8
// transform size varies per plane, look it up in a common way.
- const TX_SIZE tx_size =
- plane ? get_uv_tx_size(xd) : xd->mode_info_context->mbmi.txfm_size;
+ const MB_MODE_INFO* mbmi = &xd->mode_info_context->mbmi;
+ const TX_SIZE tx_size = plane ? get_uv_tx_size(mbmi)
+ : mbmi->txfm_size;
const int block_size_b = bw + bh;
const int txfrm_size_b = tx_size * 2;
diff --git a/vp9/common/vp9_loopfilter.c b/vp9/common/vp9_loopfilter.c
index 0dc834a69..49705ffcb 100644
--- a/vp9/common/vp9_loopfilter.c
+++ b/vp9/common/vp9_loopfilter.c
@@ -687,7 +687,8 @@ static void filter_block_plane(VP9_COMMON *cm, MACROBLOCKD *xd,
const int block_edge_above = b_height_log2(mi[c].mbmi.sb_type) ?
!(r & ((1 << (b_height_log2(mi[c].mbmi.sb_type)-1)) - 1)) : 1;
const int skip_this_r = skip_this && !block_edge_above;
- const TX_SIZE tx_size = plane ? get_uv_tx_size(xd) : mi[c].mbmi.txfm_size;
+ const TX_SIZE tx_size = plane ? get_uv_tx_size(&mi[c].mbmi)
+ : mi[c].mbmi.txfm_size;
// Filter level can vary per MI
if (!build_lfi(cm, &mi[c].mbmi,