From: Ronald S. Bultje Date: Sun, 9 Jun 2013 00:39:50 +0000 (-0700) Subject: Merge "New default tables" into experimental X-Git-Tag: v1.3.0~1104^2~30 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d30968c32ad7b587abc4eda167269c554f92e8a5;p=libvpx Merge "New default tables" into experimental --- d30968c32ad7b587abc4eda167269c554f92e8a5 diff --cc vp9/common/vp9_entropymode.c index 7ae527997,a40962003..ea71282c4 --- a/vp9/common/vp9_entropymode.c +++ b/vp9/common/vp9_entropymode.c @@@ -142,75 -142,60 +142,75 @@@ static const vp9_prob default_comp_ref_ }; static const vp9_prob default_single_ref_p[REF_CONTEXTS][2] = { - { 30, 17 }, - { 80, 66 }, - { 142, 129 }, - { 192, 178 }, - { 235, 248 }, + { 33, 16 }, + { 77, 74 }, + { 142, 142 }, + { 172, 170 }, + { 238, 247 } }; -void tx_counts_to_branch_counts(unsigned int *tx_count_32x32p, - unsigned int *tx_count_16x16p, - unsigned int *tx_count_8x8p, - unsigned int (*ct)[2]) { -#if TX_SIZE_PROBS == 6 - ct[0][0] = tx_count_8x8p[TX_4X4]; - ct[0][1] = tx_count_8x8p[TX_8X8]; - ct[1][0] = tx_count_16x16p[TX_4X4]; - ct[1][1] = tx_count_16x16p[TX_8X8] + tx_count_16x16p[TX_16X16]; - ct[2][0] = tx_count_16x16p[TX_8X8]; - ct[2][1] = tx_count_16x16p[TX_16X16]; - ct[3][0] = tx_count_32x32p[TX_4X4]; - ct[3][1] = tx_count_32x32p[TX_8X8] + tx_count_32x32p[TX_16X16] + - tx_count_32x32p[TX_32X32]; - ct[4][0] = tx_count_32x32p[TX_8X8]; - ct[4][1] = tx_count_32x32p[TX_16X16] + tx_count_32x32p[TX_32X32]; - ct[5][0] = tx_count_32x32p[TX_16X16]; - ct[5][1] = tx_count_32x32p[TX_32X32]; +#if TX_SIZE_CONTEXTS == 2 +const vp9_prob vp9_default_tx_probs_32x32p[TX_SIZE_CONTEXTS] + [TX_SIZE_MAX_SB - 1] = { + { 16, 32, 64, }, + { 16, 32, 64, }, +}; +const vp9_prob vp9_default_tx_probs_16x16p[TX_SIZE_CONTEXTS] + [TX_SIZE_MAX_SB - 2] = { + { 32, 64, }, + { 32, 64, }, +}; +const vp9_prob vp9_default_tx_probs_8x8p[TX_SIZE_CONTEXTS] + [TX_SIZE_MAX_SB - 3] = { + { 64, }, + { 64, }, +}; #else - ct[0][0] = tx_count_32x32p[TX_4X4] + - tx_count_16x16p[TX_4X4] + - tx_count_8x8p[TX_4X4]; - ct[0][1] = tx_count_32x32p[TX_8X8] + - tx_count_32x32p[TX_16X16] + - tx_count_32x32p[TX_32X32] + - tx_count_16x16p[TX_8X8] + - tx_count_16x16p[TX_16X16] + - tx_count_8x8p[TX_8X8]; - ct[1][0] = tx_count_32x32p[TX_8X8] + - tx_count_16x16p[TX_8X8]; - ct[1][1] = tx_count_32x32p[TX_16X16] + - tx_count_32x32p[TX_32X32] + - tx_count_16x16p[TX_16X16]; - ct[2][0] = tx_count_32x32p[TX_16X16]; - ct[2][1] = tx_count_32x32p[TX_32X32]; +const vp9_prob vp9_default_tx_probs_32x32p[TX_SIZE_CONTEXTS] + [TX_SIZE_MAX_SB - 1] = { + { 16, 32, 64, }, +}; +const vp9_prob vp9_default_tx_probs_16x16p[TX_SIZE_CONTEXTS] + [TX_SIZE_MAX_SB - 2] = { + { 32, 64, }, +}; +const vp9_prob vp9_default_tx_probs_8x8p[TX_SIZE_CONTEXTS] + [TX_SIZE_MAX_SB - 3] = { + { 64, }, +}; #endif + +void tx_counts_to_branch_counts_32x32(unsigned int *tx_count_32x32p, + unsigned int (*ct_32x32p)[2]) { + ct_32x32p[0][0] = tx_count_32x32p[TX_4X4]; + ct_32x32p[0][1] = tx_count_32x32p[TX_8X8] + + tx_count_32x32p[TX_16X16] + + tx_count_32x32p[TX_32X32]; + ct_32x32p[1][0] = tx_count_32x32p[TX_8X8]; + ct_32x32p[1][1] = tx_count_32x32p[TX_16X16] + + tx_count_32x32p[TX_32X32]; + ct_32x32p[2][0] = tx_count_32x32p[TX_16X16]; + ct_32x32p[2][1] = tx_count_32x32p[TX_32X32]; } -#if TX_SIZE_PROBS == 6 -const vp9_prob vp9_default_tx_probs[TX_SIZE_PROBS] = { - 96, 96, 96, 96, 96, 96 -}; -#else -const vp9_prob vp9_default_tx_probs[TX_SIZE_PROBS] = { - 96, 96, 96 +void tx_counts_to_branch_counts_16x16(unsigned int *tx_count_16x16p, + unsigned int (*ct_16x16p)[2]) { + ct_16x16p[0][0] = tx_count_16x16p[TX_4X4]; + ct_16x16p[0][1] = tx_count_16x16p[TX_8X8] + + tx_count_16x16p[TX_16X16]; + ct_16x16p[1][0] = tx_count_16x16p[TX_8X8]; + ct_16x16p[1][1] = tx_count_16x16p[TX_16X16]; +} + +void tx_counts_to_branch_counts_8x8(unsigned int *tx_count_8x8p, + unsigned int (*ct_8x8p)[2]) { + ct_8x8p[0][0] = tx_count_8x8p[TX_4X4]; + ct_8x8p[0][1] = tx_count_8x8p[TX_8X8]; +} + +const vp9_prob vp9_default_mbskip_probs[MBSKIP_CONTEXTS] = { + 192, 128, 64 }; -#endif void vp9_init_mbmode_probs(VP9_COMMON *x) { vpx_memcpy(x->fc.uv_mode_prob, default_if_uv_probs,