diff options
Diffstat (limited to 'vp8/common')
-rw-r--r-- | vp8/common/asm_com_offsets.c | 31 | ||||
-rw-r--r-- | vp8/common/blockd.h | 3 | ||||
-rw-r--r-- | vp8/common/findnearmv.h | 33 |
3 files changed, 41 insertions, 26 deletions
diff --git a/vp8/common/asm_com_offsets.c b/vp8/common/asm_com_offsets.c index d299dd2ae..e167d2654 100644 --- a/vp8/common/asm_com_offsets.c +++ b/vp8/common/asm_com_offsets.c @@ -9,27 +9,12 @@ */ -#include "vpx_ports/config.h" -#include <stddef.h> - +#include "vpx_ports/asm_offsets.h" #include "vpx_scale/yv12config.h" -#define ct_assert(name,cond) \ - static void assert_##name(void) UNUSED;\ - static void assert_##name(void) {switch(0){case 0:case !!(cond):;}} - -#define DEFINE(sym, val) int sym = val; - -/* -#define BLANK() asm volatile("\n->" : : ) -*/ - -/* - * int main(void) - * { - */ +BEGIN -//vpx_scale +/* vpx_scale */ DEFINE(yv12_buffer_config_y_width, offsetof(YV12_BUFFER_CONFIG, y_width)); DEFINE(yv12_buffer_config_y_height, offsetof(YV12_BUFFER_CONFIG, y_height)); DEFINE(yv12_buffer_config_y_stride, offsetof(YV12_BUFFER_CONFIG, y_stride)); @@ -41,9 +26,7 @@ DEFINE(yv12_buffer_config_u_buffer, offsetof(YV12_BUFFER_CONFIG, u_b DEFINE(yv12_buffer_config_v_buffer, offsetof(YV12_BUFFER_CONFIG, v_buffer)); DEFINE(yv12_buffer_config_border, offsetof(YV12_BUFFER_CONFIG, border)); -//add asserts for any offset that is not supported by assembly code -//add asserts for any size that is not supported by assembly code -/* - * return 0; - * } - */ +END + +/* add asserts for any offset that is not supported by assembly code */ +/* add asserts for any size that is not supported by assembly code */ diff --git a/vp8/common/blockd.h b/vp8/common/blockd.h index a56412965..48929a869 100644 --- a/vp8/common/blockd.h +++ b/vp8/common/blockd.h @@ -258,6 +258,9 @@ typedef struct int mb_to_top_edge; int mb_to_bottom_edge; + int ref_frame_cost[MAX_REF_FRAMES]; + + unsigned int frames_since_golden; unsigned int frames_till_alt_ref_frame; vp8_subpix_fn_t subpixel_predict; diff --git a/vp8/common/findnearmv.h b/vp8/common/findnearmv.h index 135e60b83..c142a0415 100644 --- a/vp8/common/findnearmv.h +++ b/vp8/common/findnearmv.h @@ -123,7 +123,21 @@ static B_PREDICTION_MODE left_block_mode(const MODE_INFO *cur_mb, int b) { /* On L edge, get from MB to left of us */ --cur_mb; - b += 4; + switch (cur_mb->mbmi.mode) + { + case B_PRED: + return (cur_mb->bmi + b + 3)->as_mode; + case DC_PRED: + return B_DC_PRED; + case V_PRED: + return B_VE_PRED; + case H_PRED: + return B_HE_PRED; + case TM_PRED: + return B_TM_PRED; + default: + return B_DC_PRED; + } } return (cur_mb->bmi + b - 1)->as_mode; @@ -135,7 +149,22 @@ static B_PREDICTION_MODE above_block_mode(const MODE_INFO *cur_mb, int b, int mi { /* On top edge, get from MB above us */ cur_mb -= mi_stride; - b += 16; + + switch (cur_mb->mbmi.mode) + { + case B_PRED: + return (cur_mb->bmi + b + 12)->as_mode; + case DC_PRED: + return B_DC_PRED; + case V_PRED: + return B_VE_PRED; + case H_PRED: + return B_HE_PRED; + case TM_PRED: + return B_TM_PRED; + default: + return B_DC_PRED; + } } return (cur_mb->bmi + b - 4)->as_mode; |