Commit f8daa92d authored by Peng Bin's avatar Peng Bin Committed by Bin Peng

Remove aom_comp_mask_upsampled_pred from rtcd

Since aom_comp_mask_upsampled_pred just call aom_upsampled_pred
and aom_comp_mask_pred, no need to separate c version from simd
version any more.

Change-Id: I1ff8bcae87d501c68a80708fd2dc6b74c6952f88
parent a64c05b5
...@@ -1784,8 +1784,6 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") { ...@@ -1784,8 +1784,6 @@ if (aom_config("CONFIG_AV1_ENCODER") eq "yes") {
add_proto qw/void aom_comp_mask_pred/, "uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask"; add_proto qw/void aom_comp_mask_pred/, "uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask";
specialize qw/aom_comp_mask_pred ssse3/; specialize qw/aom_comp_mask_pred ssse3/;
add_proto qw/void aom_comp_mask_upsampled_pred/, "uint8_t *comp_pred, const uint8_t *pred, int width, int height, int subsample_x_q3, int subsample_y_q3, const uint8_t *ref, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask";
specialize qw/aom_comp_mask_upsampled_pred ssse3/;
add_proto qw/void aom_highbd_comp_mask_pred/, "uint16_t *comp_pred, const uint8_t *pred8, int width, int height, const uint8_t *ref8, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask"; add_proto qw/void aom_highbd_comp_mask_pred/, "uint16_t *comp_pred, const uint8_t *pred8, int width, int height, const uint8_t *ref8, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask";
add_proto qw/void aom_highbd_comp_mask_upsampled_pred/, "uint16_t *comp_pred, const uint8_t *pred8, int width, int height, int subsample_x_q3, int subsample_y_q3, const uint8_t *ref8, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask, int bd"; add_proto qw/void aom_highbd_comp_mask_upsampled_pred/, "uint16_t *comp_pred, const uint8_t *pred8, int width, int height, int subsample_x_q3, int subsample_y_q3, const uint8_t *ref8, int ref_stride, const uint8_t *mask, int mask_stride, int invert_mask, int bd";
......
...@@ -1044,25 +1044,19 @@ void aom_comp_mask_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, ...@@ -1044,25 +1044,19 @@ void aom_comp_mask_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width,
} }
} }
void aom_comp_mask_upsampled_pred_c(uint8_t *comp_pred, const uint8_t *pred, void aom_comp_mask_upsampled_pred(uint8_t *comp_pred, const uint8_t *pred,
int width, int height, int subpel_x_q3, int width, int height, int subpel_x_q3,
int subpel_y_q3, const uint8_t *ref, int subpel_y_q3, const uint8_t *ref,
int ref_stride, const uint8_t *mask, int ref_stride, const uint8_t *mask,
int mask_stride, int invert_mask) { int mask_stride, int invert_mask) {
int i, j; if (subpel_x_q3 | subpel_y_q3) {
const uint8_t *src0 = invert_mask ? pred : comp_pred; aom_upsampled_pred(comp_pred, width, height, subpel_x_q3, subpel_y_q3, ref,
const uint8_t *src1 = invert_mask ? comp_pred : pred; ref_stride);
aom_upsampled_pred(comp_pred, width, height, subpel_x_q3, subpel_y_q3, ref, ref = comp_pred;
ref_stride); ref_stride = width;
for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
comp_pred[j] = AOM_BLEND_A64(mask[j], src0[j], src1[j]);
}
comp_pred += width;
src0 += width;
src1 += width;
mask += mask_stride;
} }
aom_comp_mask_pred(comp_pred, pred, width, height, ref, ref_stride, mask,
mask_stride, invert_mask);
} }
#define MASK_SUBPIX_VAR(W, H) \ #define MASK_SUBPIX_VAR(W, H) \
......
...@@ -76,6 +76,12 @@ typedef unsigned int (*aom_masked_subpixvariance_fn_t)( ...@@ -76,6 +76,12 @@ typedef unsigned int (*aom_masked_subpixvariance_fn_t)(
const uint8_t *src, int src_stride, int xoffset, int yoffset, const uint8_t *src, int src_stride, int xoffset, int yoffset,
const uint8_t *ref, int ref_stride, const uint8_t *second_pred, const uint8_t *ref, int ref_stride, const uint8_t *second_pred,
const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse); const uint8_t *msk, int msk_stride, int invert_mask, unsigned int *sse);
void aom_comp_mask_upsampled_pred(uint8_t *comp_pred, const uint8_t *pred,
int width, int height, int subsample_x_q3,
int subsample_y_q3, const uint8_t *ref,
int ref_stride, const uint8_t *mask,
int mask_stride, int invert_mask);
#endif // CONFIG_AV1 #endif // CONFIG_AV1
#if CONFIG_AV1 #if CONFIG_AV1
......
...@@ -1095,18 +1095,3 @@ INLINE void aom_comp_mask_pred_ssse3(uint8_t *comp_pred, const uint8_t *pred, ...@@ -1095,18 +1095,3 @@ INLINE void aom_comp_mask_pred_ssse3(uint8_t *comp_pred, const uint8_t *pred,
i += 2; i += 2;
} while (i < height); } while (i < height);
} }
void aom_comp_mask_upsampled_pred_ssse3(uint8_t *comp_pred, const uint8_t *pred,
int width, int height, int subpel_x_q3,
int subpel_y_q3, const uint8_t *ref,
int ref_stride, const uint8_t *mask,
int mask_stride, int invert_mask) {
if (subpel_x_q3 || subpel_y_q3) {
aom_upsampled_pred(comp_pred, width, height, subpel_x_q3, subpel_y_q3, ref,
ref_stride);
ref = comp_pred;
ref_stride = width;
}
aom_comp_mask_pred_ssse3(comp_pred, pred, width, height, ref, ref_stride,
mask, mask_stride, invert_mask);
}
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment