| Index: source/libvpx/vp9/common/vp9_blockd.h
|
| ===================================================================
|
| --- source/libvpx/vp9/common/vp9_blockd.h (revision 281795)
|
| +++ source/libvpx/vp9/common/vp9_blockd.h (working copy)
|
| @@ -270,18 +270,20 @@
|
|
|
| void vp9_setup_block_planes(MACROBLOCKD *xd, int ss_x, int ss_y);
|
|
|
| -static INLINE TX_SIZE get_uv_tx_size_impl(TX_SIZE y_tx_size, BLOCK_SIZE bsize) {
|
| +static INLINE TX_SIZE get_uv_tx_size_impl(TX_SIZE y_tx_size, BLOCK_SIZE bsize,
|
| + int xss, int yss) {
|
| if (bsize < BLOCK_8X8) {
|
| return TX_4X4;
|
| } else {
|
| - // TODO(dkovalev): Assuming YUV420 (ss_x == 1, ss_y == 1)
|
| - const BLOCK_SIZE plane_bsize = ss_size_lookup[bsize][1][1];
|
| + const BLOCK_SIZE plane_bsize = ss_size_lookup[bsize][xss][yss];
|
| return MIN(y_tx_size, max_txsize_lookup[plane_bsize]);
|
| }
|
| }
|
|
|
| -static INLINE TX_SIZE get_uv_tx_size(const MB_MODE_INFO *mbmi) {
|
| - return get_uv_tx_size_impl(mbmi->tx_size, mbmi->sb_type);
|
| +static INLINE TX_SIZE get_uv_tx_size(const MB_MODE_INFO *mbmi,
|
| + const struct macroblockd_plane *pd) {
|
| + return get_uv_tx_size_impl(mbmi->tx_size, mbmi->sb_type, pd->subsampling_x,
|
| + pd->subsampling_y);
|
| }
|
|
|
| static INLINE BLOCK_SIZE get_plane_block_size(BLOCK_SIZE bsize,
|
|
|