From 9984a155d6bb7b81bbe2260e0f5807208fa103e2 Mon Sep 17 00:00:00 2001 From: Deb Mukherjee Date: Fri, 27 Jul 2012 11:29:46 -0700 Subject: [PATCH] Merges several experiments The following five experiments are merged: newentropy newupdate adaptive_entropy (also includes a couple of parameter changes that improves results a little in common/entropymode.c and encoder/modecosts.c that were not merged from the internal branch) newintramodes expanded_coef_context Change-Id: I8a142a831786ee9dc936f22be1d42a8bced7d270 --- configure | 4 - vp8/common/blockd.h | 4 - vp8/common/default_coef_probs.h | 290 ----------------------------------- vp8/common/entropy.c | 27 +--- vp8/common/entropy.h | 8 - vp8/common/entropymode.c | 102 ++---------- vp8/common/entropymode.h | 2 - vp8/common/entropymv.c | 2 - vp8/common/loopfilter.c | 2 - vp8/common/onyxc_int.h | 4 - vp8/common/postproc.c | 2 - vp8/common/pred_common.c | 8 - vp8/common/pred_common.h | 3 - vp8/common/reconintra.c | 10 -- vp8/common/reconintra.h | 2 - vp8/common/x86/x86_systemdependent.c | 9 +- vp8/decoder/dboolhuff.c | 2 - vp8/decoder/dboolhuff.h | 2 - vp8/decoder/decodemv.c | 44 ------ vp8/decoder/decodframe.c | 45 +----- vp8/decoder/detokenize.c | 8 - vp8/encoder/bitstream.c | 142 +---------------- vp8/encoder/boolhuff.c | 2 - vp8/encoder/boolhuff.h | 2 - vp8/encoder/encodeframe.c | 19 --- vp8/encoder/modecosts.c | 7 +- vp8/encoder/onyx_if.c | 68 -------- vp8/encoder/onyx_int.h | 26 ---- vp8/encoder/rdopt.c | 27 ---- vp8/encoder/tokenize.c | 10 -- 30 files changed, 29 insertions(+), 854 deletions(-) diff --git a/configure b/configure index c517313..8e84d71 100755 --- a/configure +++ b/configure @@ -220,12 +220,8 @@ EXPERIMENT_LIST=" high_precision_mv sixteenth_subpel_uv comp_intra_pred - newentropy - newupdate superblocks - expanded_coef_context newintramodes - adaptive_entropy pred_filter lossless hybridtransform diff --git a/vp8/common/blockd.h b/vp8/common/blockd.h index 758977d..dc0639f 100644 --- a/vp8/common/blockd.h +++ b/vp8/common/blockd.h @@ -34,9 +34,7 @@ void vpx_log(const char *format, ...); #define MB_FEATURE_TREE_PROBS 3 #define PREDICTION_PROBS 3 -#if CONFIG_NEWENTROPY #define MBSKIP_CONTEXTS 3 -#endif #define MAX_MB_SEGMENTS 4 @@ -82,14 +80,12 @@ typedef enum { DC_PRED, /* average of above and left pixels */ V_PRED, /* vertical prediction */ H_PRED, /* horizontal prediction */ -#if CONFIG_NEWINTRAMODES D45_PRED, /* Directional 45 deg prediction [anti-clockwise from 0 deg hor] */ D135_PRED, /* Directional 135 deg prediction [anti-clockwise from 0 deg hor] */ D117_PRED, /* Directional 112 deg prediction [anti-clockwise from 0 deg hor] */ D153_PRED, /* Directional 157 deg prediction [anti-clockwise from 0 deg hor] */ D27_PRED, /* Directional 22 deg prediction [anti-clockwise from 0 deg hor] */ D63_PRED, /* Directional 67 deg prediction [anti-clockwise from 0 deg hor] */ -#endif TM_PRED, /* Truemotion prediction */ I8X8_PRED, /* 8x8 based prediction, each 8x8 has its own prediction mode */ B_PRED, /* block based prediction, each block has its own prediction mode */ diff --git a/vp8/common/default_coef_probs.h b/vp8/common/default_coef_probs.h index 10248cc..d0e114a 100644 --- a/vp8/common/default_coef_probs.h +++ b/vp8/common/default_coef_probs.h @@ -22,89 +22,57 @@ static const vp8_prob default_coef_probs [BLOCK_TYPES] /* Coeff Band ( 0 )*/ { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, -#else - { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 } -#endif }, { /* Coeff Band ( 1 )*/ { 253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128 }, { 189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128 }, { 90, 116, 227, 252, 214, 209, 255, 255, 128, 128, 128 }, -#else - { 106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 2 )*/ { 1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128 }, { 181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128 }, { 64, 128, 202, 247, 198, 180, 255, 219, 128, 128, 128 }, -#else - { 78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 3 )*/ { 1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128 }, { 184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128 }, { 64, 100, 216, 255, 236, 230, 128, 128, 128, 128, 128 }, -#else - { 77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 4 )*/ { 1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128 }, { 170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128 }, { 28, 110, 196, 243, 228, 255, 255, 255, 128, 128, 128 }, -#else - { 37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 5 )*/ { 1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128 }, { 207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128 }, { 90, 90, 231, 255, 211, 171, 128, 128, 128, 128, 128 }, -#else - { 102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 6 )*/ { 1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128 }, { 177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128 }, { 64, 120, 211, 255, 194, 224, 128, 128, 128, 128, 128 }, -#else - { 80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 7 )*/ { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, { 246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, { 255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, -#else - { 255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, -#endif } }, { @@ -113,89 +81,57 @@ static const vp8_prob default_coef_probs [BLOCK_TYPES] /* Coeff Band ( 0 )*/ { 198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62 }, { 131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128 }, { 48, 32, 146, 208, 149, 167, 221, 162, 255, 223, 128 }, -#else - { 68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128 }, -#endif }, { /* Coeff Band ( 1 )*/ { 1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128 }, { 184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128 }, { 66, 90, 181, 242, 176, 190, 249, 202, 255, 255, 128 }, -#else - { 81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128 }, -#endif }, { /* Coeff Band ( 2 )*/ { 1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128 }, { 99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128 }, { 18, 80, 163, 242, 170, 187, 247, 210, 255, 255, 128 }, -#else - { 23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128 }, -#endif }, { /* Coeff Band ( 3 )*/ { 1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128 }, { 109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128 }, { 36, 120, 201, 253, 205, 192, 255, 255, 128, 128, 128 }, -#else - { 44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 4 )*/ { 1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128 }, { 94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128 }, { 18, 90, 174, 245, 186, 161, 255, 199, 128, 128, 128 }, -#else - { 22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 5 )*/ { 1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128 }, { 124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128 }, { 28, 70, 181, 251, 193, 211, 255, 205, 128, 128, 128 }, -#else - { 35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 6 )*/ { 1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128 }, { 121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128 }, { 40, 90, 188, 251, 195, 217, 255, 224, 128, 128, 128 }, -#else - { 45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 7 )*/ { 1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128 }, { 203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT - { 137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128 }, { 137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128 }, -#else { 137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128 }, -#endif } }, { @@ -204,89 +140,57 @@ static const vp8_prob default_coef_probs [BLOCK_TYPES] /* Coeff Band ( 0 )*/ { 253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128 }, { 175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128 }, { 64, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128 }, -#else - { 73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128 }, -#endif }, { /* Coeff Band ( 1 )*/ { 1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128 }, { 239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128 }, { 140, 70, 195, 248, 188, 195, 255, 255, 128, 128, 128 }, -#else - { 155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 2 )*/ { 1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128 }, { 201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128 }, { 60, 40, 190, 239, 201, 218, 255, 228, 128, 128, 128 }, -#else - { 69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 3 )*/ { 1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128 }, { 223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128 }, { 132, 118, 248, 255, 255, 128, 128, 128, 128, 128, 128 }, -#else - { 141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 4 )*/ { 1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128 }, { 190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, { 149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, -#else - { 149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 5 )*/ { 1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, { 247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT - { 240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, { 240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, -#else { 240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 6 )*/ { 1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128 }, { 213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, { 48, 85, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, -#else - { 55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 7 )*/ { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, -#else - { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 }, -#endif } }, { @@ -295,93 +199,60 @@ static const vp8_prob default_coef_probs [BLOCK_TYPES] /* Coeff Band ( 0 )*/ { 202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255 }, { 126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 63, 48, 138, 219, 151, 178, 240, 170, 255, 216, 128 }, { 54, 40, 138, 219, 151, 178, 240, 170, 255, 216, 128 }, -#else - { 61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128 }, -#endif }, { /* Coeff Band ( 1 )*/ { 1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128 }, { 166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 44, 84, 162, 232, 172, 180, 245, 178, 255, 255, 128 }, { 32, 70, 162, 232, 172, 180, 245, 178, 255, 255, 128 }, -#else - { 39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128 }, -#endif }, { /* Coeff Band ( 2 )*/ { 1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128 }, { 124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT - { 24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128 }, { 24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128 }, -#else { 24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128 }, -#endif }, { /* Coeff Band ( 3 )*/ { 1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128 }, { 149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128 }, { 26, 104, 170, 242, 183, 194, 254, 223, 255, 255, 128 }, -#else - { 28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128 }, -#endif }, { /* Coeff Band ( 4 )*/ { 1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128 }, { 123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT - { 20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128 }, { 20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128 }, -#else { 20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 5 )*/ { 1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128 }, { 168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT { 47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128 }, { 47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128 }, -#else - { 47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 6 )*/ { 1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128 }, { 141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT - { 42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128 }, { 42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128 }, -#else { 42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128 }, -#endif }, { /* Coeff Band ( 7 )*/ { 1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, { 244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, -#if CONFIG_EXPANDED_COEF_CONTEXT - { 238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, { 238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, -#else { 238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128 }, -#endif } } }; -#if CONFIG_EXPANDED_COEF_CONTEXT static const vp8_prob vp8_default_coef_probs_8x8[BLOCK_TYPES_8X8] [COEF_BANDS] @@ -564,164 +435,3 @@ vp8_default_coef_probs_8x8[BLOCK_TYPES_8X8] } } }; -#else -static const vp8_prob -vp8_default_coef_probs_8x8[BLOCK_TYPES_8X8] -[COEF_BANDS] -[PREV_COEF_CONTEXTS] -[ENTROPY_NODES] = { - { - /* block Type 0 */ - { - /* Coeff Band 0 */ - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254}, - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254}, - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254} - }, - { - /* Coeff Band 1 */ - { 60, 140, 195, 255, 212, 214, 234, 244, 249, 252, 253}, - { 75, 221, 231, 255, 203, 255, 255, 255, 255, 255, 255}, - { 9, 212, 196, 251, 197, 207, 255, 185, 220, 237, 246} - }, - { - /* Coeff Band 2 */ - { 1, 227, 226, 255, 215, 215, 235, 245, 250, 252, 253}, - { 5, 163, 209, 255, 212, 212, 255, 255, 255, 255, 255}, - { 1, 133, 203, 255, 210, 220, 255, 255, 255, 255, 255} - }, - { - /* Coeff Band 3 */ - { 1, 226, 225, 255, 228, 237, 246, 250, 252, 253, 254}, - { 6, 163, 208, 255, 224, 234, 255, 255, 255, 255, 255}, - { 1, 122, 196, 253, 212, 248, 255, 255, 255, 255, 255} - }, - { - /* Coeff Band 4 */ - { 1, 222, 198, 254, 193, 216, 255, 242, 248, 251, 253}, - { 7, 140, 163, 251, 195, 211, 255, 238, 246, 250, 252}, - { 1, 91, 152, 249, 181, 197, 255, 239, 247, 251, 253} - }, - { - /* Coeff Band 5 */ - { 1, 226, 218, 255, 216, 242, 255, 255, 255, 255, 255}, - { 6, 154, 191, 255, 218, 240, 255, 255, 255, 255, 255}, - { 1, 111, 184, 255, 210, 225, 255, 255, 255, 255, 255} - }, - { - /* Coeff Band 6 */ - { 1, 221, 217, 255, 208, 217, 255, 255, 255, 255, 255}, - { 11, 155, 189, 254, 203, 211, 255, 249, 252, 253, 254}, - { 1, 110, 171, 252, 191, 204, 255, 237, 246, 250, 252} - }, - { - /* Coeff Band 7 */ - { 1, 207, 235, 255, 232, 241, 248, 251, 253, 254, 254}, - { 58, 161, 216, 255, 230, 235, 255, 255, 255, 255, 255}, - { 8, 133, 204, 255, 219, 231, 255, 255, 255, 255, 255} - } - }, - { - /* block Type 1 */ - { - /* Coeff Band 0 */ - { 134, 152, 233, 224, 234, 52, 255, 166, 210, 232, 243}, - { 97, 132, 185, 234, 186, 189, 197, 171, 255, 212, 233}, - { 84, 110, 185, 237, 182, 182, 145, 145, 255, 255, 255} - }, - { - /* Coeff Band 1 */ - { 1, 124, 213, 247, 192, 212, 255, 255, 255, 255, 255}, - { 88, 111, 178, 254, 189, 211, 255, 255, 255, 255, 255}, - { 12, 59, 129, 236, 150, 179, 239, 195, 255, 255, 255} - }, - { - /* Coeff Band 2 */ - { 1, 102, 225, 255, 210, 240, 247, 251, 253, 254, 254}, - { 110, 78, 195, 254, 200, 191, 255, 255, 255, 255, 255}, - { 37, 63, 177, 255, 194, 195, 225, 240, 247, 251, 253} - }, - { - /* Coeff Band 3 */ - { 1, 1, 229, 255, 202, 224, 239, 247, 251, 253, 254}, - { 150, 1, 192, 255, 206, 226, 240, 247, 251, 253, 254}, - { 75, 1, 138, 255, 172, 228, 241, 248, 251, 253, 254} - }, - { - /* Coeff Band 4 */ - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254}, - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254}, - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254} - }, - { - /* Coeff Band 5 */ - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254}, - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254}, - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254} - }, - { - /* Coeff Band 6 */ - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254}, - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254}, - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254} - }, - { - /* Coeff Band 7 */ - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254}, - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254}, - { 128, 191, 223, 239, 247, 251, 253, 254, 254, 254, 254} - } - }, - { - /* block Type 2 */ - { - /* Coeff Band 0 */ - { 11, 181, 226, 199, 183, 255, 255, 255, 255, 255, 255}, - { 2, 147, 185, 248, 163, 180, 255, 236, 245, 250, 252}, - { 1, 123, 157, 238, 154, 176, 255, 226, 255, 255, 255} - }, - { - /* Coeff Band 1 */ - { 1, 150, 191, 246, 174, 188, 255, 235, 245, 250, 252}, - { 1, 125, 166, 245, 165, 185, 255, 234, 244, 249, 252}, - { 1, 79, 125, 240, 148, 179, 255, 234, 255, 255, 255} - }, - { - /* Coeff Band 2 */ - { 1, 146, 184, 242, 167, 183, 255, 231, 243, 249, 252}, - { 1, 119, 160, 239, 156, 178, 255, 231, 255, 255, 255}, - { 1, 75, 115, 234, 142, 173, 255, 225, 255, 255, 255} - }, - { - /* Coeff Band 3 */ - { 1, 150, 189, 244, 169, 183, 255, 234, 244, 249, 252}, - { 1, 123, 162, 243, 161, 180, 255, 233, 244, 249, 252}, - { 1, 76, 120, 238, 148, 178, 255, 230, 255, 255, 255} - }, - { - /* Coeff Band 4 */ - { 1, 163, 202, 252, 188, 204, 255, 249, 252, 253, 254}, - { 1, 136, 180, 251, 181, 201, 255, 247, 251, 253, 254}, - { 1, 92, 146, 249, 170, 197, 255, 246, 250, 252, 253} - }, - { - /* Coeff Band 5 */ - { 1, 156, 195, 249, 179, 193, 255, 242, 248, 251, 253}, - { 1, 128, 169, 248, 171, 192, 255, 242, 248, 251, 253}, - { 1, 84, 132, 245, 158, 187, 255, 240, 247, 251, 253} - }, - { - /* Coeff Band 6 */ - { 1, 172, 209, 251, 192, 201, 255, 243, 249, 252, 253}, - { 1, 143, 185, 250, 184, 199, 255, 242, 248, 251, 253}, - { 1, 95, 147, 247, 168, 190, 255, 240, 247, 251, 253} - }, - { - /* Coeff Band 7 */ - { 1, 178, 229, 255, 218, 223, 255, 255, 255, 255, 255}, - { 36, 155, 210, 255, 212, 221, 255, 255, 255, 255, 255}, - { 6, 117, 180, 254, 199, 216, 255, 252, 253, 254, 254} - } - } -}; -#endif \ No newline at end of file diff --git a/vp8/common/entropy.c b/vp8/common/entropy.c index 397e4ae..6310572 100644 --- a/vp8/common/entropy.c +++ b/vp8/common/entropy.c @@ -47,17 +47,13 @@ DECLARE_ALIGNED(16, const unsigned char, vp8_norm[256]) = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; -DECLARE_ALIGNED(16, cuchar, vp8_coef_bands[16]) = -{ 0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7}; +DECLARE_ALIGNED(16, cuchar, vp8_coef_bands[16]) = { + 0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7 +}; -DECLARE_ALIGNED(16, cuchar, vp8_prev_token_class[MAX_ENTROPY_TOKENS]) = -#if CONFIG_EXPANDED_COEF_CONTEXT -{ 0, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 0}; -#else - { - 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0 - }; -#endif +DECLARE_ALIGNED(16, cuchar, vp8_prev_token_class[MAX_ENTROPY_TOKENS]) = { + 0, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 0 +}; DECLARE_ALIGNED(16, const int, vp8_default_zig_zag1d[16]) = { 0, 1, 4, 8, @@ -181,10 +177,6 @@ vp8_extra_bit_struct vp8_extra_bits[12] = { { 0, 0, 0, 0} }; -#if CONFIG_NEWUPDATE -const vp8_prob updprobs[4] = {128, 136, 120, 112}; -#endif - #include "default_coef_probs.h" void vp8_default_coef_probs(VP8_COMMON *pc) { @@ -201,8 +193,6 @@ void vp8_coef_tree_initialize() { vp8_tokens_from_tree(vp8_coef_encodings, vp8_coef_tree); } -#if CONFIG_ADAPTIVE_ENTROPY - // #define COEF_COUNT_TESTING #define COEF_COUNT_SAT 24 @@ -274,10 +264,8 @@ void vp8_adapt_coef_probs(VP8_COMMON *cm) { for (i = 0; i < BLOCK_TYPES; ++i) for (j = 0; j < COEF_BANDS; ++j) for (k = 0; k < PREV_COEF_CONTEXTS; ++k) { -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif vp8_tree_probs_from_distribution( MAX_ENTROPY_TOKENS, vp8_coef_encodings, vp8_coef_tree, coef_probs, branch_ct, cm->fc.coef_counts [i][j][k], @@ -298,10 +286,8 @@ void vp8_adapt_coef_probs(VP8_COMMON *cm) { for (i = 0; i < BLOCK_TYPES_8X8; ++i) for (j = 0; j < COEF_BANDS; ++j) for (k = 0; k < PREV_COEF_CONTEXTS; ++k) { -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif vp8_tree_probs_from_distribution( MAX_ENTROPY_TOKENS, vp8_coef_encodings, vp8_coef_tree, coef_probs, branch_ct, cm->fc.coef_counts_8x8 [i][j][k], @@ -319,4 +305,3 @@ void vp8_adapt_coef_probs(VP8_COMMON *cm) { } } } -#endif diff --git a/vp8/common/entropy.h b/vp8/common/entropy.h index aa1faca..8bb718a 100644 --- a/vp8/common/entropy.h +++ b/vp8/common/entropy.h @@ -89,17 +89,11 @@ extern DECLARE_ALIGNED(64, const unsigned char, vp8_coef_bands_8x8[64]); distinct bands). */ /*# define DC_TOKEN_CONTEXTS 3*/ /* 00, 0!0, !0!0 */ -#if CONFIG_EXPANDED_COEF_CONTEXT #define PREV_COEF_CONTEXTS 4 -#else -#define PREV_COEF_CONTEXTS 3 -#endif -#if CONFIG_NEWUPDATE #define SUBEXP_PARAM 4 /* Subexponential code parameter */ #define MODULUS_PARAM 13 /* Modulus parameter */ #define COEFUPDATETYPE 1 /* coef update type to use (1/2/3) */ -#endif extern DECLARE_ALIGNED(16, const unsigned char, vp8_prev_token_class[MAX_ENTROPY_TOKENS]); @@ -118,7 +112,5 @@ extern DECLARE_ALIGNED(64, const int, vp8_default_zig_zag1d_8x8[64]); extern short vp8_default_zig_zag_mask_8x8[64];// int64_t void vp8_coef_tree_initialize(void); -#if CONFIG_ADAPTIVE_ENTROPY void vp8_adapt_coef_probs(struct VP8Common *); #endif -#endif diff --git a/vp8/common/entropymode.c b/vp8/common/entropymode.c index 9edfe2e..e48df3b 100644 --- a/vp8/common/entropymode.c +++ b/vp8/common/entropymode.c @@ -17,7 +17,6 @@ const unsigned int kf_y_mode_cts[8][VP8_YMODES] = { -#if CONFIG_NEWINTRAMODES /* DC V H D45 135 117 153 D27 D63 TM i8x8 BPRED */ {12, 6, 5, 5, 5, 5, 5, 5, 5, 2, 22, 200}, {25, 13, 13, 7, 7, 7, 7, 7, 7, 6, 27, 160}, @@ -27,30 +26,14 @@ const unsigned int kf_y_mode_cts[8][VP8_YMODES] = { {68, 33, 35, 8, 8, 8, 8, 8, 8, 17, 20, 68}, {78, 38, 38, 8, 8, 8, 8, 8, 8, 19, 16, 52}, {89, 42, 42, 8, 8, 8, 8, 8, 8, 21, 12, 34}, -#else - {17, 6, 5, 2, 22, 203}, - {27, 13, 13, 6, 27, 170}, - {35, 17, 18, 9, 26, 152}, - {45, 22, 24, 12, 27, 126}, - {58, 26, 29, 13, 26, 104}, - {73, 33, 36, 17, 20, 78}, - {88, 38, 39, 19, 16, 57}, - {99, 42, 43, 21, 12, 39}, -#endif }; -static const unsigned int y_mode_cts [VP8_YMODES] = -#if CONFIG_NEWINTRAMODES +static const unsigned int y_mode_cts [VP8_YMODES] = { /* DC V H D45 135 117 153 D27 D63 TM i8x8 BPRED */ -{98, 19, 15, 14, 14, 14, 14, 12, 12, 13, 16, 70}; -#else - { - 106, 25, 21, 13, 16, 74 - }; -#endif + 98, 19, 15, 14, 14, 14, 14, 12, 12, 13, 16, 70 +}; static const unsigned int uv_mode_cts [VP8_YMODES] [VP8_UV_MODES] = { -#if CONFIG_NEWINTRAMODES /* DC V H D45 135 117 153 D27 D63 TM */ { 200, 15, 15, 10, 10, 10, 10, 10, 10, 6}, /* DC */ { 130, 75, 10, 10, 10, 10, 10, 10, 10, 6}, /* V */ @@ -64,28 +47,14 @@ static const unsigned int uv_mode_cts [VP8_YMODES] [VP8_UV_MODES] = { { 160, 30, 30, 10, 10, 10, 10, 10, 10, 16}, /* TM */ { 132, 46, 40, 10, 10, 10, 10, 10, 10, 18}, /* i8x8 - never used */ { 150, 35, 41, 10, 10, 10, 10, 10, 10, 10}, /* BPRED */ -#else - { 210, 20, 20, 6}, - { 180, 60, 10, 6}, - { 150, 20, 80, 6}, - { 170, 35, 35, 16}, - { 142, 51, 45, 18}, /* never used */ - { 160, 40, 46, 10}, -#endif }; -static const unsigned int i8x8_mode_cts [VP8_I8X8_MODES] = -#if CONFIG_NEWINTRAMODES +static const unsigned int i8x8_mode_cts [VP8_I8X8_MODES] = { /* DC V H D45 135 117 153 D27 D63 TM */ -{73, 49, 61, 30, 30, 30, 30, 30, 30, 13}; -#else - { - 93, 69, 81, 13 - }; -#endif + 73, 49, 61, 30, 30, 30, 30, 30, 30, 13 +}; static const unsigned int kf_uv_mode_cts [VP8_YMODES] [VP8_UV_MODES] = { -#if CONFIG_NEWINTRAMODES // DC V H D45 135 117 153 D27 D63 TM { 160, 24, 24, 20, 20, 20, 20, 20, 20, 8}, /* DC */ { 102, 64, 30, 20, 20, 20, 20, 20, 20, 10}, /* V */ @@ -99,14 +68,6 @@ static const unsigned int kf_uv_mode_cts [VP8_YMODES] [VP8_UV_MODES] = { { 132, 36, 30, 20, 20, 20, 20, 20, 20, 18}, /* TM */ { 122, 41, 35, 20, 20, 20, 20, 20, 20, 18}, /* i8x8 - never used */ { 122, 41, 35, 20, 20, 20, 20, 20, 20, 18}, /* BPRED */ -#else - { 180, 34, 34, 8}, - { 132, 74, 40, 10}, - { 132, 40, 74, 10}, - { 152, 46, 40, 18}, - { 142, 51, 45, 18}, /* never used */ - { 142, 51, 45, 18}, -#endif }; static const unsigned int bmode_cts[VP8_BINTRAMODES] = { @@ -201,7 +162,6 @@ const vp8_tree_index vp8_bmode_tree[VP8_BINTRAMODES * 2 - 2] = /* INTRAMODECONTE -B_HD_PRED, -B_HU_PRED /* 8 = HD_NODE */ }; -#if CONFIG_NEWINTRAMODES /* Again, these trees use the same probability indices as their explicitly-programmed predecessors. */ const vp8_tree_index vp8_ymode_tree[VP8_YMODES * 2 - 2] = { @@ -256,39 +216,6 @@ const vp8_tree_index vp8_uv_mode_tree[VP8_UV_MODES * 2 - 2] = { -H_PRED, -TM_PRED }; -#else /* CONFIG_NEWINTRAMODES */ - -/* Again, these trees use the same probability indices as their - explicitly-programmed predecessors. */ -const vp8_tree_index vp8_ymode_tree[10] = { - -DC_PRED, 2, - 4, 6, - -V_PRED, -H_PRED, - -TM_PRED, 8, - -B_PRED, -I8X8_PRED -}; - -const vp8_tree_index vp8_kf_ymode_tree[10] = { - -B_PRED, 2, - 4, 6, - -DC_PRED, -V_PRED, - -H_PRED, 8, - -TM_PRED, -I8X8_PRED -}; - -const vp8_tree_index vp8_i8x8_mode_tree[6] = { - -DC_PRED, 2, - -V_PRED, 4, - -H_PRED, -TM_PRED -}; -const vp8_tree_index vp8_uv_mode_tree[6] = { - -DC_PRED, 2, - -V_PRED, 4, - -H_PRED, -TM_PRED -}; - -#endif /* CONFIG_NEWINTRAMODES */ - const vp8_tree_index vp8_mbsplit_tree[6] = { -3, 2, -2, 4, @@ -457,7 +384,7 @@ void vp8_accum_mv_refs(VP8_COMMON *pc, } #define MVREF_COUNT_SAT 20 -#define MVREF_MAX_UPDATE_FACTOR 128 +#define MVREF_MAX_UPDATE_FACTOR 144 void vp8_update_mode_context(VP8_COMMON *pc) { int i, j; int (*mv_ref_ct)[4][2]; @@ -475,7 +402,6 @@ void vp8_update_mode_context(VP8_COMMON *pc) { for (i = 0; i < 4; i++) { int this_prob; int count = mv_ref_ct[j][i][0] + mv_ref_ct[j][i][1]; -#if CONFIG_ADAPTIVE_ENTROPY int factor; { this_prob = count > 0 ? 256 * mv_ref_ct[j][i][0] / count : 128; @@ -486,14 +412,6 @@ void vp8_update_mode_context(VP8_COMMON *pc) { this_prob = this_prob ? (this_prob < 255 ? this_prob : 255) : 1; mode_context[j][i] = this_prob; } -#else - /* preventing rare occurances from skewing the probs */ - if (count >= 4) { - this_prob = 256 * mv_ref_ct[j][i][0] / count; - this_prob = this_prob ? (this_prob < 255 ? this_prob : 255) : 1; - mode_context[j][i] = this_prob; - } -#endif } } } @@ -529,10 +447,9 @@ void print_mv_ref_cts(VP8_COMMON *pc) { } } -#if CONFIG_ADAPTIVE_ENTROPY // #define MODE_COUNT_TESTING -#define MODE_COUNT_SAT 16 -#define MODE_MAX_UPDATE_FACTOR 128 +#define MODE_COUNT_SAT 20 +#define MODE_MAX_UPDATE_FACTOR 144 void vp8_adapt_mode_probs(VP8_COMMON *cm) { int i, t, count, factor; unsigned int branch_ct[32][2]; @@ -671,4 +588,3 @@ void vp8_adapt_mode_probs(VP8_COMMON *cm) { else cm->fc.mbsplit_prob[t] = prob; } } -#endif diff --git a/vp8/common/entropymode.h b/vp8/common/entropymode.h index 5d753f7..f66c1c8 100644 --- a/vp8/common/entropymode.h +++ b/vp8/common/entropymode.h @@ -66,7 +66,5 @@ extern void vp8_accum_mv_refs(VP8_COMMON *pc, void vp8_default_bmode_probs(vp8_prob dest [VP8_BINTRAMODES - 1]); void vp8_kf_default_bmode_probs(vp8_prob dest [VP8_BINTRAMODES] [VP8_BINTRAMODES] [VP8_BINTRAMODES - 1]); -#if CONFIG_ADAPTIVE_ENTROPY void vp8_adapt_mode_probs(struct VP8Common *); #endif -#endif diff --git a/vp8/common/entropymv.c b/vp8/common/entropymv.c index 6c91e36..3dd72cc 100644 --- a/vp8/common/entropymv.c +++ b/vp8/common/entropymv.c @@ -278,7 +278,6 @@ void vp8_entropy_mv_init() { #endif } -#if CONFIG_ADAPTIVE_ENTROPY // #define MV_COUNT_TESTING #define MV_COUNT_SAT 16 #define MV_MAX_UPDATE_FACTOR 128 @@ -412,4 +411,3 @@ void vp8_adapt_mv_probs(VP8_COMMON *cm) { } #endif } -#endif /* CONFIG_ADAPTIVE_ENTROPY */ diff --git a/vp8/common/loopfilter.c b/vp8/common/loopfilter.c index 70565ee..02af3cc 100644 --- a/vp8/common/loopfilter.c +++ b/vp8/common/loopfilter.c @@ -132,14 +132,12 @@ static void lf_init_lut(loop_filter_info_n *lfi) { } lfi->mode_lf_lut[DC_PRED] = 1; -#if CONFIG_NEWINTRAMODES lfi->mode_lf_lut[D45_PRED] = 1; lfi->mode_lf_lut[D135_PRED] = 1; lfi->mode_lf_lut[D117_PRED] = 1; lfi->mode_lf_lut[D153_PRED] = 1; lfi->mode_lf_lut[D27_PRED] = 1; lfi->mode_lf_lut[D63_PRED] = 1; -#endif lfi->mode_lf_lut[V_PRED] = 1; lfi->mode_lf_lut[H_PRED] = 1; lfi->mode_lf_lut[TM_PRED] = 1; diff --git a/vp8/common/onyxc_int.h b/vp8/common/onyxc_int.h index 16f52d6..8f2417f 100644 --- a/vp8/common/onyxc_int.h +++ b/vp8/common/onyxc_int.h @@ -55,7 +55,6 @@ typedef struct frame_contexts { #if CONFIG_HIGH_PRECISION_MV MV_CONTEXT_HP mvc_hp[2]; #endif -#if CONFIG_ADAPTIVE_ENTROPY MV_CONTEXT pre_mvc[2]; #if CONFIG_HIGH_PRECISION_MV MV_CONTEXT_HP pre_mvc_hp[2]; @@ -83,7 +82,6 @@ typedef struct frame_contexts { #if CONFIG_HIGH_PRECISION_MV unsigned int MVcount_hp [2] [MVvals_hp]; #endif -#endif /* CONFIG_ADAPTIVE_ENTROPY */ int mode_context[6][4]; int mode_context_a[6][4]; int vp8_mode_contexts[6][4]; @@ -249,9 +247,7 @@ typedef struct VP8Common { vp8_prob prob_comppred[COMP_PRED_CONTEXTS]; -#if CONFIG_NEWENTROPY vp8_prob mbskip_pred_probs[MBSKIP_CONTEXTS]; -#endif FRAME_CONTEXT lfc_a; /* last alt ref entropy */ FRAME_CONTEXT lfc; /* last frame entropy */ diff --git a/vp8/common/postproc.c b/vp8/common/postproc.c index 66bd539..17bbe32 100644 --- a/vp8/common/postproc.c +++ b/vp8/common/postproc.c @@ -31,14 +31,12 @@ static const unsigned char MB_PREDICTION_MODE_colors[MB_MODE_COUNT][3] = { { RGB_TO_YUV(0x98FB98) }, /* PaleGreen */ { RGB_TO_YUV(0x00FF00) }, /* Green */ { RGB_TO_YUV(0xADFF2F) }, /* GreenYellow */ -#if CONFIG_NEWINTRAMODES { RGB_TO_YUV(0x8F0000) }, /* Dark Red */ { RGB_TO_YUV(0x008F8F) }, /* Dark Cyan */ { RGB_TO_YUV(0x008F8F) }, /* Dark Cyan */ { RGB_TO_YUV(0x008F8F) }, /* Dark Cyan */ { RGB_TO_YUV(0x8F0000) }, /* Dark Red */ { RGB_TO_YUV(0x8F0000) }, /* Dark Red */ -#endif { RGB_TO_YUV(0x228B22) }, /* ForestGreen */ { RGB_TO_YUV(0x006400) }, /* DarkGreen */ { RGB_TO_YUV(0x98F5FF) }, /* Cadet Blue */ diff --git a/vp8/common/pred_common.c b/vp8/common/pred_common.c index f617a0f..2d46496 100644 --- a/vp8/common/pred_common.c +++ b/vp8/common/pred_common.c @@ -57,12 +57,10 @@ unsigned char get_pred_context(VP8_COMMON *const cm, break; -#if CONFIG_NEWENTROPY case PRED_MBSKIP: pred_context = (m - 1)->mbmi.mb_skip_coeff + (m - cm->mode_info_stride)->mbmi.mb_skip_coeff; break; -#endif default: // TODO *** add error trap code. @@ -100,11 +98,9 @@ vp8_prob get_pred_prob(VP8_COMMON *const cm, pred_probability = cm->prob_comppred[pred_context]; break; -#if CONFIG_NEWENTROPY case PRED_MBSKIP: pred_probability = cm->mbskip_pred_probs[pred_context]; break; -#endif default: // TODO *** add error trap code. @@ -130,11 +126,9 @@ unsigned char get_pred_flag(MACROBLOCKD *const xd, pred_flag = xd->mode_info_context->mbmi.ref_predicted; break; -#if CONFIG_NEWENTROPY case PRED_MBSKIP: pred_flag = xd->mode_info_context->mbmi.mb_skip_coeff; break; -#endif default: // TODO *** add error trap code. @@ -159,11 +153,9 @@ void set_pred_flag(MACROBLOCKD *const xd, xd->mode_info_context->mbmi.ref_predicted = pred_flag; break; -#if CONFIG_NEWENTROPY case PRED_MBSKIP: xd->mode_info_context->mbmi.mb_skip_coeff = pred_flag; break; -#endif default: // TODO *** add error trap code. diff --git a/vp8/common/pred_common.h b/vp8/common/pred_common.h index 9a7c13c..a1b019f 100644 --- a/vp8/common/pred_common.h +++ b/vp8/common/pred_common.h @@ -21,10 +21,7 @@ typedef enum { PRED_SEG_ID = 0, // Segment identifier PRED_REF = 1, PRED_COMP = 2, -#if CONFIG_NEWENTROPY PRED_MBSKIP = 3, -#endif - } PRED_ID; diff --git a/vp8/common/reconintra.c b/vp8/common/reconintra.c index e06d914..6e9bb64 100644 --- a/vp8/common/reconintra.c +++ b/vp8/common/reconintra.c @@ -18,7 +18,6 @@ * vp8_build_intra_predictors_mbuv_s(MACROBLOCKD *x). */ -#if CONFIG_NEWINTRAMODES void d27_predictor(unsigned char *ypred_ptr, int y_stride, int n, unsigned char *yabove_row, unsigned char *yleft_col) { int r, c, h, w, v; @@ -196,7 +195,6 @@ void d153_predictor(unsigned char *ypred_ptr, int y_stride, int n, ypred_ptr += y_stride; } } -#endif /* CONFIG_NEWINTRAMODES */ void vp8_recon_intra_mbuv(const vp8_recon_rtcd_vtable_t *rtcd, MACROBLOCKD *x) { int i; @@ -293,7 +291,6 @@ void vp8_build_intra_predictors_mby_internal(MACROBLOCKD *x, unsigned char *ypre } break; -#if CONFIG_NEWINTRAMODES case D45_PRED: { d45_predictor(ypred_ptr, y_stride, 16, yabove_row, yleft_col); } @@ -318,7 +315,6 @@ void vp8_build_intra_predictors_mby_internal(MACROBLOCKD *x, unsigned char *ypre d63_predictor(ypred_ptr, y_stride, 16, yabove_row, yleft_col); } break; -#endif #if CONIFG_I8X8 case I8X8_PRED: #endif @@ -475,7 +471,6 @@ void vp8_build_intra_predictors_mbuv_internal(MACROBLOCKD *x, } break; -#if CONFIG_NEWINTRAMODES case D45_PRED: { d45_predictor(upred_ptr, uv_stride, 8, uabove_row, uleft_col); d45_predictor(vpred_ptr, uv_stride, 8, vabove_row, vleft_col); @@ -506,7 +501,6 @@ void vp8_build_intra_predictors_mbuv_internal(MACROBLOCKD *x, d63_predictor(vpred_ptr, uv_stride, 8, vabove_row, vleft_col); } break; -#endif case B_PRED: case NEARESTMV: case NEARMV: @@ -617,7 +611,6 @@ void vp8_intra8x8_predict(BLOCKD *x, } } break; -#if CONFIG_NEWINTRAMODES case D45_PRED: { d45_predictor(predictor, 16, 8, yabove_row, yleft_col); } @@ -642,7 +635,6 @@ void vp8_intra8x8_predict(BLOCKD *x, d63_predictor(predictor, 16, 8, yabove_row, yleft_col); } break; -#endif } } @@ -732,7 +724,6 @@ void vp8_intra_uv4x4_predict(BLOCKD *x, } } break; -#if CONFIG_NEWINTRAMODES case D45_PRED: { d45_predictor(predictor, 8, 4, above_row, left_col); } @@ -757,7 +748,6 @@ void vp8_intra_uv4x4_predict(BLOCKD *x, d63_predictor(predictor, 8, 4, above_row, left_col); } break; -#endif } } diff --git a/vp8/common/reconintra.h b/vp8/common/reconintra.h index 03b50f2..1314343 100644 --- a/vp8/common/reconintra.h +++ b/vp8/common/reconintra.h @@ -13,7 +13,6 @@ #define __INC_RECONINTRA_H #include "blockd.h" -#if CONFIG_NEWINTRAMODES void d45_predictor(unsigned char *ypred_ptr, int y_stride, int n, unsigned char *yabove_row, unsigned char *yleft_col); void d135_predictor(unsigned char *ypred_ptr, int y_stride, int n, @@ -26,7 +25,6 @@ void d27_predictor(unsigned char *ypred_ptr, int y_stride, int n, unsigned char *yabove_row, unsigned char *yleft_col); void d64_predictor(unsigned char *ypred_ptr, int y_stride, int n, unsigned char *yabove_row, unsigned char *yleft_col); -#endif /* CONFIG_NEWINTRAMODES */ extern void init_intra_left_above_pixels(MACROBLOCKD *x); diff --git a/vp8/common/x86/x86_systemdependent.c b/vp8/common/x86/x86_systemdependent.c index 7bce3ca..d60442f 100644 --- a/vp8/common/x86/x86_systemdependent.c +++ b/vp8/common/x86/x86_systemdependent.c @@ -81,12 +81,13 @@ void vp8_arch_x86_common_init(VP8_COMMON *ctx) { rtcd->recon.recon2 = vp8_recon2b_sse2; rtcd->recon.recon4 = vp8_recon4b_sse2; rtcd->recon.copy16x16 = vp8_copy_mem16x16_sse2; -#if CONFIG_NEWINTRAMODES == 0 + + /* these are disable because of unsupported diagonal pred modes rtcd->recon.build_intra_predictors_mbuv = vp8_build_intra_predictors_mbuv_sse2; rtcd->recon.build_intra_predictors_mbuv_s = vp8_build_intra_predictors_mbuv_s_sse2; -#endif + */ // rtcd->idct.iwalsh16 = vp8_short_inv_walsh4x4_sse2; @@ -129,12 +130,12 @@ void vp8_arch_x86_common_init(VP8_COMMON *ctx) { rtcd->subpix.bilinear8x8 = vp8_bilinear_predict8x8_ssse3; #endif -#if CONFIG_NEWINTRAMODES == 0 + /* these are disable because of unsupported diagonal pred modes rtcd->recon.build_intra_predictors_mbuv = vp8_build_intra_predictors_mbuv_ssse3; rtcd->recon.build_intra_predictors_mbuv_s = vp8_build_intra_predictors_mbuv_s_ssse3; -#endif + */ } #endif diff --git a/vp8/decoder/dboolhuff.c b/vp8/decoder/dboolhuff.c index fcb76f3..1539f8b 100644 --- a/vp8/decoder/dboolhuff.c +++ b/vp8/decoder/dboolhuff.c @@ -50,7 +50,6 @@ void vp8dx_bool_decoder_fill(BOOL_DECODER *br) { } -#if CONFIG_NEWUPDATE static int get_unsigned_bits(unsigned num_values) { int cat = 0; if ((num_values--) <= 1) return 0; @@ -99,4 +98,3 @@ int vp8_decode_term_subexp(BOOL_DECODER *br, int k, int num_syms) { } return word; } -#endif diff --git a/vp8/decoder/dboolhuff.h b/vp8/decoder/dboolhuff.h index b3ff45d..8768e62 100644 --- a/vp8/decoder/dboolhuff.h +++ b/vp8/decoder/dboolhuff.h @@ -41,11 +41,9 @@ int vp8dx_start_decode(BOOL_DECODER *br, void vp8dx_bool_decoder_fill(BOOL_DECODER *br); -#if CONFIG_NEWUPDATE int vp8_decode_uniform(BOOL_DECODER *br, int n); int vp8_decode_term_subexp(BOOL_DECODER *br, int k, int num_syms); int inv_recenter_nonneg(int v, int m); -#endif /*The refill loop is used in several places, so define it in a macro to make sure they're all consistent. diff --git a/vp8/decoder/decodemv.c b/vp8/decoder/decodemv.c index c31ba73..4b4ad91 100644 --- a/vp8/decoder/decodemv.c +++ b/vp8/decoder/decodemv.c @@ -97,12 +97,8 @@ static void vp8_kfread_modes(VP8D_COMP *pbi, m->mbmi.segment_id, SEG_LVL_EOB) || (get_segdata(&pbi->mb, m->mbmi.segment_id, SEG_LVL_EOB) != 0))) { -#if CONFIG_NEWENTROPY MACROBLOCKD *const xd = & pbi->mb; m->mbmi.mb_skip_coeff = vp8_read(bc, get_pred_prob(cm, xd, PRED_MBSKIP)); -#else - m->mbmi.mb_skip_coeff = vp8_read(bc, pbi->prob_skip_false); -#endif } else { if (segfeature_active(&pbi->mb, m->mbmi.segment_id, SEG_LVL_EOB) && @@ -442,19 +438,11 @@ static void mb_mode_mv_init(VP8D_COMP *pbi) { MACROBLOCKD *const xd = & pbi->mb; #endif -#if CONFIG_NEWENTROPY vpx_memset(cm->mbskip_pred_probs, 0, sizeof(cm->mbskip_pred_probs)); -#else - pbi->prob_skip_false = 0; -#endif if (pbi->common.mb_no_coeff_skip) { -#if CONFIG_NEWENTROPY int k; for (k = 0; k < MBSKIP_CONTEXTS; ++k) cm->mbskip_pred_probs[k] = (vp8_prob)vp8_read_literal(bc, 8); -#else - pbi->prob_skip_false = (vp8_prob)vp8_read_literal(bc, 8); -#endif } if (cm->frame_type != KEY_FRAME) { @@ -600,11 +588,7 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, (get_segdata(xd, mbmi->segment_id, SEG_LVL_EOB) != 0))) { // Read the macroblock coeff skip flag if this feature is in use, // else default to 0 -#if CONFIG_NEWENTROPY mbmi->mb_skip_coeff = vp8_read(bc, get_pred_prob(cm, xd, PRED_MBSKIP)); -#else - mbmi->mb_skip_coeff = vp8_read(bc, pbi->prob_skip_false); -#endif } else { if (segfeature_active(xd, mbmi->segment_id, SEG_LVL_EOB) && @@ -680,9 +664,7 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, vp8_treed_read(bc, vp8_mbsplit_tree, cm->fc.mbsplit_prob); const int num_p = vp8_mbsplit_count [s]; int j = 0; -#if CONFIG_ADAPTIVE_ENTROPY cm->fc.mbsplit_counts[s]++; -#endif mbmi->need_to_clamp_mvs = 0; do { /* for each subset j */ @@ -702,27 +684,21 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, } mv_contz = vp8_mv_cont(&leftmv, &abovemv); blockmode = sub_mv_ref(bc, cm->fc.sub_mv_ref_prob [mv_contz]); -#if CONFIG_ADAPTIVE_ENTROPY cm->fc.sub_mv_ref_counts[mv_contz][blockmode - LEFT4X4]++; -#endif switch (blockmode) { case NEW4X4: #if CONFIG_HIGH_PRECISION_MV if (xd->allow_high_precision_mv) { read_mv_hp(bc, &blockmv.as_mv, (const MV_CONTEXT_HP *) mvc_hp); -#if CONFIG_ADAPTIVE_ENTROPY cm->fc.MVcount_hp[0][mv_max_hp + (blockmv.as_mv.row)]++; cm->fc.MVcount_hp[1][mv_max_hp + (blockmv.as_mv.col)]++; -#endif } else #endif { read_mv(bc, &blockmv.as_mv, (const MV_CONTEXT *) mvc); -#if CONFIG_ADAPTIVE_ENTROPY cm->fc.MVcount[0][mv_max + (blockmv.as_mv.row >> 1)]++; cm->fc.MVcount[1][mv_max + (blockmv.as_mv.col >> 1)]++; -#endif } blockmv.as_mv.row += best_mv.as_mv.row; blockmv.as_mv.col += best_mv.as_mv.col; @@ -731,18 +707,14 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, #if CONFIG_HIGH_PRECISION_MV if (xd->allow_high_precision_mv) { read_mv_hp(bc, &secondmv.as_mv, (const MV_CONTEXT_HP *) mvc_hp); -#if CONFIG_ADAPTIVE_ENTROPY cm->fc.MVcount_hp[0][mv_max_hp + (secondmv.as_mv.row)]++; cm->fc.MVcount_hp[1][mv_max_hp + (secondmv.as_mv.col)]++; -#endif } else #endif { read_mv(bc, &secondmv.as_mv, (const MV_CONTEXT *) mvc); -#if CONFIG_ADAPTIVE_ENTROPY cm->fc.MVcount[0][mv_max + (secondmv.as_mv.row >> 1)]++; cm->fc.MVcount[1][mv_max + (secondmv.as_mv.col >> 1)]++; -#endif } secondmv.as_mv.row += best_mv_second.as_mv.row; secondmv.as_mv.col += best_mv_second.as_mv.col; @@ -851,18 +823,14 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, #if CONFIG_HIGH_PRECISION_MV if (xd->allow_high_precision_mv) { read_mv_hp(bc, &mv->as_mv, (const MV_CONTEXT_HP *) mvc_hp); -#if CONFIG_ADAPTIVE_ENTROPY cm->fc.MVcount_hp[0][mv_max_hp + (mv->as_mv.row)]++; cm->fc.MVcount_hp[1][mv_max_hp + (mv->as_mv.col)]++; -#endif } else #endif { read_mv(bc, &mv->as_mv, (const MV_CONTEXT *) mvc); -#if CONFIG_ADAPTIVE_ENTROPY cm->fc.MVcount[0][mv_max + (mv->as_mv.row >> 1)]++; cm->fc.MVcount[1][mv_max + (mv->as_mv.col >> 1)]++; -#endif } mv->as_mv.row += best_mv.as_mv.row; mv->as_mv.col += best_mv.as_mv.col; @@ -882,18 +850,14 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, if (xd->allow_high_precision_mv) { read_mv_hp(bc, &mbmi->second_mv.as_mv, (const MV_CONTEXT_HP *) mvc_hp); -#if CONFIG_ADAPTIVE_ENTROPY cm->fc.MVcount_hp[0][mv_max_hp + (mbmi->second_mv.as_mv.row)]++; cm->fc.MVcount_hp[1][mv_max_hp + (mbmi->second_mv.as_mv.col)]++; -#endif } else #endif { read_mv(bc, &mbmi->second_mv.as_mv, (const MV_CONTEXT *) mvc); -#if CONFIG_ADAPTIVE_ENTROPY cm->fc.MVcount[0][mv_max + (mbmi->second_mv.as_mv.row >> 1)]++; cm->fc.MVcount[1][mv_max + (mbmi->second_mv.as_mv.col >> 1)]++; -#endif } mbmi->second_mv.as_mv.row += best_mv_second.as_mv.row; mbmi->second_mv.as_mv.col += best_mv_second.as_mv.col; @@ -920,9 +884,7 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, else { mbmi->mode = (MB_PREDICTION_MODE) vp8_read_ymode(bc, pbi->common.fc.ymode_prob); -#if CONFIG_ADAPTIVE_ENTROPY pbi->common.fc.ymode_counts[mbmi->mode]++; -#endif } #if CONFIG_COMP_INTRA_PRED mbmi->second_mode = (MB_PREDICTION_MODE)(DC_PRED - 1); @@ -936,9 +898,7 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, #endif do { mi->bmi[j].as_mode.first = (B_PREDICTION_MODE)vp8_read_bmode(bc, pbi->common.fc.bmode_prob); -#if CONFIG_ADAPTIVE_ENTROPY pbi->common.fc.bmode_counts[mi->bmi[j].as_mode.first]++; -#endif #if CONFIG_COMP_INTRA_PRED if (use_comp_pred) { mi->bmi[j].as_mode.second = (B_PREDICTION_MODE)vp8_read_bmode(bc, pbi->common.fc.bmode_prob); @@ -959,9 +919,7 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, mi->bmi[ib + 1].as_mode.first = mode8x8; mi->bmi[ib + 4].as_mode.first = mode8x8; mi->bmi[ib + 5].as_mode.first = mode8x8; -#if CONFIG_ADAPTIVE_ENTROPY pbi->common.fc.i8x8_mode_counts[mode8x8]++; -#endif #if CONFIG_COMP_INTRA_PRED mi->bmi[ib + 0].as_mode.second = (MB_PREDICTION_MODE)(DC_PRED - 1); mi->bmi[ib + 1].as_mode.second = (MB_PREDICTION_MODE)(DC_PRED - 1); @@ -972,9 +930,7 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, } else { mbmi->uv_mode = (MB_PREDICTION_MODE)vp8_read_uv_mode(bc, pbi->common.fc.uv_mode_prob[mbmi->mode]); -#if CONFIG_ADAPTIVE_ENTROPY pbi->common.fc.uv_mode_counts[mbmi->mode][mbmi->uv_mode]++; -#endif } #if CONFIG_COMP_INTRA_PRED diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c index d0e43ca..8cd3514 100644 --- a/vp8/decoder/decodframe.c +++ b/vp8/decoder/decodframe.c @@ -46,7 +46,6 @@ int dec_debug = 0; #define COEFCOUNT_TESTING -#if CONFIG_NEWUPDATE static int merge_index(int v, int n, int modulus) { int max1 = (n - 1 - modulus / 2) / modulus + 1; @@ -79,7 +78,6 @@ static vp8_prob read_prob_diff_update(vp8_reader *const bc, int oldp) { int delp = vp8_decode_term_subexp(bc, SUBEXP_PARAM, 255); return (vp8_prob)inv_remap_prob(delp, oldp); } -#endif void vp8cx_init_de_quantizer(VP8D_COMP *pbi) { int i; @@ -808,7 +806,6 @@ static void init_frame(VP8D_COMP *pbi) { } -#if CONFIG_NEWUPDATE static void read_coef_probs3(VP8D_COMP *pbi) { const vp8_prob grpupd = 216; int i, j, k, l; @@ -820,11 +817,9 @@ static void read_coef_probs3(VP8D_COMP *pbi) { // printf("Decoding %d\n", l); for (j = !i; j < COEF_BANDS; j++) for (k = 0; k < PREV_COEF_CONTEXTS; k++) { -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif { vp8_prob *const p = pc->fc.coef_probs [i][j][k] + l; int u = vp8_read(bc, COEF_UPDATE_PROB); @@ -840,11 +835,9 @@ static void read_coef_probs3(VP8D_COMP *pbi) { if (vp8_read(bc, grpupd)) { for (j = !i; j < COEF_BANDS; j++) for (k = 0; k < PREV_COEF_CONTEXTS; k++) { -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif { vp8_prob *const p = pc->fc.coef_probs_8x8 [i][j][k] + l; int u = vp8_read(bc, COEF_UPDATE_PROB_8X8); @@ -867,11 +860,9 @@ static void read_coef_probs2(VP8D_COMP *pbi) { for (i = 0; i < BLOCK_TYPES; i++) for (j = !i; j < COEF_BANDS; j++) for (k = 0; k < PREV_COEF_CONTEXTS; k++) { -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif { vp8_prob *const p = pc->fc.coef_probs [i][j][k] + l; int u = vp8_read(bc, COEF_UPDATE_PROB); @@ -886,11 +877,9 @@ static void read_coef_probs2(VP8D_COMP *pbi) { for (i = 0; i < BLOCK_TYPES_8X8; i++) for (j = !i; j < COEF_BANDS; j++) for (k = 0; k < PREV_COEF_CONTEXTS; k++) { -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif { vp8_prob *const p = pc->fc.coef_probs_8x8 [i][j][k] + l; @@ -902,7 +891,6 @@ static void read_coef_probs2(VP8D_COMP *pbi) { } } } -#endif static void read_coef_probs(VP8D_COMP *pbi) { int i, j, k, l; @@ -913,26 +901,16 @@ static void read_coef_probs(VP8D_COMP *pbi) { if (vp8_read_bit(bc)) { /* read coef probability tree */ for (i = 0; i < BLOCK_TYPES; i++) -#if CONFIG_NEWUPDATE for (j = !i; j < COEF_BANDS; j++) -#else - for (j = 0; j < COEF_BANDS; j++) -#endif for (k = 0; k < PREV_COEF_CONTEXTS; k++) { -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif for (l = 0; l < ENTROPY_NODES; l++) { vp8_prob *const p = pc->fc.coef_probs [i][j][k] + l; if (vp8_read(bc, COEF_UPDATE_PROB)) { -#if CONFIG_NEWUPDATE *p = read_prob_diff_update(bc, *p); -#else - *p = (vp8_prob)vp8_read_literal(bc, 8); -#endif } } } @@ -942,27 +920,17 @@ static void read_coef_probs(VP8D_COMP *pbi) { if (pbi->common.txfm_mode == ALLOW_8X8 && vp8_read_bit(bc)) { // read coef probability tree for (i = 0; i < BLOCK_TYPES_8X8; i++) -#if CONFIG_NEWUPDATE for (j = !i; j < COEF_BANDS; j++) -#else - for (j = 0; j < COEF_BANDS; j++) -#endif for (k = 0; k < PREV_COEF_CONTEXTS; k++) { -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif for (l = 0; l < ENTROPY_NODES; l++) { vp8_prob *const p = pc->fc.coef_probs_8x8 [i][j][k] + l; if (vp8_read(bc, COEF_UPDATE_PROB_8X8)) { -#if CONFIG_NEWUPDATE *p = read_prob_diff_update(bc, *p); -#else - *p = (vp8_prob)vp8_read_literal(bc, 8); -#endif } } } @@ -1352,7 +1320,6 @@ int vp8_decode_frame(VP8D_COMP *pbi) { fclose(z); } -#if CONFIG_ADAPTIVE_ENTROPY vp8_copy(pbi->common.fc.pre_coef_probs, pbi->common.fc.coef_probs); vp8_copy(pbi->common.fc.pre_coef_probs_8x8, pbi->common.fc.coef_probs_8x8); vp8_copy(pbi->common.fc.pre_ymode_prob, pbi->common.fc.ymode_prob); @@ -1379,10 +1346,9 @@ int vp8_decode_frame(VP8D_COMP *pbi) { #endif vp8_zero(pbi->common.fc.mv_ref_ct); vp8_zero(pbi->common.fc.mv_ref_ct_a); -#endif /* CONFIG_ADAPTIVE_ENTROPY */ -#if CONFIG_NEWUPDATE && COEFUPDATETYPE == 2 +#if COEFUPDATETYPE == 2 read_coef_probs2(pbi); -#elif CONFIG_NEWUPDATE && COEFUPDATETYPE == 3 +#elif COEFUPDATETYPE == 3 read_coef_probs3(pbi); #else read_coef_probs(pbi); @@ -1410,11 +1376,6 @@ int vp8_decode_frame(VP8D_COMP *pbi) { pc->mb_no_coeff_skip = (int)vp8_read_bit(bc); vp8_decode_mode_mvs(pbi); -#if CONFIG_ADAPTIVE_ENTROPY == 0 - if (pc->frame_type != KEY_FRAME) { - vp8_update_mode_context(&pbi->common); - } -#endif vpx_memset(pc->above_context, 0, sizeof(ENTROPY_CONTEXT_PLANES) * pc->mb_cols); @@ -1443,14 +1404,12 @@ int vp8_decode_frame(VP8D_COMP *pbi) { } /* vpx_log("Decoder: Frame Decoded, Size Roughly:%d bytes \n",bc->pos+pbi->bc2.pos); */ -#if CONFIG_ADAPTIVE_ENTROPY vp8_adapt_coef_probs(pc); if (pc->frame_type != KEY_FRAME) { vp8_adapt_mode_probs(pc); vp8_adapt_mv_probs(pc); vp8_update_mode_context(&pbi->common); } -#endif /* If this was a kf or Gf note the Q used */ if ((pc->frame_type == KEY_FRAME) || diff --git a/vp8/decoder/detokenize.c b/vp8/decoder/detokenize.c index a113087..1acde4c 100644 --- a/vp8/decoder/detokenize.c +++ b/vp8/decoder/detokenize.c @@ -96,14 +96,9 @@ DECLARE_ALIGNED(16, extern const unsigned char, vp8_norm[256]); // #define PREV_CONTEXT_INC(val) (2+((val)>2)) // #define PREV_CONTEXT_INC(val) (vp8_prev_token_class[(val)]) -#if CONFIG_EXPANDED_COEF_CONTEXT #define PREV_CONTEXT_INC(val) (vp8_prev_token_class[(val)>10?10:(val)]) -#else -#define PREV_CONTEXT_INC(val) (2) -#endif -#if CONFIG_ADAPTIVE_ENTROPY int get_token(int v) { if (v < 0) v = -v; if (v == 0) return ZERO_TOKEN; @@ -203,7 +198,6 @@ void static count_tokens_8x8(INT16 *qcoeff_ptr, int block, int type, fc->coef_counts_8x8[type][band][pt][DCT_EOB_TOKEN]++; } } -#endif static int vp8_get_signed(BOOL_DECODER *br, int value_to_sign) { @@ -335,7 +329,6 @@ static int vp8_decode_coefs(VP8D_COMP *dx, const MACROBLOCKD *xd, val += CAT6_MIN_VAL; WRITE_COEF_CONTINUE(val); } -#if CONFIG_ADAPTIVE_ENTROPY if (block_type == TX_4X4) #if CONFIG_HYBRIDTRANSFORM @@ -346,7 +339,6 @@ static int vp8_decode_coefs(VP8D_COMP *dx, const MACROBLOCKD *xd, else count_tokens_8x8(qcoeff_ptr, i, type, a, l, c, seg_eob, fc); -#endif return c; } diff --git a/vp8/encoder/bitstream.c b/vp8/encoder/bitstream.c index 3d01195..db3e309 100644 --- a/vp8/encoder/bitstream.c +++ b/vp8/encoder/bitstream.c @@ -55,7 +55,6 @@ int count_mb_seg[4] = { 0, 0, 0, 0 }; #define vp8_cost_upd ((int)(vp8_cost_one(upd) - vp8_cost_zero(upd)) >> 8) #define vp8_cost_upd256 ((int)(vp8_cost_one(upd) - vp8_cost_zero(upd))) -#if CONFIG_NEWUPDATE #define SEARCH_NEWP static int update_bits[255]; @@ -96,7 +95,6 @@ static int prob_diff_update_cost(vp8_prob newp, vp8_prob oldp) { int delp = remap_prob(newp, oldp); return update_bits[delp] * 256; } -#endif static void update_mode( vp8_writer *const w, @@ -153,7 +151,6 @@ static void update_mbintra_mode_probs(VP8_COMP *cpi) { } void update_skip_probs(VP8_COMP *cpi) { -#if CONFIG_NEWENTROPY VP8_COMMON *const pc = & cpi->common; int prob_skip_false[3] = {0, 0, 0}; int k; @@ -174,25 +171,6 @@ void update_skip_probs(VP8_COMP *cpi) { pc->mbskip_pred_probs[k] = prob_skip_false[k]; } - -#else - int prob_skip_false = 0; - - if ((cpi->skip_false_count + cpi->skip_true_count)) { - prob_skip_false = cpi->skip_false_count * 256 / - (cpi->skip_false_count + cpi->skip_true_count); - - if (prob_skip_false <= 1) - prob_skip_false = 1; - - if (prob_skip_false > 255) - prob_skip_false = 255; - } else - prob_skip_false = 128; - - cpi->prob_skip_false = prob_skip_false; - -#endif } // This function updates the reference frame prediction stats @@ -282,7 +260,6 @@ static int prob_update_savings(const unsigned int *ct, return (old_b - new_b - update_b); } -#if CONFIG_NEWUPDATE static int prob_diff_update_savings(const unsigned int *ct, const vp8_prob oldp, const vp8_prob newp, const vp8_prob upd) { @@ -316,7 +293,6 @@ static int prob_diff_update_savings_search(const unsigned int *ct, *bestp = bestnewp; return bestsavings; } -#endif static void pack_tokens_c(vp8_writer *w, const TOKENEXTRA *p, int xcount) { const TOKENEXTRA *const stop = p + xcount; @@ -716,16 +692,11 @@ static void pack_inter_mode_mvs(VP8_COMP *const cpi) { #endif if (pc->mb_no_coeff_skip) { -#if CONFIG_NEWENTROPY int k; update_skip_probs(cpi); for (k = 0; k < MBSKIP_CONTEXTS; ++k) vp8_write_literal(w, pc->mbskip_pred_probs[k], 8); -#else - update_skip_probs(cpi); - vp8_write_literal(w, cpi->prob_skip_false, 8); -#endif } #if CONFIG_PRED_FILTER @@ -847,12 +818,8 @@ static void pack_inter_mode_mvs(VP8_COMP *const cpi) { if (pc->mb_no_coeff_skip && (!segfeature_active(xd, segment_id, SEG_LVL_EOB) || (get_segdata(xd, segment_id, SEG_LVL_EOB) != 0))) { -#if CONFIG_NEWENTROPY vp8_encode_bool(w, mi->mb_skip_coeff, get_pred_prob(pc, xd, PRED_MBSKIP)); -#else - vp8_encode_bool(w, mi->mb_skip_coeff, cpi->prob_skip_false); -#endif } // Encode the reference frame. @@ -994,9 +961,7 @@ static void pack_inter_mode_mvs(VP8_COMP *const cpi) { #endif write_split(w, mi->partitioning, cpi->common.fc.mbsplit_prob); -#if CONFIG_ADAPTIVE_ENTROPY cpi->mbsplit_count[mi->partitioning]++; -#endif do { B_PREDICTION_MODE blockmode; @@ -1022,9 +987,7 @@ static void pack_inter_mode_mvs(VP8_COMP *const cpi) { write_sub_mv_ref(w, blockmode, cpi->common.fc.sub_mv_ref_prob [mv_contz]); -#if CONFIG_ADAPTIVE_ENTROPY cpi->sub_mv_ref_count[mv_contz][blockmode - LEFT4X4]++; -#endif if (blockmode == NEW4X4) { #ifdef ENTROPY_STATS active_section = 11; @@ -1092,18 +1055,13 @@ static void write_kfmodes(VP8_COMP *cpi) { int i; int row, col; int mb_row, mb_col; -#if CONFIG_NEWENTROPY int prob_skip_false[3] = {0, 0, 0}; -#else - int prob_skip_false = 0; -#endif int row_delta[4] = { 0, +1, 0, -1}; int col_delta[4] = { +1, -1, +1, +1}; // printf("write_kfmodes\n"); if (c->mb_no_coeff_skip) { // Divide by 0 check. 0 case possible with segment features -#if CONFIG_NEWENTROPY int k; for (k = 0; k < MBSKIP_CONTEXTS; ++k) { if ((cpi->skip_false_count[k] + cpi->skip_true_count[k])) { @@ -1121,22 +1079,6 @@ static void write_kfmodes(VP8_COMP *cpi) { c->mbskip_pred_probs[k] = prob_skip_false[k]; vp8_write_literal(bc, prob_skip_false[k], 8); } -#else - if ((cpi->skip_false_count + cpi->skip_true_count)) { - prob_skip_false = cpi->skip_false_count * 256 / - (cpi->skip_false_count + cpi->skip_true_count); - - if (prob_skip_false <= 1) - prob_skip_false = 1; - - if (prob_skip_false > 255) - prob_skip_false = 255; - } else - prob_skip_false = 255; - - cpi->prob_skip_false = prob_skip_false; - vp8_write_literal(bc, prob_skip_false, 8); -#endif } if (!c->kf_ymode_probs_update) { @@ -1179,12 +1121,8 @@ static void write_kfmodes(VP8_COMP *cpi) { if (c->mb_no_coeff_skip && (!segfeature_active(xd, segment_id, SEG_LVL_EOB) || (get_segdata(xd, segment_id, SEG_LVL_EOB) != 0))) { -#if CONFIG_NEWENTROPY vp8_encode_bool(bc, m->mbmi.mb_skip_coeff, get_pred_prob(c, xd, PRED_MBSKIP)); -#else - vp8_encode_bool(bc, m->mbmi.mb_skip_coeff, prob_skip_false); -#endif } kfwrite_ymode(bc, ym, c->kf_ymode_prob[c->kf_ymode_probs_index]); @@ -1284,10 +1222,8 @@ void build_coeff_contexts(VP8_COMP *cpi) { #ifdef ENTROPY_STATS int t; #endif -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif vp8_tree_probs_from_distribution( MAX_ENTROPY_TOKENS, vp8_coef_encodings, vp8_coef_tree, cpi->frame_coef_probs [i][j][k], @@ -1323,10 +1259,8 @@ void build_coeff_contexts(VP8_COMP *cpi) { #ifdef ENTROPY_STATS int t = 0; /* token/prob index */ #endif -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif vp8_tree_probs_from_distribution( MAX_ENTROPY_TOKENS, vp8_coef_encodings, vp8_coef_tree, cpi->frame_coef_probs_8x8 [i][j][k], @@ -1351,7 +1285,6 @@ void build_coeff_contexts(VP8_COMP *cpi) { } -#if CONFIG_NEWUPDATE static void update_coef_probs3(VP8_COMP *cpi) { const vp8_prob grpupd = 216; int i, j, k, t; @@ -1377,10 +1310,8 @@ static void update_coef_probs3(VP8_COMP *cpi) { const vp8_prob upd = COEF_UPDATE_PROB; int s; int u = 0; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif #if defined(SEARCH_NEWP) s = prob_diff_update_savings_search( @@ -1414,10 +1345,8 @@ static void update_coef_probs3(VP8_COMP *cpi) { int s; int u = 0; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif #if defined(SEARCH_NEWP) s = prob_diff_update_savings_search( cpi->frame_branch_ct [i][j][k][t], *Pold, &newp, upd); @@ -1459,10 +1388,8 @@ static void update_coef_probs3(VP8_COMP *cpi) { int s; int u = 0; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif #if defined(SEARCH_NEWP) s = prob_diff_update_savings_search( cpi->frame_branch_ct_8x8 [i][j][k][t], @@ -1498,10 +1425,8 @@ static void update_coef_probs3(VP8_COMP *cpi) { int s; int u = 0; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif #if defined(SEARCH_NEWP) s = prob_diff_update_savings_search( cpi->frame_branch_ct_8x8 [i][j][k][t], @@ -1555,10 +1480,8 @@ static void update_coef_probs2(VP8_COMP *cpi) { const vp8_prob upd = COEF_UPDATE_PROB; int s; int u = 0; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif #if defined(SEARCH_NEWP) s = prob_diff_update_savings_search( @@ -1593,10 +1516,8 @@ static void update_coef_probs2(VP8_COMP *cpi) { const vp8_prob upd = COEF_UPDATE_PROB; int s; int u = 0; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif #if defined(SEARCH_NEWP) s = prob_diff_update_savings_search( cpi->frame_branch_ct [i][j][k][t], *Pold, &newp, upd); @@ -1635,10 +1556,8 @@ static void update_coef_probs2(VP8_COMP *cpi) { const vp8_prob upd = COEF_UPDATE_PROB_8X8; int s; int u = 0; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif #if defined(SEARCH_NEWP) s = prob_diff_update_savings_search( cpi->frame_branch_ct_8x8 [i][j][k][t], @@ -1675,10 +1594,8 @@ static void update_coef_probs2(VP8_COMP *cpi) { const vp8_prob upd = COEF_UPDATE_PROB_8X8; int s; int u = 0; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif #if defined(SEARCH_NEWP) s = prob_diff_update_savings_search( cpi->frame_branch_ct_8x8 [i][j][k][t], @@ -1707,7 +1624,6 @@ static void update_coef_probs2(VP8_COMP *cpi) { } } } -#endif static void update_coef_probs(VP8_COMP *cpi) { int i = 0; @@ -1726,11 +1642,7 @@ static void update_coef_probs(VP8_COMP *cpi) { /* dry run to see if there is any udpate at all needed */ savings = 0; do { -#if CONFIG_NEWUPDATE int j = !i; -#else - int j = 0; /* token/prob index */ -#endif do { int k = 0; int prev_coef_savings[ENTROPY_NODES] = {0}; @@ -1742,11 +1654,9 @@ static void update_coef_probs(VP8_COMP *cpi) { const vp8_prob upd = COEF_UPDATE_PROB; int s = prev_coef_savings[t]; int u = 0; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif -#if CONFIG_NEWUPDATE && defined(SEARCH_NEWP) +#if defined(SEARCH_NEWP) s = prob_diff_update_savings_search( cpi->frame_branch_ct [i][j][k][t], *Pold, &newp, upd); @@ -1774,22 +1684,14 @@ static void update_coef_probs(VP8_COMP *cpi) { // printf("Update %d %d, savings %d\n", update[0], update[1], savings); /* Is coef updated at all */ -#if CONFIG_NEWUPDATE if (update[1] == 0 || savings < 0) -#else - if (update[1] == 0) -#endif { vp8_write_bit(w, 0); } else { vp8_write_bit(w, 1); i = 0; do { -#if CONFIG_NEWUPDATE int j = !i; -#else - int j = 0; /* token/prob index */ -#endif do { int k = 0; int prev_coef_savings[ENTROPY_NODES] = {0}; @@ -1803,12 +1705,10 @@ static void update_coef_probs(VP8_COMP *cpi) { const vp8_prob upd = COEF_UPDATE_PROB; int s = prev_coef_savings[t]; int u = 0; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif -#if CONFIG_NEWUPDATE && defined(SEARCH_NEWP) +#if defined(SEARCH_NEWP) s = prob_diff_update_savings_search( cpi->frame_branch_ct [i][j][k][t], *Pold, &newp, upd); @@ -1830,11 +1730,7 @@ static void update_coef_probs(VP8_COMP *cpi) { #endif if (u) { /* send/use new probability */ -#if CONFIG_NEWUPDATE write_prob_diff_update(w, newp, *Pold); -#else - vp8_write_literal(w, newp, 8); -#endif *Pold = newp; } } while (++t < ENTROPY_NODES); @@ -1852,11 +1748,7 @@ static void update_coef_probs(VP8_COMP *cpi) { savings = 0; i = 0; do { -#if CONFIG_NEWUPDATE int j = !i; -#else - int j = 0; /* token/prob index */ -#endif do { int k = 0; do { @@ -1869,11 +1761,9 @@ static void update_coef_probs(VP8_COMP *cpi) { const vp8_prob oldp = *Pold; int s, u; const vp8_prob upd = COEF_UPDATE_PROB_8X8; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif -#if CONFIG_NEWUPDATE && defined(SEARCH_NEWP) +#if defined(SEARCH_NEWP) s = prob_diff_update_savings_search(ct, oldp, &newp, upd); u = s > 0 && newp != oldp ? 1 : 0; if (u) @@ -1893,22 +1783,14 @@ static void update_coef_probs(VP8_COMP *cpi) { } while (++j < COEF_BANDS); } while (++i < BLOCK_TYPES_8X8); -#if CONFIG_NEWUPDATE if (update[1] == 0 || savings < 0) -#else - if (update[1] == 0) -#endif { vp8_write_bit(w, 0); } else { vp8_write_bit(w, 1); i = 0; do { -#if CONFIG_NEWUPDATE int j = !i; -#else - int j = 0; /* token/prob index */ -#endif do { int k = 0; do { @@ -1920,12 +1802,10 @@ static void update_coef_probs(VP8_COMP *cpi) { const vp8_prob oldp = *Pold; const vp8_prob upd = COEF_UPDATE_PROB_8X8; int s, u; -#if CONFIG_EXPANDED_COEF_CONTEXT if (k >= 3 && ((i == 0 && j == 1) || (i > 0 && j == 0))) continue; -#endif -#if CONFIG_NEWUPDATE && defined(SEARCH_NEWP) +#if defined(SEARCH_NEWP) s = prob_diff_update_savings_search(ct, oldp, &newp, upd); u = s > 0 && newp != oldp ? 1 : 0; #else @@ -1939,11 +1819,7 @@ static void update_coef_probs(VP8_COMP *cpi) { #endif if (u) { /* send/use new probability */ -#if CONFIG_NEWUPDATE write_prob_diff_update(w, newp, oldp); -#else - vp8_write_literal(w, newp, 8); -#endif *Pold = newp; } } while (++t < MAX_ENTROPY_TOKENS - 1); @@ -2034,9 +1910,7 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size) Sectionbits[active_section = 1] += sizeof(VP8_HEADER) * 8 * 256; #endif -#if CONFIG_NEWUPDATE compute_update_table(); -#endif // vp8_kf_default_bmode_probs() is called in vp8_setup_key_frame() once for each // K frame before encode frame. pc->kf_bmode_prob doesn't get changed anywhere @@ -2351,7 +2225,6 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size) vp8_clear_system_state(); // __asm emms; -#if CONFIG_ADAPTIVE_ENTROPY vp8_copy(cpi->common.fc.pre_coef_probs, cpi->common.fc.coef_probs); vp8_copy(cpi->common.fc.pre_coef_probs_8x8, cpi->common.fc.coef_probs_8x8); vp8_copy(cpi->common.fc.pre_ymode_prob, cpi->common.fc.ymode_prob); @@ -2368,10 +2241,9 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size) vp8_zero(cpi->mbsplit_count); vp8_zero(cpi->common.fc.mv_ref_ct) vp8_zero(cpi->common.fc.mv_ref_ct_a) -#endif -#if CONFIG_NEWUPDATE && COEFUPDATETYPE == 2 +#if COEFUPDATETYPE == 2 update_coef_probs2(cpi); -#elif CONFIG_NEWUPDATE && COEFUPDATETYPE == 3 +#elif COEFUPDATETYPE == 3 update_coef_probs3(cpi); #else update_coef_probs(cpi); @@ -2393,9 +2265,7 @@ void vp8_pack_bitstream(VP8_COMP *cpi, unsigned char *dest, unsigned long *size) #endif } else { pack_inter_mode_mvs(cpi); -#if CONFIG_ADAPTIVE_ENTROPY == 0 vp8_update_mode_context(&cpi->common); -#endif #ifdef ENTROPY_STATS active_section = 1; diff --git a/vp8/encoder/boolhuff.c b/vp8/encoder/boolhuff.c index e23d32e..15fe241 100644 --- a/vp8/encoder/boolhuff.c +++ b/vp8/encoder/boolhuff.c @@ -65,7 +65,6 @@ void vp8_encode_value(BOOL_CODER *br, int data, int bits) { } -#if CONFIG_NEWUPDATE int recenter_nonneg(int v, int m) { if (v > (m << 1)) return v; else if (v >= m) return ((v - m) << 1); @@ -153,4 +152,3 @@ int vp8_count_term_subexp(int word, int k, int num_syms) { } return count; } -#endif diff --git a/vp8/encoder/boolhuff.h b/vp8/encoder/boolhuff.h index 5b81b06..ac94269 100644 --- a/vp8/encoder/boolhuff.h +++ b/vp8/encoder/boolhuff.h @@ -40,13 +40,11 @@ extern void vp8_encode_value(BOOL_CODER *br, int data, int bits); extern void vp8_stop_encode(BOOL_CODER *bc); extern const unsigned int vp8_prob_cost[256]; -#if CONFIG_NEWENTROPY extern void vp8_encode_uniform(BOOL_CODER *bc, int v, int n); extern void vp8_encode_term_subexp(BOOL_CODER *bc, int v, int k, int n); extern int vp8_count_uniform(int v, int n); extern int vp8_count_term_subexp(int v, int k, int n); extern int recenter_nonneg(int v, int m); -#endif DECLARE_ALIGNED(16, extern const unsigned char, vp8_norm[256]); diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c index c8ee52f..737348a 100644 --- a/vp8/encoder/encodeframe.c +++ b/vp8/encoder/encodeframe.c @@ -411,14 +411,12 @@ static void update_state(VP8_COMP *cpi, MACROBLOCK *x, PICK_MODE_CONTEXT *ctx) { THR_DC /*DC_PRED*/, THR_V_PRED /*V_PRED*/, THR_H_PRED /*H_PRED*/, -#if CONFIG_NEWINTRAMODES THR_D45_PRED /*D45_PRED*/, THR_D135_PRED /*D135_PRED*/, THR_D117_PRED /*D117_PRED*/, THR_D153_PRED /*D153_PRED*/, THR_D27_PRED /*D27_PRED*/, THR_D63_PRED /*D63_PRED*/, -#endif THR_TM /*TM_PRED*/, THR_I8X8_PRED /*I8X8_PRED*/, THR_B_PRED /*B_PRED*/, @@ -1052,10 +1050,8 @@ void init_encode_frame_mb_context(VP8_COMP *cpi) { vp8_zero(cpi->y_uv_mode_count) vp8_zero(cpi->sub_mv_ref_count) vp8_zero(cpi->mbsplit_count) -#if CONFIG_ADAPTIVE_ENTROPY vp8_zero(cpi->common.fc.mv_ref_ct) vp8_zero(cpi->common.fc.mv_ref_ct_a) -#endif // vp8_zero(cpi->uv_mode_count) x->mvc = cm->fc.mvc; @@ -1169,13 +1165,8 @@ static void encode_frame_internal(VP8_COMP *cpi) { cpi->prediction_error = 0; cpi->intra_error = 0; -#if CONFIG_NEWENTROPY cpi->skip_true_count[0] = cpi->skip_true_count[1] = cpi->skip_true_count[2] = 0; cpi->skip_false_count[0] = cpi->skip_false_count[1] = cpi->skip_false_count[2] = 0; -#else - cpi->skip_true_count = 0; - cpi->skip_false_count = 0; -#endif #if CONFIG_PRED_FILTER if (cm->current_video_frame == 0) { @@ -1689,29 +1680,19 @@ void vp8cx_encode_inter_macroblock } #endif } else { -#if CONFIG_NEWENTROPY int mb_skip_context = cpi->common.mb_no_coeff_skip ? (x->e_mbd.mode_info_context - 1)->mbmi.mb_skip_coeff + (x->e_mbd.mode_info_context - cpi->common.mode_info_stride)->mbmi.mb_skip_coeff : 0; -#endif if (cpi->common.mb_no_coeff_skip) { xd->mode_info_context->mbmi.mb_skip_coeff = 1; -#if CONFIG_NEWENTROPY cpi->skip_true_count[mb_skip_context]++; -#else - cpi->skip_true_count++; -#endif vp8_fix_contexts(xd); } else { vp8_stuff_mb(cpi, xd, t); xd->mode_info_context->mbmi.mb_skip_coeff = 0; -#if CONFIG_NEWENTROPY cpi->skip_false_count[mb_skip_context]++; -#else - cpi->skip_false_count++; -#endif } } } diff --git a/vp8/encoder/modecosts.c b/vp8/encoder/modecosts.c index 7a9c19a..8752eea 100644 --- a/vp8/encoder/modecosts.c +++ b/vp8/encoder/modecosts.c @@ -32,13 +32,8 @@ void vp8_init_mode_costs(VP8_COMP *c) { vp8_cost_tokens((int *)c->mb.inter_bmode_costs, x->fc.bmode_prob, T); } -#if CONFIG_ADAPTIVE_ENTROPY vp8_cost_tokens((int *)c->mb.inter_bmode_costs, - vp8_sub_mv_ref_prob, vp8_sub_mv_ref_tree); -#else - vp8_cost_tokens(c->mb.inter_bmode_costs, - vp8_sub_mv_ref_prob, vp8_sub_mv_ref_tree); -#endif + x->fc.sub_mv_ref_prob[0], vp8_sub_mv_ref_tree); vp8_cost_tokens(c->mb.mbmode_cost[1], x->fc.ymode_prob, vp8_ymode_tree); vp8_cost_tokens(c->mb.mbmode_cost[0], diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 7a9022a..05fe0ff 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -173,11 +173,7 @@ extern void (*vp8_short_fdct8x4)(short *input, short *output, int pitch); extern void vp8cx_init_quantizer(VP8_COMP *cpi); -#if CONFIG_NEWENTROPY int vp8cx_base_skip_false_prob[QINDEX_RANGE][3]; -#else -int vp8cx_base_skip_false_prob[QINDEX_RANGE]; -#endif // Tables relating active max Q to active min Q static int kf_low_motion_minq[QINDEX_RANGE]; @@ -265,7 +261,6 @@ void init_base_skip_probs() { skip_prob = 1; else if (skip_prob > 255) skip_prob = 255; -#if CONFIG_NEWENTROPY vp8cx_base_skip_false_prob[i][1] = skip_prob; skip_prob = t * 0.75; @@ -281,9 +276,6 @@ void init_base_skip_probs() { else if (skip_prob > 255) skip_prob = 255; vp8cx_base_skip_false_prob[i][0] = skip_prob; -#else - vp8cx_base_skip_false_prob[i] = skip_prob; -#endif } } void update_base_skip_probs(VP8_COMP *cpi) { @@ -293,41 +285,25 @@ void update_base_skip_probs(VP8_COMP *cpi) { update_skip_probs(cpi); if (cm->refresh_alt_ref_frame) { -#if CONFIG_NEWENTROPY int k; for (k = 0; k < MBSKIP_CONTEXTS; ++k) cpi->last_skip_false_probs[2][k] = cm->mbskip_pred_probs[k]; -#else - cpi->last_skip_false_probs[2] = cpi->prob_skip_false; -#endif cpi->last_skip_probs_q[2] = cm->base_qindex; } else if (cpi->common.refresh_golden_frame) { -#if CONFIG_NEWENTROPY int k; for (k = 0; k < MBSKIP_CONTEXTS; ++k) cpi->last_skip_false_probs[1][k] = cm->mbskip_pred_probs[k]; -#else - cpi->last_skip_false_probs[1] = cpi->prob_skip_false; -#endif cpi->last_skip_probs_q[1] = cm->base_qindex; } else { -#if CONFIG_NEWENTROPY int k; for (k = 0; k < MBSKIP_CONTEXTS; ++k) cpi->last_skip_false_probs[0][k] = cm->mbskip_pred_probs[k]; -#else - cpi->last_skip_false_probs[0] = cpi->prob_skip_false; -#endif cpi->last_skip_probs_q[0] = cm->base_qindex; // update the baseline table for the current q -#if CONFIG_NEWENTROPY for (k = 0; k < MBSKIP_CONTEXTS; ++k) cpi->base_skip_false_prob[cm->base_qindex][k] = cm->mbskip_pred_probs[k]; -#else - cpi->base_skip_false_prob[cm->base_qindex] = cpi->prob_skip_false; -#endif } } @@ -755,14 +731,12 @@ void vp8_set_speed_features(VP8_COMP *cpi) { sf->thresh_mult[THR_V_PRED ] = 1000; sf->thresh_mult[THR_H_PRED ] = 1000; -#if CONFIG_NEWINTRAMODES sf->thresh_mult[THR_D45_PRED ] = 1000; sf->thresh_mult[THR_D135_PRED] = 1000; sf->thresh_mult[THR_D117_PRED] = 1000; sf->thresh_mult[THR_D153_PRED] = 1000; sf->thresh_mult[THR_D27_PRED ] = 1000; sf->thresh_mult[THR_D63_PRED ] = 1000; -#endif sf->thresh_mult[THR_B_PRED ] = 2000; sf->thresh_mult[THR_I8X8_PRED] = 2000; sf->thresh_mult[THR_TM ] = 1000; @@ -810,14 +784,12 @@ void vp8_set_speed_features(VP8_COMP *cpi) { sf->thresh_mult[THR_NEARMV_FILT ] = 0; sf->thresh_mult[THR_V_PRED ] = 1000; sf->thresh_mult[THR_H_PRED ] = 1000; -#if CONFIG_NEWINTRAMODES sf->thresh_mult[THR_D45_PRED ] = 1000; sf->thresh_mult[THR_D135_PRED] = 1000; sf->thresh_mult[THR_D117_PRED] = 1000; sf->thresh_mult[THR_D153_PRED] = 1000; sf->thresh_mult[THR_D27_PRED ] = 1000; sf->thresh_mult[THR_D63_PRED ] = 1000; -#endif sf->thresh_mult[THR_B_PRED ] = 2500; sf->thresh_mult[THR_I8X8_PRED] = 2500; sf->thresh_mult[THR_TM ] = 1000; @@ -868,14 +840,12 @@ void vp8_set_speed_features(VP8_COMP *cpi) { sf->thresh_mult[THR_NEARMV ] = 0; sf->thresh_mult[THR_V_PRED ] = 1000; sf->thresh_mult[THR_H_PRED ] = 1000; -#if CONFIG_NEWINTRAMODES sf->thresh_mult[THR_D45_PRED ] = 1000; sf->thresh_mult[THR_D135_PRED] = 1000; sf->thresh_mult[THR_D117_PRED] = 1000; sf->thresh_mult[THR_D153_PRED] = 1000; sf->thresh_mult[THR_D27_PRED ] = 1000; sf->thresh_mult[THR_D63_PRED ] = 1000; -#endif sf->thresh_mult[THR_B_PRED ] = 2500; sf->thresh_mult[THR_I8X8_PRED] = 2500; sf->thresh_mult[THR_TM ] = 1000; @@ -952,14 +922,12 @@ void vp8_set_speed_features(VP8_COMP *cpi) { sf->thresh_mult[THR_TM ] = 1500; sf->thresh_mult[THR_V_PRED ] = 1500; sf->thresh_mult[THR_H_PRED ] = 1500; -#if CONFIG_NEWINTRAMODES sf->thresh_mult[THR_D45_PRED ] = 1500; sf->thresh_mult[THR_D135_PRED] = 1500; sf->thresh_mult[THR_D117_PRED] = 1500; sf->thresh_mult[THR_D153_PRED] = 1500; sf->thresh_mult[THR_D27_PRED ] = 1500; sf->thresh_mult[THR_D63_PRED ] = 1500; -#endif sf->thresh_mult[THR_B_PRED ] = 5000; sf->thresh_mult[THR_I8X8_PRED] = 5000; @@ -1029,14 +997,12 @@ void vp8_set_speed_features(VP8_COMP *cpi) { sf->thresh_mult[THR_TM ] = 2000; sf->thresh_mult[THR_V_PRED ] = 2000; sf->thresh_mult[THR_H_PRED ] = 2000; -#if CONFIG_NEWINTRAMODES sf->thresh_mult[THR_D45_PRED ] = 2000; sf->thresh_mult[THR_D135_PRED] = 2000; sf->thresh_mult[THR_D117_PRED] = 2000; sf->thresh_mult[THR_D153_PRED] = 2000; sf->thresh_mult[THR_D27_PRED ] = 2000; sf->thresh_mult[THR_D63_PRED ] = 2000; -#endif sf->thresh_mult[THR_B_PRED ] = 7500; sf->thresh_mult[THR_I8X8_PRED] = 7500; @@ -3243,51 +3209,31 @@ static void encode_frame_to_data_rate // setup skip prob for costing in mode/mv decision if (cpi->common.mb_no_coeff_skip) { -#if CONFIG_NEWENTROPY int k; for (k = 0; k < MBSKIP_CONTEXTS; k++) cm->mbskip_pred_probs[k] = cpi->base_skip_false_prob[Q][k]; -#else - cpi->prob_skip_false = cpi->base_skip_false_prob[Q]; -#endif if (cm->frame_type != KEY_FRAME) { if (cpi->common.refresh_alt_ref_frame) { -#if CONFIG_NEWENTROPY for (k = 0; k < MBSKIP_CONTEXTS; k++) { if (cpi->last_skip_false_probs[2][k] != 0) cm->mbskip_pred_probs[k] = cpi->last_skip_false_probs[2][k]; } -#else - if (cpi->last_skip_false_probs[2] != 0) - cpi->prob_skip_false = cpi->last_skip_false_probs[2]; -#endif } else if (cpi->common.refresh_golden_frame) { -#if CONFIG_NEWENTROPY for (k = 0; k < MBSKIP_CONTEXTS; k++) { if (cpi->last_skip_false_probs[1][k] != 0) cm->mbskip_pred_probs[k] = cpi->last_skip_false_probs[1][k]; } -#else - if (cpi->last_skip_false_probs[1] != 0) - cpi->prob_skip_false = cpi->last_skip_false_probs[1]; -#endif } else { -#if CONFIG_NEWENTROPY int k; for (k = 0; k < MBSKIP_CONTEXTS; k++) { if (cpi->last_skip_false_probs[0][k] != 0) cm->mbskip_pred_probs[k] = cpi->last_skip_false_probs[0][k]; } -#else - if (cpi->last_skip_false_probs[0] != 0) - cpi->prob_skip_false = cpi->last_skip_false_probs[0]; -#endif } // as this is for cost estimate, let's make sure it does not // get extreme either way -#if CONFIG_NEWENTROPY { int k; for (k = 0; k < MBSKIP_CONTEXTS; ++k) { @@ -3301,18 +3247,6 @@ static void encode_frame_to_data_rate cm->mbskip_pred_probs[k] = 1; } } -#else - if (cpi->prob_skip_false < 5) - cpi->prob_skip_false = 5; - - if (cpi->prob_skip_false > 250) - cpi->prob_skip_false = 250; - - if (cpi->is_src_frame_alt_ref) - cpi->prob_skip_false = 1; -#endif - - } } @@ -3648,7 +3582,6 @@ static void encode_frame_to_data_rate #endif update_reference_frames(cm); -#if CONFIG_ADAPTIVE_ENTROPY vp8_copy(cpi->common.fc.coef_counts, cpi->coef_counts); vp8_copy(cpi->common.fc.coef_counts_8x8, cpi->coef_counts_8x8); vp8_adapt_coef_probs(&cpi->common); @@ -3668,7 +3601,6 @@ static void encode_frame_to_data_rate vp8_adapt_mv_probs(&cpi->common); vp8_update_mode_context(&cpi->common); } -#endif /* CONFIG_ADAPTIVE_ENTROPY */ /* Move storing frame_type out of the above loop since it is also * needed in motion search besides loopfilter */ diff --git a/vp8/encoder/onyx_int.h b/vp8/encoder/onyx_int.h index 1fa8b05..cf71933 100644 --- a/vp8/encoder/onyx_int.h +++ b/vp8/encoder/onyx_int.h @@ -44,17 +44,9 @@ #define ARF_DECAY_THRESH 12 #if CONFIG_PRED_FILTER -#if CONFIG_NEWINTRAMODES #define MAX_MODES 54 -#else -#define MAX_MODES 48 -#endif #else // CONFIG_PRED_FILTER -#if CONFIG_NEWINTRAMODES #define MAX_MODES 42 -#else -#define MAX_MODES 36 -#endif #endif // CONFIG_PRED_FILTER #define MIN_THRESHMULT 32 @@ -195,14 +187,12 @@ typedef enum { THR_V_PRED, THR_H_PRED, -#if CONFIG_NEWINTRAMODES THR_D45_PRED, THR_D135_PRED, THR_D117_PRED, THR_D153_PRED, THR_D27_PRED, THR_D63_PRED, -#endif THR_TM, THR_NEWMV, @@ -259,14 +249,12 @@ typedef enum { THR_V_PRED, THR_H_PRED, -#if CONFIG_NEWINTRAMODES THR_D45_PRED, THR_D135_PRED, THR_D117_PRED, THR_D153_PRED, THR_D27_PRED, THR_D63_PRED, -#endif THR_TM, THR_NEWMV, @@ -585,12 +573,7 @@ typedef struct VP8_COMP { int vert_scale; int pass; -#if CONFIG_NEWENTROPY vp8_prob last_skip_false_probs[3][MBSKIP_CONTEXTS]; -#else - vp8_prob prob_skip_false; - vp8_prob last_skip_false_probs[3]; -#endif int last_skip_probs_q[3]; int recent_ref_frame_usage[MAX_REF_FRAMES]; @@ -606,13 +589,8 @@ typedef struct VP8_COMP { int inter_zz_count; int gf_bad_count; int gf_update_recommended; -#if CONFIG_NEWENTROPY int skip_true_count[3]; int skip_false_count[3]; -#else - int skip_true_count; - int skip_false_count; -#endif int t4x4_count; int t8x8_count; @@ -636,11 +614,7 @@ typedef struct VP8_COMP { unsigned int time_pick_lpf; unsigned int time_encode_mb_row; -#if CONFIG_NEWENTROPY int base_skip_false_prob[QINDEX_RANGE][3]; -#else - int base_skip_false_prob[QINDEX_RANGE]; -#endif struct twopass_rc { unsigned int section_intra_rating; diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c index 7616636..cd45074 100644 --- a/vp8/encoder/rdopt.c +++ b/vp8/encoder/rdopt.c @@ -112,14 +112,12 @@ const MODE_DEFINITION vp8_mode_order[MAX_MODES] = { {V_PRED, INTRA_FRAME, 0, 0}, {H_PRED, INTRA_FRAME, 0, 0}, -#if CONFIG_NEWINTRAMODES {D45_PRED, INTRA_FRAME, 0, 0}, {D135_PRED, INTRA_FRAME, 0, 0}, {D117_PRED, INTRA_FRAME, 0, 0}, {D153_PRED, INTRA_FRAME, 0, 0}, {D27_PRED, INTRA_FRAME, 0, 0}, {D63_PRED, INTRA_FRAME, 0, 0}, -#endif {TM_PRED, INTRA_FRAME, 0, 0}, @@ -177,14 +175,12 @@ const MODE_DEFINITION vp8_mode_order[MAX_MODES] = { {V_PRED, INTRA_FRAME, 0}, {H_PRED, INTRA_FRAME, 0}, -#if CONFIG_NEWINTRAMODES {D45_PRED, INTRA_FRAME, 0}, {D135_PRED, INTRA_FRAME, 0}, {D117_PRED, INTRA_FRAME, 0}, {D153_PRED, INTRA_FRAME, 0}, {D27_PRED, INTRA_FRAME, 0}, {D63_PRED, INTRA_FRAME, 0}, -#endif {TM_PRED, INTRA_FRAME, 0}, @@ -2406,14 +2402,12 @@ void rd_update_mvcount(VP8_COMP *cpi, MACROBLOCK *x, - best_ref_mv->as_mv.row)]++; cpi->MVcount_hp[1][mv_max_hp + (x->partition_info->bmi[i].mv.as_mv.col - best_ref_mv->as_mv.col)]++; -#if CONFIG_ADAPTIVE_ENTROPY if (x->e_mbd.mode_info_context->mbmi.second_ref_frame) { cpi->MVcount_hp[0][mv_max_hp + (x->partition_info->bmi[i].second_mv.as_mv.row - second_best_ref_mv->as_mv.row)]++; cpi->MVcount_hp[1][mv_max_hp + (x->partition_info->bmi[i].second_mv.as_mv.col - second_best_ref_mv->as_mv.col)]++; } -#endif } else #endif { @@ -2421,14 +2415,12 @@ void rd_update_mvcount(VP8_COMP *cpi, MACROBLOCK *x, - best_ref_mv->as_mv.row) >> 1)]++; cpi->MVcount[1][mv_max + ((x->partition_info->bmi[i].mv.as_mv.col - best_ref_mv->as_mv.col) >> 1)]++; -#if CONFIG_ADAPTIVE_ENTROPY if (x->e_mbd.mode_info_context->mbmi.second_ref_frame) { cpi->MVcount[0][mv_max + ((x->partition_info->bmi[i].second_mv.as_mv.row - second_best_ref_mv->as_mv.row) >> 1)]++; cpi->MVcount[1][mv_max + ((x->partition_info->bmi[i].second_mv.as_mv.col - second_best_ref_mv->as_mv.col) >> 1)]++; } -#endif } } } @@ -2439,14 +2431,12 @@ void rd_update_mvcount(VP8_COMP *cpi, MACROBLOCK *x, - best_ref_mv->as_mv.row)]++; cpi->MVcount_hp[1][mv_max_hp + (x->e_mbd.mode_info_context->mbmi.mv.as_mv.col - best_ref_mv->as_mv.col)]++; -#if CONFIG_ADAPTIVE_ENTROPY if (x->e_mbd.mode_info_context->mbmi.second_ref_frame) { cpi->MVcount_hp[0][mv_max_hp + (x->e_mbd.mode_info_context->mbmi.second_mv.as_mv.row - second_best_ref_mv->as_mv.row)]++; cpi->MVcount_hp[1][mv_max_hp + (x->e_mbd.mode_info_context->mbmi.second_mv.as_mv.col - second_best_ref_mv->as_mv.col)]++; } -#endif } else #endif { @@ -2454,14 +2444,12 @@ void rd_update_mvcount(VP8_COMP *cpi, MACROBLOCK *x, - best_ref_mv->as_mv.row) >> 1)]++; cpi->MVcount[1][mv_max + ((x->e_mbd.mode_info_context->mbmi.mv.as_mv.col - best_ref_mv->as_mv.col) >> 1)]++; -#if CONFIG_ADAPTIVE_ENTROPY if (x->e_mbd.mode_info_context->mbmi.second_ref_frame) { cpi->MVcount[0][mv_max + ((x->e_mbd.mode_info_context->mbmi.second_mv.as_mv.row - second_best_ref_mv->as_mv.row) >> 1)]++; cpi->MVcount[1][mv_max + ((x->e_mbd.mode_info_context->mbmi.second_mv.as_mv.col - second_best_ref_mv->as_mv.col) >> 1)]++; } -#endif } } } @@ -3004,14 +2992,12 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int vp8_cost_bit(get_pred_prob(cm, xd, PRED_COMP), 0); } break; -#if CONFIG_NEWINTRAMODES case D45_PRED: case D135_PRED: case D117_PRED: case D153_PRED: case D27_PRED: case D63_PRED: -#endif case DC_PRED: case V_PRED: case H_PRED: @@ -3479,7 +3465,6 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int int prob_skip_cost; // Cost the skip mb case -#if CONFIG_NEWENTROPY vp8_prob skip_prob = get_pred_prob(cm, &x->e_mbd, PRED_MBSKIP); @@ -3488,24 +3473,12 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int rate2 += prob_skip_cost; other_cost += prob_skip_cost; } -#else - if (cpi->prob_skip_false) { - prob_skip_cost = - vp8_cost_bit(cpi->prob_skip_false, 1); - rate2 += prob_skip_cost; - other_cost += prob_skip_cost; - } -#endif } } // Add in the cost of the no skip flag. else if (mb_skip_allowed) { -#if CONFIG_NEWENTROPY int prob_skip_cost = vp8_cost_bit( get_pred_prob(cm, &x->e_mbd, PRED_MBSKIP), 0); -#else - int prob_skip_cost = vp8_cost_bit(cpi->prob_skip_false, 0); -#endif rate2 += prob_skip_cost; other_cost += prob_skip_cost; } diff --git a/vp8/encoder/tokenize.c b/vp8/encoder/tokenize.c index 673c2dd..50a3164 100644 --- a/vp8/encoder/tokenize.c +++ b/vp8/encoder/tokenize.c @@ -630,9 +630,7 @@ void vp8_tokenize_mb(VP8_COMP *cpi, MACROBLOCKD *x, TOKENEXTRA **t) { int has_y2_block; int b; int tx_type = x->mode_info_context->mbmi.txfm_size; -#if CONFIG_NEWENTROPY int mb_skip_context = get_pred_context(&cpi->common, x, PRED_MBSKIP); -#endif // If the MB is going to be skipped because of a segment level flag // exclude this from the skip count stats used to calculate the @@ -661,11 +659,7 @@ void vp8_tokenize_mb(VP8_COMP *cpi, MACROBLOCKD *x, TOKENEXTRA **t) { mb_is_skippable(x, has_y2_block)); if (x->mode_info_context->mbmi.mb_skip_coeff) { -#if CONFIG_NEWENTROPY cpi->skip_true_count[mb_skip_context] += skip_inc; -#else - cpi->skip_true_count += skip_inc; -#endif if (!cpi->common.mb_no_coeff_skip) { if (tx_type == TX_8X8) @@ -679,11 +673,7 @@ void vp8_tokenize_mb(VP8_COMP *cpi, MACROBLOCKD *x, TOKENEXTRA **t) { return; } -#if CONFIG_NEWENTROPY cpi->skip_false_count[mb_skip_context] += skip_inc; -#else - cpi->skip_false_count += skip_inc; -#endif plane_type = 3; if (has_y2_block) { -- 2.7.4