diff --git a/src/global.h b/src/global.h index b4f6c8e4..6842f1bd 100644 --- a/src/global.h +++ b/src/global.h @@ -34,7 +34,7 @@ /* CONFIG VARIABLES */ #define LCU_WIDTH 64 /*!< Largest Coding Unit (IT'S 64x64, DO NOT TOUCH!) */ -#define MAX_INTER_SEARCH_DEPTH 2 +#define MAX_INTER_SEARCH_DEPTH 3 #define MIN_INTER_SEARCH_DEPTH 0 #define MAX_INTRA_SEARCH_DEPTH 3 /*!< Max search depth -> min block size (3 == 8x8) */ diff --git a/src/inter.c b/src/inter.c index a58fa6a0..9597931d 100644 --- a/src/inter.c +++ b/src/inter.c @@ -58,9 +58,10 @@ void inter_set_block(picture* pic, uint32_t x_cu, uint32_t y_cu, uint8_t depth, * \param dst destination picture * \returns Void */ -void inter_recon(picture* ref,int32_t xpos, int32_t ypos,int32_t width, int16_t mv[2], picture *dst) +void inter_recon(picture* ref,int32_t xpos, int32_t ypos,int32_t width, const int16_t mv_param[2], picture *dst) { int x,y,coord_x,coord_y; + int16_t mv[2] = { mv_param[0], mv_param[1] }; int32_t dst_width_c = dst->width>>1; //!< Destination picture width in chroma pixels int32_t ref_width_c = ref->width>>1; //!< Reference picture width in chroma pixels @@ -84,8 +85,8 @@ void inter_recon(picture* ref,int32_t xpos, int32_t ypos,int32_t width, int16_t int16_t halfpel_v[LCU_WIDTH * LCU_WIDTH]; //!< interpolated 2W x 2H block (v) // TODO: Fractional pixel support - mv[0] = mv[0]>>2; - mv[1] = mv[1]>>2; + mv[0] >>= 2; + mv[1] >>= 2; // Chroma half-pel // get half-pel interpolated block and push it to output diff --git a/src/inter.h b/src/inter.h index a51baba0..58c35c89 100644 --- a/src/inter.h +++ b/src/inter.h @@ -19,7 +19,7 @@ void inter_set_block(picture* pic,uint32_t x_cu, uint32_t y_cu, uint8_t depth, cu_info *cur_cu); -void inter_recon(picture *ref,int32_t xpos, int32_t ypos,int32_t width, int16_t mv[2], picture* dst); +void inter_recon(picture *ref,int32_t xpos, int32_t ypos,int32_t width, const int16_t mv[2], picture* dst); void inter_get_mv_cand(encoder_control *encoder, int32_t x_cu, int32_t y_cu, int8_t depth, int16_t mv_cand[2][2]);