ref: 4b0b43632bdb268222b1647771a1cf748235f61e
parent: 0e17ee56e808891f17da7460c2210c3b14b57f1f
author: Johann <johannkoenig@google.com>
date: Thu Aug 2 10:26:04 EDT 2012
Pass B_PREDICTION_MODE to intra4x4_predict Use the correct type when calling and inside the function. Change-Id: Idbaf1bf58b9574f0cba73d78780e9aedd8889dfd
--- a/vp8/common/reconintra4x4.c
+++ b/vp8/common/reconintra4x4.c
@@ -15,7 +15,7 @@
void vp8_intra4x4_predict_c(unsigned char *Above,
unsigned char *yleft, int left_stride,
- int b_mode,
+ B_PREDICTION_MODE b_mode,
unsigned char *dst, int dst_stride,
unsigned char top_left)
{
@@ -290,6 +290,8 @@
}
break;
+ default:
+ break;
}
}
--- a/vp8/common/rtcd_defs.sh
+++ b/vp8/common/rtcd_defs.sh
@@ -1,5 +1,7 @@
common_forward_decls() {
cat <<EOF
+#include "vp8/common/blockd.h"
+
struct blockd;
struct macroblockd;
struct loop_filter_info;
@@ -144,7 +146,7 @@
prototype void vp8_build_intra_predictors_mbuv_s "struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride"
specialize vp8_build_intra_predictors_mbuv_s sse2 ssse3
-prototype void vp8_intra4x4_predict "unsigned char *Above, unsigned char *yleft, int left_stride, int b_mode, unsigned char *dst, int dst_stride, unsigned char top_left"
+prototype void vp8_intra4x4_predict "unsigned char *Above, unsigned char *yleft, int left_stride, B_PREDICTION_MODE b_mode, unsigned char *dst, int dst_stride, unsigned char top_left"
# No existing specializations
#
--- a/vp8/decoder/decodframe.c
+++ b/vp8/decoder/decodframe.c
@@ -188,7 +188,8 @@
{
BLOCKD *b = &xd->block[i];
unsigned char *dst = xd->dst.y_buffer + b->offset;
- int b_mode = xd->mode_info_context->bmi[i].as_mode;
+ B_PREDICTION_MODE b_mode =
+ xd->mode_info_context->bmi[i].as_mode;
unsigned char *Above = dst - dst_stride;
unsigned char *yleft = dst - 1;
int left_stride = dst_stride;
--- a/vp8/decoder/threading.c
+++ b/vp8/decoder/threading.c
@@ -177,7 +177,8 @@
{
BLOCKD *b = &xd->block[i];
unsigned char *dst = xd->dst.y_buffer + b->offset;
- int b_mode = xd->mode_info_context->bmi[i].as_mode;
+ B_PREDICTION_MODE b_mode =
+ xd->mode_info_context->bmi[i].as_mode;
unsigned char *Above;
unsigned char *yleft;
int left_stride;
--- a/vp8/encoder/pickinter.c
+++ b/vp8/encoder/pickinter.c
@@ -151,7 +151,7 @@
unsigned char *yleft = dst - 1;
unsigned char top_left = Above[-1];
- for (mode = B_DC_PRED; mode <= B_HE_PRED /*B_HU_PRED*/; mode++)
+ for (mode = B_DC_PRED; mode <= B_HE_PRED; mode++)
{
int this_rd;
@@ -171,7 +171,7 @@
}
}
- b->bmi.as_mode = (B_PREDICTION_MODE)(*best_mode);
+ b->bmi.as_mode = *best_mode;
vp8_encode_intra4x4block(x, ib);
return best_rd;
}
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -694,7 +694,7 @@
vpx_memcpy(best_dqcoeff, b->dqcoeff, 32);
}
}
- b->bmi.as_mode = (B_PREDICTION_MODE)(*best_mode);
+ b->bmi.as_mode = *best_mode;
vp8_short_idct4x4llm(best_dqcoeff, best_predictor, 16, dst, dst_stride);