Commit 62fe78e5 authored by Yunqing Wang's avatar Yunqing Wang
Browse files

Remove ext-warped-motion part2

Part2 of ext-warped-motion experiment was removed.

Change-Id: I1b7aebad1fd7cb60d92c3ce959d5101228addae2
parent 6396d3ac
...@@ -278,9 +278,6 @@ typedef struct MB_MODE_INFO { ...@@ -278,9 +278,6 @@ typedef struct MB_MODE_INFO {
int wedge_sign; int wedge_sign;
SEG_MASK_TYPE mask_type; SEG_MASK_TYPE mask_type;
MOTION_MODE motion_mode; MOTION_MODE motion_mode;
#if CONFIG_EXT_WARPED_MOTION
int wm_ctx;
#endif // CONFIG_EXT_WARPED_MOTION
int overlappable_neighbors[2]; int overlappable_neighbors[2];
int_mv mv[2]; int_mv mv[2];
int_mv pred_mv[2]; int_mv pred_mv[2];
......
...@@ -804,7 +804,6 @@ static const aom_cdf_prob ...@@ -804,7 +804,6 @@ static const aom_cdf_prob
#endif // CONFIG_EXT_PARTITION #endif // CONFIG_EXT_PARTITION
}; };
#if !CONFIG_EXT_WARPED_MOTION
static const aom_cdf_prob static const aom_cdf_prob
default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = { default_motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)] = {
{ AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) },
...@@ -825,69 +824,6 @@ static const aom_cdf_prob ...@@ -825,69 +824,6 @@ static const aom_cdf_prob
{ AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) },
#endif #endif
}; };
#else
static const aom_cdf_prob
default_motion_mode_cdf[MOTION_MODE_CTX][BLOCK_SIZES_ALL][CDF_SIZE(
MOTION_MODES)] = {
{
{ AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) },
{ AOM_CDF3(16384, 24576) }, { AOM_CDF3(7936, 19091) },
{ AOM_CDF3(4991, 19205) }, { AOM_CDF3(4992, 19314) },
{ AOM_CDF3(15104, 21590) }, { AOM_CDF3(9855, 21043) },
{ AOM_CDF3(12800, 22238) }, { AOM_CDF3(24320, 26498) },
{ AOM_CDF3(26496, 28995) }, { AOM_CDF3(25216, 28166) },
{ AOM_CDF3(30592, 31238) },
#if CONFIG_EXT_PARTITION
{ AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) },
{ AOM_CDF3(32256, 32656) },
#endif
{ AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) },
{ AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) },
{ AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) },
#if CONFIG_EXT_PARTITION
{ AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) },
#endif
},
{
{ AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) },
{ AOM_CDF3(16384, 24576) }, { AOM_CDF3(7936, 19091) },
{ AOM_CDF3(4991, 19205) }, { AOM_CDF3(4992, 19314) },
{ AOM_CDF3(15104, 21590) }, { AOM_CDF3(9855, 21043) },
{ AOM_CDF3(12800, 22238) }, { AOM_CDF3(24320, 26498) },
{ AOM_CDF3(26496, 28995) }, { AOM_CDF3(25216, 28166) },
{ AOM_CDF3(30592, 31238) },
#if CONFIG_EXT_PARTITION
{ AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) },
{ AOM_CDF3(32256, 32656) },
#endif
{ AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) },
{ AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) },
{ AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) },
#if CONFIG_EXT_PARTITION
{ AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) },
#endif
},
{
{ AOM_CDF3(16384, 24576) }, { AOM_CDF3(16384, 24576) },
{ AOM_CDF3(16384, 24576) }, { AOM_CDF3(7936, 19091) },
{ AOM_CDF3(4991, 19205) }, { AOM_CDF3(4992, 19314) },
{ AOM_CDF3(15104, 21590) }, { AOM_CDF3(9855, 21043) },
{ AOM_CDF3(12800, 22238) }, { AOM_CDF3(24320, 26498) },
{ AOM_CDF3(26496, 28995) }, { AOM_CDF3(25216, 28166) },
{ AOM_CDF3(30592, 31238) },
#if CONFIG_EXT_PARTITION
{ AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) },
{ AOM_CDF3(32256, 32656) },
#endif
{ AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) },
{ AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) },
{ AOM_CDF3(32640, 32740) }, { AOM_CDF3(32640, 32740) },
#if CONFIG_EXT_PARTITION
{ AOM_CDF3(32256, 32656) }, { AOM_CDF3(32256, 32656) },
#endif
},
};
#endif // CONFIG_EXT_WARPED_MOTION
static const aom_cdf_prob default_obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = { static const aom_cdf_prob default_obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)] = {
{ AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) }, { AOM_CDF2(128 * 128) },
......
...@@ -144,12 +144,7 @@ typedef struct frame_contexts { ...@@ -144,12 +144,7 @@ typedef struct frame_contexts {
aom_cdf_prob wedge_interintra_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)]; aom_cdf_prob wedge_interintra_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)];
aom_cdf_prob interintra_mode_cdf[BLOCK_SIZE_GROUPS] aom_cdf_prob interintra_mode_cdf[BLOCK_SIZE_GROUPS]
[CDF_SIZE(INTERINTRA_MODES)]; [CDF_SIZE(INTERINTRA_MODES)];
#if CONFIG_EXT_WARPED_MOTION
aom_cdf_prob motion_mode_cdf[MOTION_MODE_CTX][BLOCK_SIZES_ALL]
[CDF_SIZE(MOTION_MODES)];
#else
aom_cdf_prob motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)]; aom_cdf_prob motion_mode_cdf[BLOCK_SIZES_ALL][CDF_SIZE(MOTION_MODES)];
#endif // CONFIG_EXT_WARPED_MOTION
aom_cdf_prob obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)]; aom_cdf_prob obmc_cdf[BLOCK_SIZES_ALL][CDF_SIZE(2)];
aom_prob comp_inter_prob[COMP_INTER_CONTEXTS]; aom_prob comp_inter_prob[COMP_INTER_CONTEXTS];
aom_cdf_prob palette_y_size_cdf[PALATTE_BSIZE_CTXS][CDF_SIZE(PALETTE_SIZES)]; aom_cdf_prob palette_y_size_cdf[PALATTE_BSIZE_CTXS][CDF_SIZE(PALETTE_SIZES)];
...@@ -308,12 +303,7 @@ typedef struct FRAME_COUNTS { ...@@ -308,12 +303,7 @@ typedef struct FRAME_COUNTS {
#else #else
unsigned int compound_interinter[BLOCK_SIZES_ALL][COMPOUND_TYPES]; unsigned int compound_interinter[BLOCK_SIZES_ALL][COMPOUND_TYPES];
#endif // CONFIG_JNT_COMP #endif // CONFIG_JNT_COMP
#if CONFIG_EXT_WARPED_MOTION
unsigned int motion_mode[MOTION_MODE_CTX][BLOCK_SIZES_ALL][MOTION_MODES];
#else
unsigned int motion_mode[BLOCK_SIZES_ALL][MOTION_MODES]; unsigned int motion_mode[BLOCK_SIZES_ALL][MOTION_MODES];
#endif // CONFIG_EXT_WARPED_MOTION
unsigned int obmc[BLOCK_SIZES_ALL][2]; unsigned int obmc[BLOCK_SIZES_ALL][2];
unsigned int intra_inter[INTRA_INTER_CONTEXTS][2]; unsigned int intra_inter[INTRA_INTER_CONTEXTS][2];
unsigned int comp_inter[COMP_INTER_CONTEXTS][2]; unsigned int comp_inter[COMP_INTER_CONTEXTS][2];
......
...@@ -515,10 +515,6 @@ typedef enum ATTRIBUTE_PACKED { ...@@ -515,10 +515,6 @@ typedef enum ATTRIBUTE_PACKED {
MOTION_MODES MOTION_MODES
} MOTION_MODE; } MOTION_MODE;
#if CONFIG_EXT_WARPED_MOTION
#define MOTION_MODE_CTX 3
#endif // CONFIG_EXT_WARPED_MOTION
typedef enum ATTRIBUTE_PACKED { typedef enum ATTRIBUTE_PACKED {
II_DC_PRED, II_DC_PRED,
II_V_PRED, II_V_PRED,
......
...@@ -72,12 +72,12 @@ static uint8_t add_ref_mv_candidate( ...@@ -72,12 +72,12 @@ static uint8_t add_ref_mv_candidate(
#if USE_CUR_GM_REFMV #if USE_CUR_GM_REFMV
int_mv *gm_mv_candidates, const WarpedMotionParams *gm_params, int_mv *gm_mv_candidates, const WarpedMotionParams *gm_params,
#endif // USE_CUR_GM_REFMV #endif // USE_CUR_GM_REFMV
int col, int weight, int col, int weight
#if CONFIG_AMVR #if CONFIG_AMVR
int is_integer, ,
int is_integer
#endif #endif
BLOCK_SIZE bsize, int mi_row, int mi_col, int subsampling_x, ) {
int subsampling_y, int do_warping) {
#if CONFIG_INTRABC #if CONFIG_INTRABC
if (!is_inter_block(candidate)) return 0; if (!is_inter_block(candidate)) return 0;
#endif // CONFIG_INTRABC #endif // CONFIG_INTRABC
...@@ -85,74 +85,23 @@ static uint8_t add_ref_mv_candidate( ...@@ -85,74 +85,23 @@ static uint8_t add_ref_mv_candidate(
int newmv_count = 0; int newmv_count = 0;
assert(weight % 2 == 0); assert(weight % 2 == 0);
(void)ref_match_count; (void)ref_match_count;
#if !CONFIG_EXT_WARPED_MOTION
(void)bsize;
(void)mi_row;
(void)mi_col;
(void)subsampling_x;
(void)subsampling_y;
(void)do_warping;
#endif // CONFIG_EXT_WARPED_MOTION
if (rf[1] == NONE_FRAME) { if (rf[1] == NONE_FRAME) {
// single reference frame // single reference frame
for (ref = 0; ref < 2; ++ref) { for (ref = 0; ref < 2; ++ref) {
if (candidate->ref_frame[ref] == rf[0]) { if (candidate->ref_frame[ref] == rf[0]) {
int_mv this_refmv; int_mv this_refmv;
#if CONFIG_EXT_WARPED_MOTION
if (candidate->motion_mode == WARPED_CAUSAL && do_warping) {
const WarpedMotionParams wm = candidate->wm_params[0];
const int bw = block_size_wide[bsize];
const int bh = block_size_high[bsize];
int global_offset_c = mi_col * MI_SIZE;
int global_offset_r = mi_row * MI_SIZE;
int cc_offset = bw / 2 - 1;
int cr_offset = bh / 2 - 1;
int xc0 = cc_offset + global_offset_c;
int yc0 = cr_offset + global_offset_r;
int xc1 = xc0 + 1;
int yc1 = yc0 + 1;
int in[4] = { xc0, yc0, xc1, yc1 };
int out[4] = { 0, 0, 0, 0 };
assert(ref == 0);
// For WARPED_CAUSAL, wmtype is always AFFINE.
assert(wm.wmtype == AFFINE);
project_points_affine(wm.wmmat, in, out, 2, 2, 2, subsampling_x,
subsampling_y);
// assert(x_scale == 1024 && y_scale == 1024);
// out[]'s precision is 1/64, adjust xc, yc accordingly.
out[0] -= (xc0 << (3 + SCALING_FCT));
out[1] -= (yc0 << (3 + SCALING_FCT));
out[2] -= (xc1 << (3 + SCALING_FCT));
out[3] -= (yc1 << (3 + SCALING_FCT));
this_refmv.as_mv.col =
ROUND_POWER_OF_TWO_SIGNED(out[0] + out[2], SCALING_FCT + 1);
this_refmv.as_mv.row =
ROUND_POWER_OF_TWO_SIGNED(out[1] + out[3], SCALING_FCT + 1);
#if CONFIG_AMVR
lower_mv_precision(&this_refmv.as_mv, use_hp, is_integer);
#else
lower_mv_precision(&this_refmv.as_mv, use_hp);
#endif
} else {
#endif // CONFIG_EXT_WARPED_MOTION
#if USE_CUR_GM_REFMV #if USE_CUR_GM_REFMV
if (is_global_mv_block(candidate_mi, gm_params[rf[0]].wmtype)) if (is_global_mv_block(candidate_mi, gm_params[rf[0]].wmtype))
this_refmv = gm_mv_candidates[0]; this_refmv = gm_mv_candidates[0];
else else
#endif // USE_CUR_GM_REFMV #endif // USE_CUR_GM_REFMV
this_refmv = get_sub_block_mv(candidate_mi, ref, col); this_refmv = get_sub_block_mv(candidate_mi, ref, col);
#if CONFIG_AMVR #if CONFIG_AMVR
lower_mv_precision(&this_refmv.as_mv, use_hp, is_integer); lower_mv_precision(&this_refmv.as_mv, use_hp, is_integer);
#else #else
lower_mv_precision(&this_refmv.as_mv, use_hp); lower_mv_precision(&this_refmv.as_mv, use_hp);
#endif // CONFIG_AMVR #endif // CONFIG_AMVR
#if CONFIG_EXT_WARPED_MOTION
}
#endif // CONFIG_EXT_WARPED_MOTION
for (index = 0; index < *refmv_count; ++index) for (index = 0; index < *refmv_count; ++index)
if (ref_mv_stack[index].this_mv.as_int == this_refmv.as_int) break; if (ref_mv_stack[index].this_mv.as_int == this_refmv.as_int) break;
...@@ -250,7 +199,7 @@ static uint8_t scan_row_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -250,7 +199,7 @@ static uint8_t scan_row_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
} }
const int use_step_16 = (xd->n8_w >= 16); const int use_step_16 = (xd->n8_w >= 16);
MODE_INFO **const candidate_mi0 = xd->mi + row_offset * xd->mi_stride; MODE_INFO **const candidate_mi0 = xd->mi + row_offset * xd->mi_stride;
const int do_warping = (row_offset == -1); (void)mi_row;
for (i = 0; i < end_mi;) { for (i = 0; i < end_mi;) {
const MODE_INFO *const candidate_mi = candidate_mi0[col_offset + i]; const MODE_INFO *const candidate_mi = candidate_mi0[col_offset + i];
...@@ -280,9 +229,7 @@ static uint8_t scan_row_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -280,9 +229,7 @@ static uint8_t scan_row_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
#if USE_CUR_GM_REFMV #if USE_CUR_GM_REFMV
gm_mv_candidates, cm->global_motion, gm_mv_candidates, cm->global_motion,
#endif // USE_CUR_GM_REFMV #endif // USE_CUR_GM_REFMV
col_offset + i, weight, cm->cur_frame_force_integer_mv, col_offset + i, weight, cm->cur_frame_force_integer_mv);
xd->mi[0]->mbmi.sb_type, mi_row, mi_col, xd->plane[0].subsampling_x,
xd->plane[0].subsampling_y, do_warping);
#else #else
newmv_count += add_ref_mv_candidate( newmv_count += add_ref_mv_candidate(
candidate_mi, candidate, rf, refmv_count, ref_match_count, ref_mv_stack, candidate_mi, candidate, rf, refmv_count, ref_match_count, ref_mv_stack,
...@@ -290,8 +237,7 @@ static uint8_t scan_row_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -290,8 +237,7 @@ static uint8_t scan_row_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
#if USE_CUR_GM_REFMV #if USE_CUR_GM_REFMV
gm_mv_candidates, cm->global_motion, gm_mv_candidates, cm->global_motion,
#endif // USE_CUR_GM_REFMV #endif // USE_CUR_GM_REFMV
col_offset + i, weight, xd->mi[0]->mbmi.sb_type, mi_row, mi_col, col_offset + i, weight);
xd->plane[0].subsampling_x, xd->plane[0].subsampling_y, do_warping);
#endif #endif
i += len; i += len;
...@@ -321,7 +267,7 @@ static uint8_t scan_col_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -321,7 +267,7 @@ static uint8_t scan_col_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
if (mi_row & 0x01 && xd->n8_h < n8_h_8) --row_offset; if (mi_row & 0x01 && xd->n8_h < n8_h_8) --row_offset;
} }
const int use_step_16 = (xd->n8_h >= 16); const int use_step_16 = (xd->n8_h >= 16);
const int do_warping = (col_offset == -1); (void)mi_col;
for (i = 0; i < end_mi;) { for (i = 0; i < end_mi;) {
const MODE_INFO *const candidate_mi = const MODE_INFO *const candidate_mi =
...@@ -352,9 +298,7 @@ static uint8_t scan_col_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -352,9 +298,7 @@ static uint8_t scan_col_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
#if USE_CUR_GM_REFMV #if USE_CUR_GM_REFMV
gm_mv_candidates, cm->global_motion, gm_mv_candidates, cm->global_motion,
#endif // USE_CUR_GM_REFMV #endif // USE_CUR_GM_REFMV
col_offset, weight, cm->cur_frame_force_integer_mv, col_offset, weight, cm->cur_frame_force_integer_mv);
xd->mi[0]->mbmi.sb_type, mi_row, mi_col, xd->plane[0].subsampling_x,
xd->plane[0].subsampling_y, do_warping);
#else #else
newmv_count += add_ref_mv_candidate( newmv_count += add_ref_mv_candidate(
candidate_mi, candidate, rf, refmv_count, ref_match_count, ref_mv_stack, candidate_mi, candidate, rf, refmv_count, ref_match_count, ref_mv_stack,
...@@ -362,8 +306,7 @@ static uint8_t scan_col_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -362,8 +306,7 @@ static uint8_t scan_col_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
#if USE_CUR_GM_REFMV #if USE_CUR_GM_REFMV
gm_mv_candidates, cm->global_motion, gm_mv_candidates, cm->global_motion,
#endif // USE_CUR_GM_REFMV #endif // USE_CUR_GM_REFMV
col_offset, weight, xd->mi[0]->mbmi.sb_type, mi_row, mi_col, col_offset, weight);
xd->plane[0].subsampling_x, xd->plane[0].subsampling_y, do_warping);
#endif #endif
i += len; i += len;
} }
...@@ -383,7 +326,6 @@ static uint8_t scan_blk_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -383,7 +326,6 @@ static uint8_t scan_blk_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
const TileInfo *const tile = &xd->tile; const TileInfo *const tile = &xd->tile;
POSITION mi_pos; POSITION mi_pos;
uint8_t newmv_count = 0; uint8_t newmv_count = 0;
const int do_warping = 1;
mi_pos.row = row_offset; mi_pos.row = row_offset;
mi_pos.col = col_offset; mi_pos.col = col_offset;
...@@ -401,9 +343,7 @@ static uint8_t scan_blk_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -401,9 +343,7 @@ static uint8_t scan_blk_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
#if USE_CUR_GM_REFMV #if USE_CUR_GM_REFMV
gm_mv_candidates, cm->global_motion, gm_mv_candidates, cm->global_motion,
#endif // USE_CUR_GM_REFMV #endif // USE_CUR_GM_REFMV
mi_pos.col, 2, cm->cur_frame_force_integer_mv, xd->mi[0]->mbmi.sb_type, mi_pos.col, 2, cm->cur_frame_force_integer_mv);
mi_row, mi_col, xd->plane[0].subsampling_x, xd->plane[0].subsampling_y,
do_warping);
#else #else
newmv_count += add_ref_mv_candidate( newmv_count += add_ref_mv_candidate(
candidate_mi, candidate, rf, refmv_count, ref_match_count, ref_mv_stack, candidate_mi, candidate, rf, refmv_count, ref_match_count, ref_mv_stack,
...@@ -411,8 +351,7 @@ static uint8_t scan_blk_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -411,8 +351,7 @@ static uint8_t scan_blk_mbmi(const AV1_COMMON *cm, const MACROBLOCKD *xd,
#if USE_CUR_GM_REFMV #if USE_CUR_GM_REFMV
gm_mv_candidates, cm->global_motion, gm_mv_candidates, cm->global_motion,
#endif // USE_CUR_GM_REFMV #endif // USE_CUR_GM_REFMV
mi_pos.col, 2, xd->mi[0]->mbmi.sb_type, mi_row, mi_col, mi_pos.col, 2);
xd->plane[0].subsampling_x, xd->plane[0].subsampling_y, do_warping);
#endif #endif
} // Analyze a single 8x8 block motion information. } // Analyze a single 8x8 block motion information.
...@@ -1730,7 +1669,7 @@ int sortSamples(int *pts_mv, MV *mv, int *pts, int *pts_inref, int len) { ...@@ -1730,7 +1669,7 @@ int sortSamples(int *pts_mv, MV *mv, int *pts, int *pts_inref, int len) {
// Note: Samples returned are at 1/8-pel precision // Note: Samples returned are at 1/8-pel precision
int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col, int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
int *pts, int *pts_inref, int *pts_mv, int *pts_wm) { int *pts, int *pts_inref, int *pts_mv) {
MB_MODE_INFO *const mbmi0 = &(xd->mi[0]->mbmi); MB_MODE_INFO *const mbmi0 = &(xd->mi[0]->mbmi);
int ref_frame = mbmi0->ref_frame[0]; int ref_frame = mbmi0->ref_frame[0];
int up_available = xd->up_available; int up_available = xd->up_available;
...@@ -1760,11 +1699,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col, ...@@ -1760,11 +1699,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
if (mbmi->ref_frame[0] == ref_frame && mbmi->ref_frame[1] == NONE_FRAME) { if (mbmi->ref_frame[0] == ref_frame && mbmi->ref_frame[1] == NONE_FRAME) {
record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r, record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r,
global_offset_c, 0, -1, col_offset, 1); global_offset_c, 0, -1, col_offset, 1);
pts_wm[0] = mi_row_offset * xd->mi_stride;
pts_wm[1] = (mbmi->motion_mode == WARPED_CAUSAL)
? (n8_w * mi_size_high[mbmi->sb_type])
: 0;
pts_wm += 2;
pts += 2; pts += 2;
pts_inref += 2; pts_inref += 2;
pts_mv += 2; pts_mv += 2;
...@@ -1784,11 +1718,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col, ...@@ -1784,11 +1718,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
mbmi->ref_frame[1] == NONE_FRAME) { mbmi->ref_frame[1] == NONE_FRAME) {
record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r, record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r,
global_offset_c, 0, -1, i, 1); global_offset_c, 0, -1, i, 1);
pts_wm[0] = mi_col_offset + mi_row_offset * xd->mi_stride;
pts_wm[1] = (mbmi->motion_mode == WARPED_CAUSAL)
? (n8_w * mi_size_high[mbmi->sb_type])
: 0;
pts_wm += 2;
pts += 2; pts += 2;
pts_inref += 2; pts_inref += 2;
pts_mv += 2; pts_mv += 2;
...@@ -1817,11 +1746,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col, ...@@ -1817,11 +1746,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
if (mbmi->ref_frame[0] == ref_frame && mbmi->ref_frame[1] == NONE_FRAME) { if (mbmi->ref_frame[0] == ref_frame && mbmi->ref_frame[1] == NONE_FRAME) {
record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r, record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r,
global_offset_c, row_offset, 1, 0, -1); global_offset_c, row_offset, 1, 0, -1);
pts_wm[0] = mi_col_offset;
pts_wm[1] = (mbmi->motion_mode == WARPED_CAUSAL)
? (n8_h * mi_size_wide[mbmi->sb_type])
: 0;
pts_wm += 2;
pts += 2; pts += 2;
pts_inref += 2; pts_inref += 2;
pts_mv += 2; pts_mv += 2;
...@@ -1841,11 +1765,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col, ...@@ -1841,11 +1765,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
mbmi->ref_frame[1] == NONE_FRAME) { mbmi->ref_frame[1] == NONE_FRAME) {
record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r, record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r,
global_offset_c, i, 1, 0, -1); global_offset_c, i, 1, 0, -1);
pts_wm[0] = mi_col_offset + mi_row_offset * xd->mi_stride;
pts_wm[1] = (mbmi->motion_mode == WARPED_CAUSAL)
? (n8_h * mi_size_wide[mbmi->sb_type])
: 0;
pts_wm += 2;
pts += 2; pts += 2;
pts_inref += 2; pts_inref += 2;
pts_mv += 2; pts_mv += 2;
...@@ -1868,12 +1787,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col, ...@@ -1868,12 +1787,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
if (mbmi->ref_frame[0] == ref_frame && mbmi->ref_frame[1] == NONE_FRAME) { if (mbmi->ref_frame[0] == ref_frame && mbmi->ref_frame[1] == NONE_FRAME) {
record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r, record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r,
global_offset_c, 0, -1, 0, -1); global_offset_c, 0, -1, 0, -1);
pts_wm[0] = mi_col_offset + mi_row_offset * xd->mi_stride;
pts_wm[1] =
(mbmi->motion_mode == WARPED_CAUSAL)
? (mi_size_wide[mbmi->sb_type] * mi_size_high[mbmi->sb_type])
: 0;
pts_wm += 2;
pts += 2; pts += 2;
pts_inref += 2; pts_inref += 2;
pts_mv += 2; pts_mv += 2;
...@@ -1898,11 +1811,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col, ...@@ -1898,11 +1811,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
if (mbmi->ref_frame[0] == ref_frame && mbmi->ref_frame[1] == NONE_FRAME) { if (mbmi->ref_frame[0] == ref_frame && mbmi->ref_frame[1] == NONE_FRAME) {
record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r, record_samples(mbmi, pts, pts_inref, pts_mv, global_offset_r,
global_offset_c, 0, -1, xd->n8_w, 1); global_offset_c, 0, -1, xd->n8_w, 1);
pts_wm[0] = mi_col_offset + mi_row_offset * xd->mi_stride;
pts_wm[1] =
(mbmi->motion_mode == WARPED_CAUSAL)
? (mi_size_wide[mbmi->sb_type] * mi_size_high[mbmi->sb_type])
: 0;
np++; np++;
if (np >= SAMPLES_MAX) return SAMPLES_MAX; if (np >= SAMPLES_MAX) return SAMPLES_MAX;
} }
......
...@@ -444,7 +444,7 @@ void av1_update_mv_context(const AV1_COMMON *cm, const MACROBLOCKD *xd, ...@@ -444,7 +444,7 @@ void av1_update_mv_context(const AV1_COMMON *cm, const MACROBLOCKD *xd,
#if CONFIG_EXT_WARPED_MOTION #if CONFIG_EXT_WARPED_MOTION
int sortSamples(int *pts_mv, MV *mv, int *pts, int *pts_inref, int len); int sortSamples(int *pts_mv, MV *mv, int *pts, int *pts_inref, int len);
int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col, int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
int *pts, int *pts_inref, int *pts_mv, int *pts_wm); int *pts, int *pts_inref, int *pts_mv);
#else #else
int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col, int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
int *pts, int *pts_inref); int *pts, int *pts_inref);
......
...@@ -36,8 +36,6 @@ ...@@ -36,8 +36,6 @@
// Here force number of samples within SAMPLES_MAX. // Here force number of samples within SAMPLES_MAX.
#define SAMPLES_MAX (LEAST_SQUARES_SAMPLES_MAX * 2) #define SAMPLES_MAX (LEAST_SQUARES_SAMPLES_MAX * 2)
#define SAMPLES_ARRAY_SIZE (SAMPLES_MAX * 2) #define SAMPLES_ARRAY_SIZE (SAMPLES_MAX * 2)
#define SCALING_FCT 3
#else #else
#define SAMPLES_ARRAY_SIZE (LEAST_SQUARES_SAMPLES_MAX * 2) #define SAMPLES_ARRAY_SIZE (LEAST_SQUARES_SAMPLES_MAX * 2)
#endif // CONFIG_EXT_WARPED_MOTION #endif // CONFIG_EXT_WARPED_MOTION
......
...@@ -280,13 +280,8 @@ static void read_drl_idx(FRAME_CONTEXT *ec_ctx, MACROBLOCKD *xd, ...@@ -280,13 +280,8 @@ static void read_drl_idx(FRAME_CONTEXT *ec_ctx, MACROBLOCKD *xd,
} }
} }
#if CONFIG_EXT_WARPED_MOTION
static MOTION_MODE read_motion_mode(MACROBLOCKD *xd, MODE_INFO *mi,
aom_reader *r, int best) {
#else
static MOTION_MODE read_motion_mode(MACROBLOCKD *xd, MODE_INFO *mi, static MOTION_MODE read_motion_mode(MACROBLOCKD *xd, MODE_INFO *mi,
aom_reader *r) { aom_reader *r) {
#endif // CONFIG_EXT_WARPED_MOTION
MB_MODE_INFO *mbmi = &mi->mbmi; MB_MODE_INFO *mbmi = &mi->mbmi;
#if CONFIG_EXT_SKIP #if CONFIG_EXT_SKIP
...@@ -306,24 +301,10 @@ static MOTION_MODE read_motion_mode(MACROBLOCKD *xd, MODE_INFO *mi, ...@@ -306,24 +301,10 @@ static MOTION_MODE read_motion_mode(MACROBLOCKD *xd, MODE_INFO *mi,
if (counts) ++counts->obmc[mbmi->sb_type][motion_mode]; if (counts) ++counts->obmc[mbmi->sb_type][motion_mode];
return (MOTION_MODE)(SIMPLE_TRANSLATION + motion_mode); return (MOTION_MODE)(SIMPLE_TRANSLATION + motion_mode);
} else { } else {
#if CONFIG_EXT_WARPED_MOTION
int wm_ctx = 0;
if (best != -1) {
wm_ctx = 1;
if (mbmi->mode == NEARESTMV) wm_ctx = 2;
}
motion_mode =
aom_read_symbol(r, xd->tile_ctx->motion_mode_cdf[wm_ctx][mbmi->sb_type],
MOTION_MODES, ACCT_STR);
if (counts) ++counts->motion_mode[wm_ctx][mbmi->sb_type][motion_mode];
#else
motion_mode = motion_mode =
aom_read_symbol(r, xd->tile_ctx->motion_mode_cdf[mbmi->sb_type], aom_read_symbol(r, xd->tile_ctx->motion_mode_cdf[mbmi->sb_type],
MOTION_MODES, ACCT_STR); MOTION_MODES, ACCT_STR);
if (counts) ++counts->motion_mode[mbmi->sb_type][motion_mode]; if (counts) ++counts->motion_mode[mbmi->sb_type][motion_mode];
#endif // CONFIG_EXT_WARPED_MOTION