diff options
Diffstat (limited to 'vp8/common')
-rw-r--r-- | vp8/common/alloccommon.c | 18 | ||||
-rw-r--r-- | vp8/common/entropy.c | 6 | ||||
-rw-r--r-- | vp8/common/entropy.h | 4 | ||||
-rw-r--r-- | vp8/common/onyxc_int.h | 1 | ||||
-rw-r--r-- | vp8/common/reconintra4x4.c | 16 |
5 files changed, 24 insertions, 21 deletions
diff --git a/vp8/common/alloccommon.c b/vp8/common/alloccommon.c index 9dce8c8f6..5ab8e29ab 100644 --- a/vp8/common/alloccommon.c +++ b/vp8/common/alloccommon.c @@ -126,7 +126,16 @@ int vp8_alloc_frame_buffers(VP8_COMMON *oci, int width, int height) } void vp8_setup_version(VP8_COMMON *cm) { - switch (cm->version) + if (cm->version & 0x4) + { + if (!CONFIG_EXPERIMENTAL) + vpx_internal_error(&cm->error, VPX_CODEC_UNSUP_BITSTREAM, + "Bitstream was created by an experimental " + "encoder"); + cm->experimental = 1; + } + + switch (cm->version & 0x3) { case 0: cm->no_lpf = 0; @@ -152,13 +161,6 @@ void vp8_setup_version(VP8_COMMON *cm) cm->use_bilinear_mc_filter = 1; cm->full_pixel = 1; break; - default: - /*4,5,6,7 are reserved for future use*/ - cm->no_lpf = 0; - cm->simpler_lpf = 0; - cm->use_bilinear_mc_filter = 0; - cm->full_pixel = 0; - break; } } void vp8_create_common(VP8_COMMON *oci) diff --git a/vp8/common/entropy.c b/vp8/common/entropy.c index 61dbe4af7..153dd0020 100644 --- a/vp8/common/entropy.c +++ b/vp8/common/entropy.c @@ -76,7 +76,7 @@ static const Prob Pcat3[] = { 173, 148, 140}; static const Prob Pcat4[] = { 176, 155, 140, 135}; static const Prob Pcat5[] = { 180, 157, 141, 134, 130}; static const Prob Pcat6[] = -{ 254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129}; +{ 254, 254, 252, 249, 243, 230, 196, 177, 153, 140, 133, 130, 129}; static vp8_tree_index cat1[2], cat2[4], cat3[6], cat4[8], cat5[10], cat6[22]; @@ -111,7 +111,7 @@ static void init_bit_trees() init_bit_tree(cat3, 3); init_bit_tree(cat4, 4); init_bit_tree(cat5, 5); - init_bit_tree(cat6, 11); + init_bit_tree(cat6, 13); } @@ -129,7 +129,7 @@ vp8_extra_bit_struct vp8_extra_bits[12] = { cat3, Pcat3, bcc3, 3, 11}, { cat4, Pcat4, bcc4, 4, 19}, { cat5, Pcat5, bcc5, 5, 35}, - { cat6, Pcat6, bcc6, 11, 67}, + { cat6, Pcat6, bcc6, 13, 67}, { 0, 0, 0, 0, 0} }; #include "defaultcoefcounts.h" diff --git a/vp8/common/entropy.h b/vp8/common/entropy.h index fa2fce47b..a2dd8cdd8 100644 --- a/vp8/common/entropy.h +++ b/vp8/common/entropy.h @@ -27,7 +27,7 @@ #define DCT_VAL_CATEGORY3 7 /* 11-18 Extra Bits 3+1 */ #define DCT_VAL_CATEGORY4 8 /* 19-34 Extra Bits 4+1 */ #define DCT_VAL_CATEGORY5 9 /* 35-66 Extra Bits 5+1 */ -#define DCT_VAL_CATEGORY6 10 /* 67+ Extra Bits 11+1 */ +#define DCT_VAL_CATEGORY6 10 /* 67+ Extra Bits 13+1 */ #define DCT_EOB_TOKEN 11 /* EOB Extra Bits 0+0 */ #define vp8_coef_tokens 12 @@ -52,7 +52,7 @@ extern vp8_extra_bit_struct vp8_extra_bits[12]; /* indexed by token value */ #define PROB_UPDATE_BASELINE_COST 7 #define MAX_PROB 255 -#define DCT_MAX_VALUE 2048 +#define DCT_MAX_VALUE 8192 /* Coefficients are predicted via a 3-dimensional probability table. */ diff --git a/vp8/common/onyxc_int.h b/vp8/common/onyxc_int.h index 7e44c1f0c..f60b0f3f5 100644 --- a/vp8/common/onyxc_int.h +++ b/vp8/common/onyxc_int.h @@ -117,6 +117,7 @@ typedef struct VP8Common int mode_info_stride; /* profile settings */ + int experimental; int mb_no_coeff_skip; int no_lpf; int simpler_lpf; diff --git a/vp8/common/reconintra4x4.c b/vp8/common/reconintra4x4.c index db44fa190..d3d133836 100644 --- a/vp8/common/reconintra4x4.c +++ b/vp8/common/reconintra4x4.c @@ -81,10 +81,10 @@ void vp8_predict_intra4x4(BLOCKD *x, { unsigned int ap[4]; - ap[0] = (top_left + 2 * Above[0] + Above[1] + 2) >> 2; - ap[1] = (Above[0] + 2 * Above[1] + Above[2] + 2) >> 2; - ap[2] = (Above[1] + 2 * Above[2] + Above[3] + 2) >> 2; - ap[3] = (Above[2] + 2 * Above[3] + Above[4] + 2) >> 2; + ap[0] = Above[0]; + ap[1] = Above[1]; + ap[2] = Above[2]; + ap[3] = Above[3]; for (r = 0; r < 4; r++) { @@ -105,10 +105,10 @@ void vp8_predict_intra4x4(BLOCKD *x, { unsigned int lp[4]; - lp[0] = (top_left + 2 * Left[0] + Left[1] + 2) >> 2; - lp[1] = (Left[0] + 2 * Left[1] + Left[2] + 2) >> 2; - lp[2] = (Left[1] + 2 * Left[2] + Left[3] + 2) >> 2; - lp[3] = (Left[2] + 2 * Left[3] + Left[3] + 2) >> 2; + lp[0] = Left[0]; + lp[1] = Left[1]; + lp[2] = Left[2]; + lp[3] = Left[3]; for (r = 0; r < 4; r++) { |